• info@mts.la
  • 030 5721355
  • 020 28800770

ວິທີຕິດຕັ້ງ Webserver ໃສ່ Virtualbox ຫຼື Server ແທ້

ວິທີການຕິດຕັ້ງ Web Server ໂດຍໃຊ້ Webmin/Virtualmin, Nginx, Mariandb, PHP7

1.  ຂັ້ນຕອນການ Setup Linux ແລະ ກະກຽມຄວາມພ້ອມໃຫ້ກັບ linux

ສໍາລັບບົດຮຽນສໍາລັບການຕິດຕັ້ງ Web Server ນີ້ແມ່ນສາມາດເອົາໄປຕິດຕັ້ງໄດ້ທັງ Server ທີ່ເປັນແບບຂອງແທ້ ແລະ Server ຈໍາລອງຂື້ນມາໂດຍໃຊ້ Program Virtual box. ການຕິດຕັ້ງ Web Server ໂຕນີ້ແມ່ນຈະຕິດຕັ້ງລະບົບ Web Server ທີ່ທັນສະໃໝ່ ເຊີ່ງເໝາະແກ່ການໃຊ້ງານໃນອີກຫຼາຍປີໃນອານາຄົດ. ເຊີ່ງພວກເຮົາໄດ້ເລືອກໃຊ້ Script ຂອງທາງ Webmin / Virtualmin ເຊີ່ງກໍາລັງໄດ້ຮັບຄວາມນິຍົມ ແລະ ທີ່ສໍາຄັນແມ່ນເປັນ ລະບົບ ທີ່ເປັນ GPL ໝາຍເຖິງສາມາດໃຊ້ງານໄດ້ Free ໂດຍບໍ່ເສຍຄ່າໃຊ້ຈ່າຍສໍາລັບ Software.

ແຕ່ເນື່ອງຈາກວ່າ ເວລາເຮົາຕິດຕັ້ງ ລະບົບ ຂອງ Webmin / Virtualmin ມັນຈະຕິດຕັ້ງ APACHE ໃຫ້ເອງ ແລະ ລົງ PHP5.4 ພ້ອມກັບ Mysql 5.5 ເພື່ອພ້ອມທີ່ຈະໃຊ້ງານມາໃຫ້ພ້ອມ. ເຊີ່ງຖ້າຜູ້ໃດ ເຫັນວ່າສິງທີ່ Webmin ແລະ Virtualmin ໃຫ້ມາແມ່ນພຽງພໍ່ແລ້ວກໍ່ Install ແລະ ສາມາດນໍາໃຊ້ໄດ້ເລີ່ຍໂດຍບໍ່ຕ້ອງ Configure ຍັງເພີ່ມເຕີ່ມ.   ແຕ່ຖ້າຫາກທ່ານຕ້ອງການລະບົບ Server ທີ່ປະເມີນຜົນໄດ້ໄວ້ກ່ອນ ທ່ານຈະຕ້ອງໄດ້ Configure ເພີ່ມເພື່ອປະສິດທີພາບອັນສູງສຸດສໍາລັບການໃຊ້ງານຂອງລະບົບ Web Server ເຊີ່ງໃນຕົວຢ່າງນີ້ ເຮົາຈະເອົາ Apache ອອກ ແລ້ວແທນທີ່ດຽວ NGINX ເຊີ່ງເປັນຕົວປະເມີນຜົນ PHP ທີ່ໄວ້ກ່ອນຂອງທາງ Apache ແລະ ເປີດນໍາໃຊ້ HTTP2 ແທ່ນ HTTP1 ເຊີ່ງຈະເຮັດໃຫ້ເວັບໄຊທ ສາມາດສົ່ງຂໍ້ມູນໄດ້ໄວ້ຂື້ນ ພ້ອມກັບປ່ຽນລະບົບຖານຂໍ້ມູນຈາກ MySQL 5.4 ມາເປັນ MarianDB 10 ເຊີ່ງແນ່ນອນໄວ້ກ່ອນ MySQL ຫຼາຍ.  ສະນັ້ນເຮົາມາເບີ່ງວີທີການ Setup ກັນເລີ່ຍ.

ຂັ້ນຕອນທໍາອິດແມ່ນການສ້າງ Virtualbox ຂື້ນມາ

ຫຼັງຈາກນັ້ນແມ່ນເລີ່ມດ້ວຍການອັບເດດລະບົບເປັນໂຕຫລ້າສຸດ ໂດຍ run ຄໍາສັ່ງ

[root@server ~]# yum update -y

[root@server ~]# yum install -y nano

[root@server ~]# yum install -y net-tools

[root@server ~]# yum install -y wget

[root@server ~]# yum install -y perl


ເຮົາສາມາດremote ເຂົ້າໄປຫາ Server ໂດຍຜ່ານ SSH ໃນ ໃນprogram putty

hackTB:~ Tibee$ ssh root@103.253.146.224


ກໍ່ລະນີຖ້າຍັງບໍ່ທັນໄດ້ຕິດຕັ້ງ User ແມ່ນໃຫ້ສ້າງ ຂື້ນມາເພື່ອໃຊ້ ແທນ Root ຖ້າຕັ້ງແລ້ວກໍ່ຂ້າມຂັນຕອນນີ້ໄປ

[root@server ~]# adduser admin

ແລະຕິດຕາມດ້ວຍການຕັ້ງ password ໃຫ້ກັບ user

[root@server ~]# passwd admin

ຫລັງຈາກນັ້ນແມ່ນການຕັ້ງ permission ໃຫ້ກັບ user ໃຫ້ສາມາດໃຊ້ຄໍາສັ່ງຂອງ admin ໄດ້ ເຊີ່ງຫຼັງຈາກນັ້ນ user ຈະສາມາດໃຊ້ Sudo ໃນການໃຊ້ຄໍາສັ່ງ admin

[root@server ~]# gpasswd -a admin wheel

ຕໍ່ມາແມ່ນສັ່ງໃຫ້ລະບົບອັບເດດຕົວເອງໃຫ້ເປັນລະບົບຫຼ້າສຸດ ເພື່ອຄວາມປອດໄພຂອງລະບົບ


ຫລັງຈາກນັ້ນເຮົາມາຕັ້ງວັນທີ່ ແລະ ເວລາໃຫ້ກັບລະບົບຂອງເຮົາ

[root@server ~]# timedatectl set-timezone Asia/Vientiane

ເຮົາສາມາດກວດເບີ່ງວ່າວັນທີ ແລະ ເວລາຖືກຕ້ອງຕາມບານເຮົາບໍ່ແມ່ນໃຊ້ຄໍາສັ່ງ

[root@server ~]# timedatectl

ຫລັງຈາກນັ້ນຕັ້ງເວລາໃຫ້ມັນເຊື່ອມກັບລະບົບໂມງໃນໂລກນີ້

[root@server ~]# yum install ntp -y

ແລະຕາມດ້ວຍໃຫ້ເວລາມັນເລີ່ມຕົ້ນເວລາເຮົາເປີດເຄື່ອງ ແລະ restart ເຄື່ອງ

[root@server ~]# systemctl start ntpd

[root@server ~]# systemctl enable ntpd


ຂັ້ນຕອນການສ້າງ memory ສໍາຮອງໂດຍໃຊ້ພື້ນທີ່ຈາກ Hard drive

ເລີ່ມດ້ວຍຄໍາສັ່ງດັ່ງລຸ່ມນີ້ ແລະ ໃຫ້ລະບຸຈໍານວນ ໜ່ວຍຄວາມຈໍາທີ່ຕ້ອງການວ່າຢາກໄດ້ທໍໃດ ໃນຕົວຢ່າງນີ້ແມ່ນຈະໃຊ້ເປັນ 8G

[root@server ~]# fallocate -l 8G /swapfile

[root@server ~]# chmod 600 /swapfile

[root@server ~]# mkswap /swapfile

[root@server ~]# swapon /swapfile

[root@server ~]# sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'


2. ຂັ້ນຕອນການຕິດຕັ້ງ MarianDB 10.1.2 MySQL server

ຕໍ່ໄປແມ່ນການຕິດຕັ້ງ MySQL server ສໍາລັບໃຊ້ເປັນການກັບຂໍ້ມູນທີ່ເປັນຖານຂໍ້ມູນ. ປະຈຸບັນເຮົາຈະໃຊ້ MarianDB 10.1 ແທນ MySQL version 5.5 ຫຼື 5.6 ເໜື່ອງຈາກປະສິດທິພາບຂອງ MarianDB ແມ່ນດີກວ່າ ແລະ ໄວກວ່າ MySQL ຫຼາຍເທົ່າ. ເຊີ່ງເຮົາຈະມາເບີ່ງວິທີ່ການຕິດຕັ້ງກັນເລີ່ຍ.

ສ້າງ file ຂື້ນມາເພື່ອໃສ່ທີ່ຢູ່ຂອງ Mariandb ທີ່ເຮົາຈະດາວໂລດມາໃຊ້

[root@server ~]# nano /etc/yum.repos.d/MariaDB10.repo

ແລະ copy code ທີ່ຢູ່ໃນນີ້ໄປໃສ່ໃນ file ທີ່ສ້າງມາຫຼັງຈາກນັ້ນແມ່ນ ໃຫ້ ກົດ control+o ແລະ ກົດ enter ສໍາລັບ save ແລ້ວຕໍ່ດ້ວຍ control+x ສໍາລັບອອກຈາກ nano

# MariaDB 10.1 CentOS repository list - created 2016-01-18 09:58 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

ຕໍ່ມາແມ່ນການ clean cached ຂອງການ install ຄ່າເກົ່າອອກໂດຍໃຊ້ຄໍາສັ່ງ

[root@server ~]# yum clean all

ແລະ ກໍ່ຕາມດຽວຄໍາສັ່ງການ install MarianDB

[root@server ~]# yum -y install MariaDB-server MariaDB-client

ຫຼັງຈາກ Install ສໍາລັດ ກໍ່ start ຫຼື ເລີ່ມໃຊ້ MarianDB

[root@server ~]# systemctl start mariadb

ແລ້ວກໍ່ສັ່ງໃຫ້ MarianDB start ເມືອເວລາເຄື່ອງ Restart ຫຼື ເລີ່ມໃໝ່

[root@server ~]# systemctl enable mariadb

ເຮົາສາມາດກວດສອບວ່າ MarianDB ທີ່ເຮົາລົງໄປແມ່ນ Version ຫຍັງໂດຍການພີ່ມ ຖ້າຢາກອອກຈາກຄໍາສັ່ງ SQL ແມ່ນພີ່ມຄໍາວ່າ quit

[root@server ~]# mysql -v

ຕໍ່ໄປແມ່ນການກວດສອບຄ່າຕ່າງຂອງ MarianDB ຫຼັງຈາກຕິດຕັ້ງແລ້ວໂດຍພີ່ມຄໍາສັ່ງ

[root@server ~]# mysql_secure_installation

ເລີ່ມດ້ວຍການຕັ້ງpassword ໃຫ້ກັບ Root ຂອງ MarianDB ກົດ Enter ບາດໜື່ງ ແລ້ວມັນຈະຖາມວ່າຕ້ອງການໃຊ້ password ບໍ່ໃຫ້ກົດ y enter ແລ້ວໃຊ້ password ເຂົ້າໄປສອງຄັ້ງໃຫ້ຄືກັນ ຫຼັງຈາກນັ້ນ ກໍ່ເຮັດຕາມຂັ້ນຕອນຕໍ່ໄປ ໃຫ້ກົດ y ໄປຕະຫລອດຈົນກວ່າສໍາເລັດ


4. ຂັ້ນຕອນການຕິດຕັ້ງ Webmin ແລະ Virtualmin

ການຕິດຕັ້ງ Virtualmin

ສໍາລັບການຕິດຕັ້ງ Virtualmin ໂດຍປົກກະຕິແລ້ວເຮົາສາມາດ ດາວໂລດ code ໄດ້ຈາກ https://www.virtualmin.com/download.html  ແລ້ວກໍ່ copy ເອົາ code ມາຕິດຕັ້ງໄດ້ເລີ່ຍ ເຊີ່ງເວລາຕິດຕັ້ງໄປແລ້ວ ເຮົາຈະໄດ້ PHP5.4 ເຂົ້າໄປໃຊ້ໃນລະບົບ ເຊີ່ງຖ້າຜູ້ໃດບໍ່ມີບັນຫາກັບ PHP5.4 ແມ່ນສາມາດ copy ເອົາ Code ຕິດຕັ້ງຢູ່ລຸ່ມນີ້ໄປຕິດຕັ້ງໄດ້ເລີ່ຍ.

[root@server ~]# wget http://software.virtualmin.com/gpl/scripts/install.sh

ຫລັງຈາກດາວໂລດ file ຕິດຕັ້ງລົງມາໄວ້ເຄື່ອງ Server ຂອງພວກເຮົາແລ້ວ ຂັນຕອນຕໍ່ໄປກໍ່ແມ່ນ ໃຊ້ຄໍາສັ່ງເພື່ອຕິດຕັ້ງເລີ່ຍໂດຍພີມ ໂດຍໃນການຕິດຕັ້ງແມ່ນຈະມີໃຫ້ເລືອກ 2 ແບບ ກະຄືແບບ LAMP ຫລື ໃຊ້ Apace ແລະ ແບບ LEMP ໂດຍໃຊ້ Nginx ໃນການລັນການໃຊ້ງານ

[root@server ~]# sh install.sh -b LEMP

ແລ້ວກໍ່ກົດ Yes ແລ້ວ ກໍ່ຖ້າມັນຕິດຕັ້ງຈົນສໍາເລັດ ເຊີ່ງຈະໃຊ້ເວລາພໍສົມຄວນປະມານ ລະບົບມັນຈະດາວໂລດ file ຈາກອີນເຕີເນັດປະມານ 650MB ເຊີ່ງໃຊ້ເວລາ 40ນາທີ ຫຼື 1-2 ຊົ່ວໂມງ ຫຼື ແລ້ວແຕ່ອີນເຕີເນັດຂອງແຕ່ລະຄົນ.

5. ຂັ້ນຕອນການ ປ່ຽນຈາກ PHP5.4 ມາເປັນແບບ PHP7.0

ກ່ອນທີ່ຈະຕິດຕັ້ງ PHP 7 ເຂົ້າໄປໃນລະບົບ ເຮົາຕ້ອງໄດ້ລືບເອົາ PHP5 ທີ່ມາກັບ Centos ກ່ອນ ໂດຍໃຊ້ຄໍາສັ່ງ

[root@server ~]# yum remove php-cli mod_php php-common

ຫລັງຈາກນັ້ນດື່ງເອົາ File ຕິດຕັ້ງຈາກ core ຂອງ Centos ມາໃສ່ໃນເຄື່ອງ

[root@server ~]# curl 'https://setup.ius.io/' -o setup-ius.sh

[root@server ~]# sh setup-ius.sh

ແລ້ວກໍ່ຕິດຕັ້ງ PHP7 ເພື່ອໃຫ້ມັນໄປປ່ຽນຂອງລະບົບ core ຂອງ Centos

[root@server ~]# yum install -y mod_php70u php70u-cli php70u-mysqlnd

[root@server ~]# yum remove php70u-common

ຕໍ່ໄປແມ່ນການຕິດຕັ້ງ PHP7 ສໍາລັບ Virtualmin ເຊີ່ງ PHP7 ແມ່ນຈະມີປະສິດທີພາບທີ່ດີ ແລະ ໄວກ່ອນເກົ່າ ແລະ ການນໍາໃຊ້ WordPress ໃນປະຈຸບັນກໍ່ແນະນໍາໃຫ້ຄົນ install PHPເວີຊັນ 7 ຫຼື ສູງກວ່າເພື່ອປະສິດທິພາບສູງສຸດ

ເລີ່ມຕົ້ນດ້ວຍການດື່ງ Source ຂອງ PHP ມາໃສ່ໃນ Centos ຂອງພວກເຮົາ

[root@server ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

[root@server ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

[root@server ~]# yum install yum-utils -y

[root@server ~]# yum-config-manager --enable remi-php70

[root@server ~]# yum update

[root@server ~]# yum -y install php70w php70w-xml php70w-gd php70w-fpm php70w-imap php70w-mysql php70w-odbc php70w-pear php70w-opcache php70w-soap php70w-xmlrpc php70w-pgsql php70w-snmp php70w-mbstring php70-php-mcrypt

ຫຼັງຈາກທີ່ຕິດຕັ້ງ PHP7 ສໍາເລັດກວດສອບເບີ່ງວ່າ PHPທີ່ເຮົາຕິດຕັ້ງມາແມ່ນ ເວີຊັນ 7 ແທ້ບໍ່ໂດ້ໃຊ້ຄໍາສັ່ງ

[root@server ~]# php -v

6. ຂັ້ນຕອນການຕິດຕັ້ງ NGINX Engine ສໍາລັບ Virtualmin

NGINX ເປັນລະບົບປະມ່ວນຜົນຂອງພາສາ PHP ທີ່ມີປະສິດທິພາບທີ່ສູງກວ່າ Apache ເຊີ່ງໃນ Web Server ທີ່ເປັນແບບໃໝ່ແມ່ນສ່ວນຫຼາຍຈະນິຍົມໃຊ້ NGINX ຫຼາຍເນື້ອຈາກມັນເຮັດວຽກໄດ້ໄວ ແລະ ໃຊ້ຊັບພະຍາກ່ອນເຄື່ອງບໍ່ຫຼາຍ. ເຮົາມາເບີ່ງວີ່ທີ່ການຕິດຕັ້ງ NGINX ໃຫ້ກັບ Virtualmin ຂອງເຮົາກັນເລີ່ຍ

ເນື້ອງຈາກເວລາເຮົາລົງ Virtualmin ເຮົາໄດ້ເລື່ອກລະບົບໃຫ້ເປັນ ແບບ LEMP ແລ້ວ ສະນັ້ນເຮົາບໍ່ຈໍາເປັນຕ້ອງຕິດຕັ້ງ script ຂອງ NGNIX ອີກມີແຕ່ຕ້ອງຕິດຕັ້ງໂຕທີ່ຈະໄປຄວບຄຸມຢູ່ Virtualmin ແທ່ນ ເຊີ່ງເຮົາສາມາດຕິດຕັ້ງໄດ້ດັ່ງນີ້.

ທໍາອິດເຮົາຕ້ອງ ມອດ Apache ທີ່ຕິດຕັ້ງມາກັບ Virtualmin ກັນກ່ອນເພື່ອບໍ່ໃຫ້ມັນໄປຕໍາກັນກັບ NGINX ເຊີ່ງວິທີ່ການມອດ ແມ່ນໃຫ້ໃຊ້ ສອງຄໍາສັ່ງດັ່ງລຸ່ມນີ້:

[root@server ~]# systemctl stop httpd

[root@server ~]# systemctl disable httpd

ແລະ ຂັ້ນຕອນສຸດ ທ້າຍແມ່ນການ install NGINX module ເພື່ອທີ່ຈະສາມາດບໍລິຫານຈັດການຢູ່ໃນ Webmin – Virtualmin ໄດ້ແບບສະບາຍ

[root@server ~]# yum -y install wbm-virtualmin-nginx wbm-virtualmin-nginx-ssl

[root@server ~]# systemctl start nginx

[root@server ~]# systemctl enable nginx

7. ຂັ້ນຕອນການ Configure Webmin/Virtual ມີນໃນຂັ້ນຕອນທໍາອິດ

ຫຼັງຈາກຕິດຕັ້ງສໍາເລັດໝົດແລ້ວ ຂັ້ນຕອນຕໍ່ມາແມ່ນໃຫ້ ເປີດ browser ຂື້ນມາເພື່ອໄປຕັ້ງຄ່າ ຂອງ Webmin Virtualmin

ຂັນຕອນກວດສອບ network ສໍາລັບເຄື່ອງສ່ວນຕົວ laptop ທີ່ຕັ້ງ Virtualbox ໃສ່ເປັນລະບົບທົດລອງ(ສໍາລັບທົດລອງໃຊ້ກັບ Notwork ຢ່າງດຽວເວລາເຮັດ Server ແທ້ຕ້ອງໄດ້ເບີ່ງ network Card ນໍາ)

[root@server ~]# nano /etc/sysconfig/network-scripts/ifcfg-enp0s8

ແລ້ວພີ່ມເພີ່ມ ສອງແຖວນີ້ເພີ່ມເຂົ້າໄປໃນ

DNS1=127.0.0.1

DNS2=8.8.8.8

[root@server ~]# service network restart

ກວດສອບຄ່າ resolv ຖືກຕ້ອງບໍ່ແມ່ນພີ່ມຄໍາສັ່ງ

[root@server ~]# cat /etc/resolv.conf

ຫລັງຈາກນັ້ນແມ່ນໃຫ້ໄປຕັ້ງຄ່າ Nginx ແລະ ກຽມລະບົບເພື່ອສ້າງ domain ຂຶ້ນມາ.

8. ການຕັ້ງຄ່າ ProFTPD ເພື່ອໃຊ້ງານ FTP ສໍາລັບເວັບໄຊທ

ຫຼັງຈາກຕິດຕັ້ງສໍາເລັດໝົດແລ້ວ ຂັ້ນຕອນຕໍ່ມາແມ່ນໃຫ້ ເປີດ browser ຂື້ນມາເພື່ອໄປຕັ້ງຄ່າ ຂອງ Webmin Virtualmin

9. ການຕັ້ງຄ່າ Postfix ສໍາລັບໃຊ້ງານຮັບສົ່ງ email ຂອງ Server

ຫຼັງຈາກຕິດຕັ້ງສໍາເລັດໝົດແລ້ວ ຂັ້ນຕອນຕໍ່ມາແມ່ນໃຫ້ ເປີດ browser ຂື້ນມາເພື່ອໄປຕັ້ງຄ່າ ຂອງ Webmin Virtualmin

7. ຂັ້ນຕອນການຕິດຕັ້ງ Firewall CSF ເພື່ອເພີ່ມຄວາມປອດໄພໃຫ້ກັບລະບົບ

ເພື່ອຄວາມປອດໄພຂອງລະບົບ Web Server ເຮົາຄວນຕິດຕັ້ງ Firewall ເພື່ອປ້ອງກັນການໂຈມຕີຈາກທາງນອກເຂົ້າມາຫາ ລະບົບ Server ຂອງພວກເຮົາ. ເຊີ່ງ Firewall ທີ່ເຮົາຈະໃຊ້ ແມ່ນເປັນ CSF ເຊີ່ງມີຄວາມສະຖຽນສູງ ແລະ ໃຊ້ງານຫຼາຍໃນຫຼາຍເວັບໄຊທ.  ມາເບີ່ງວິທີການຕິດຕັ້ງກັນເລີ່ຍ.

[root@server ~]# wget https://download.configserver.com/csf.tgz

[root@server ~]# tar -xzf csf.tgz

[root@server ~]# cd csf

[root@server ~]# sh install.sh

ທໍ່ນີກໍ່ສໍາເລັດການຕິດຕັ້ງ Firewall ຫຼັງຈາກນັ້ນຂັ້ນຕອນຕໍ່ໄປແມ່ນໃຫ້ເຮົາໄປເພີ່ມສ່ວນບໍລິຫານຂອງ Firewall ເຂົ້າໄປຢູ່ໃນ Webmin Configuration > Module > ແລ້ວໃຫ້ເຮົາຕື່ມທີ່ຢູ່ /usr/local/csf/csfwebmin.tgz ເຂົ້າໄປ ແລ້ວກໍ່ກົດ Install Module .

ຂັ້ນຕອນການ Configure DNS

ຂັ້ນຕອນການ Configure ອີເມວ