ຕິດຕັ້ງ LEMP - Nginx, PHP, MariaDB ແລະ PhpMyAdmin ໃນ OpenSUSE
LEMP ຫຼື Linux, Engine-x, MySQL ແລະ PHP stack ແມ່ນຊຸດຊອບແວທີ່ປະກອບດ້ວຍຊອບແວ open source ທີ່ຕິດຕັ້ງຢູ່ໃນລະບົບປະຕິບັດການ Linux ສຳ ລັບໃຊ້ງານ web based web applications ທີ່ ນຳ ໃຊ້ໂດຍ Nginx HTTP server ແລະລະບົບຈັດການຖານຂໍ້ມູນ MySQL/MariaDB.
ບົດແນະ ນຳ ນີ້ຈະແນະ ນຳ ທ່ານກ່ຽວກັບວິທີຕິດຕັ້ງ LEMP stack ດ້ວຍ Nginx, MariaDB, PHP, PHP-FPM ແລະ PhpMyAdmin ໃນ OpenSuse server/desktop editions.
ການຕິດຕັ້ງ Nginx HTTP Server
Nginx ແມ່ນເຄື່ອງແມ່ຂ່າຍ HTTP ແລະ proxy ທີ່ໄວແລະເຊື່ອຖືໄດ້ເຊິ່ງສາມາດຈັດການກັບການຮ້ອງຂໍ HTTP ທີ່ສູງຂື້ນ. ມັນໃຊ້ວິທີການແບບບັງຄັບເຫດການໃນການຈັດການກັບການຮ້ອງຂໍ, ແລະສະຖາປັດຕະຍະ ກຳ ແບບເຄື່ອນໄຫວແບບໂມເດວຂອງມັນສາມາດໃຫ້ການປະຕິບັດທີ່ຄາດເດົາໄດ້ຫຼາຍຂື້ນພາຍໃຕ້ການໂຫຼດທີ່ສູງ.
ການຕິດຕັ້ງ Nginx ໃນ OpenSuse, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.
$ sudo zypper install nginx
ເມື່ອ Nginx ຕິດຕັ້ງແລ້ວ, ທ່ານສາມາດເລີ່ມຕົ້ນໃຫ້ບໍລິການ ສຳ ລັບດຽວນີ້, ຫຼັງຈາກນັ້ນໃຫ້ມັນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດໃນເວລາບູດແລະກວດສອບສະຖານະຂອງ Nginx ໂດຍການແລ່ນ ຄຳ ສັ່ງຕໍ່ໄປນີ້.
$ sudo systemctl start nginx $ sudo systemctl enable nginx $ sudo systemctl status nginx
ໃນຈຸດນີ້, ເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Nginx ຄວນຈະຂຶ້ນແລະແລ່ນ, ທ່ານຍັງສາມາດກວດສອບສະຖານະພາບໂດຍໃຊ້ ຄຳ ສັ່ງ netstat ດັ່ງທີ່ສະແດງໄວ້.
$ sudo netstat -tlpn | grep nginx
ຕອນນີ້, ພວກເຮົາຕ້ອງການທົດສອບວ່າການຕິດຕັ້ງ Nginx ເຮັດວຽກໄດ້ດີຫລືບໍ່. ບໍ່ຄືກັບການແຈກຈ່າຍ Linux ອື່ນໆ, ພາຍໃຕ້ openSUSE, Nginx ບໍ່ມີເອກະສານ index.html
ມາດຕະຖານໃນໂຟນເດີຮາກເວັບ. ພວກເຮົາຕ້ອງສ້າງເອກະສານ index.html
ໃໝ່ ພາຍໃຕ້ລະບົບຮາກເວັບໄຊຕ໌ "/ srv/www/htdocs"
ຄືດັ່ງທີ່ສະແດງ.
$ echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html
ຖ້າທ່ານໄດ້ຕິດຕັ້ງ firewalld, ທ່ານຕ້ອງເປີດ port 80 ແລະ 443 ເພື່ອອະນຸຍາດໃຫ້ມີການເຂົ້າຊົມເວັບໃນ firewall.
$ sudo firewall-cmd --permanent --add-port=80/tcp $ sudo firewall-cmd --permanent --add-port=443/tcp $ sudo firewall-cmd --reload
ຕໍ່ໄປ, ເປີດຕົວທ່ອງເວັບເວັບໄຊຕ໌ແລະທ່ອງໄປຫາທີ່ຢູ່ http:// localhost
ແລະກວດສອບ ໜ້າ Nginx.
ການຕິດຕັ້ງ Server Database ຂອງ MariaDB
MariaDB ແມ່ນຄວາມຍາວຂອງສ້ອມທີ່ບໍ່ເສຍຄ່າແລະເປີດເຜີຍຂອງລະບົບການຄຸ້ມຄອງຖານຂໍ້ມູນທີ່ກ່ຽວຂ້ອງກັບ MySQL. ມັນຖືກພັດທະນາໂດຍນັກພັດທະນາຕົ້ນສະບັບຂອງ MySQL ແລະມີຈຸດປະສົງທີ່ຈະຢູ່ແບບເປີດເຜີຍ. MariaDB ແມ່ນໄວ, ສາມາດປັບຂະ ໜາດ ໄດ້ແລະແຂງແຮງ, ມີລະບົບນິເວດທີ່ອຸດົມສົມບູນຂອງເຄື່ອງຈັກໃນການເກັບຮັກສາ, ປັinsກອິນແລະເຄື່ອງມືອື່ນໆຫຼາຍຢ່າງເຮັດໃຫ້ມັນມີຄວາມຄ່ອງແຄ້ວຫຼາຍ ສຳ ລັບຫລາຍໆກໍລະນີການ ນຳ ໃຊ້.
ການຕິດຕັ້ງ MariaDB ໃນ OpenSuse, ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້.
$ sudo zypper install mariadb mariadb-client
ຕໍ່ໄປ, ເລີ່ມຕົ້ນໃຫ້ບໍລິການ MariaDB ສຳ ລັບດຽວນີ້, ຫຼັງຈາກນັ້ນໃຫ້ມັນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດໃນເວລາບູດແລະກວດເບິ່ງສະຖານະພາບຂອງມັນ.
$ sudo systemctl start mariadb $ sudo systemctl enable mariadb $ sudo systemctl status mariadb
ຂັ້ນຕອນ ສຳ ຄັນຕໍ່ໄປພາຍໃຕ້ພາກນີ້ແມ່ນການຮັບປະກັນການຕິດຕັ້ງເຊີບເວີ MariaDB. ດັ່ງນັ້ນ, ດຳ ເນີນການຂຽນ ຄຳ ສັ່ງດ້ານຄວາມປອດໄພທີ່ຂົນສົ່ງກັບຊຸດ MariaDB, ດັ່ງທີ່ສະແດງໄວ້.
ໝາຍ ເຫດ: ການແລ່ນສະຄິບຄວາມປອດໄພຂອງ MariaDB ແລະທຸກພາກສ່ວນຂອງມັນແມ່ນຖືກແນະ ນຳ ໃຫ້ເປັນຢ່າງສູງ ສຳ ລັບເຄື່ອງແມ່ຂ່າຍຂອງ MariaDB ທັງ ໝົດ ໃນການຜະລິດ.
$ sudo mysql_secure_installation
ຫຼັງຈາກແລ່ນສະຄິບແລ້ວ, ໃຫ້ອ່ານ ຄຳ ອະທິບາຍໃນແຕ່ລະບາດກ້າວຢ່າງລະມັດລະວັງ. ທ່ານຄວນຕັ້ງລະຫັດລັບຜູ້ໃຊ້ຮາກ, ເອົາຜູ້ໃຊ້ທີ່ບໍ່ລະບຸຊື່ອອກ, ປິດການເຂົ້າເຖິງຮາກຫ່າງໄກສອກຫຼີກ, ເອົາຖານຂໍ້ມູນທົດສອບແລະເຂົ້າໃຊ້ມັນແລະສຸດທ້າຍຈະໂຫລດຕາຕະລາງສິດທິພິເສດ.
ການຕິດຕັ້ງແລະການຕັ້ງຄ່າ PHP ແລະ PHP-FPM
PHP-FPM (ສັ້ນ ສຳ ລັບຜູ້ຈັດການໂປຣແກຣມ PHP FastCGI) ແມ່ນ daemon FastCGI ທີ່ເປັນທາງເລືອກ ສຳ ລັບ PHP ທີ່ມີບາງລັກສະນະເພີ່ມເຕີມແລະຖືກອອກແບບມາເພື່ອຈັດການກັບການໂຫຼດສູງ. ມັນຮັກສາສະລອຍນ້ ຳ (ພະນັກງານທີ່ສາມາດຕອບສະ ໜອງ ຄຳ ຮ້ອງຂໍຂອງ PHP) ເພື່ອເຮັດ ສຳ ເລັດສິ່ງນີ້. ສິ່ງທີ່ ສຳ ຄັນ, ມັນໄວກວ່າວິທີການທີ່ອີງໃສ່ແບບ CGI ແບບດັ້ງເດີມ, ເຊັ່ນ SUPHP, ສຳ ລັບສະພາບແວດລ້ອມ PHP ທີ່ມີຜູ້ ນຳ ໃຊ້ຫຼາຍຄົນ.
ການຕິດຕັ້ງ PHP ແລະ PHP-FPM ພ້ອມກັບໂມດູນທີ່ ຈຳ ເປັນ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.
$ sudo zypper install php php-mysql php-fpm php-gd php-mbstring
ກ່ອນທີ່ພວກເຮົາຈະເລີ່ມ ດຳ ເນີນການບໍລິການຂອງ PHP-FPM, ພວກເຮົາຕ້ອງສ້າງເອກະສານການຕັ້ງຄ່າທີ່ຕ້ອງການຈາກແຟ້ມຄ່າເລີ່ມຕົ້ນທີ່ໃຫ້ໃນລະຫວ່າງການຕິດຕັ້ງ, ແລະ ກຳ ນົດຄ່າບໍລິການທີ່ກຽມພ້ອມ ສຳ ລັບການ ດຳ ເນີນງານ.
$ sudo cp /etc/php7/fpm/php-fpm.conf.default /etc/php7/fpm/php-fpm.conf $ sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf
ຫຼັງຈາກນັ້ນເປີດເອກະສານການຕັ້ງຄ່າ php-fpm.conf
ຕົ້ນຕໍເພື່ອແກ້ໄຂ.
$ sudo vim /etc/php7/fpm/php-fpm.conf
ບໍ່ປະຕິບັດຕາມສາຍຕໍ່ໄປນີ້ທີ່ເລກທີ 24 ຕາມທີ່ສະແດງ.
error_log = log/php-fpm.log
ບັນທຶກແລະປິດແຟ້ມ.
ຕໍ່ໄປ, ພວກເຮົາ ຈຳ ເປັນຕ້ອງ ກຳ ນົດການຕັ້ງຄ່າທີ່ຖືກຕ້ອງ ສຳ ລັບສະລອຍນ້ ຳ ທີ່ ກຳ ນົດໄວ້ໃນເອກະສານການຕັ້ງຄ່າ www.conf
.
$ sudo vim /etc/php7/fpm/php-fpm.d/www.conf
ກ່ອນອື່ນ ໝົດ, ກຳ ນົດເຈົ້າຂອງ Unix ແລະເຈົ້າຂອງກຸ່ມຂອງຂະບວນການໃຫ້ກັບຜູ້ໃຊ້ແລະກຸ່ມ Nginx. ເຮັດແບບນີ້ໂດຍການປ່ຽນຄຸນຄ່າຂອງຕົວ ກຳ ນົດການຂອງຜູ້ໃຊ້ແລະກຸ່ມຈາກ ບໍ່ມີໃຜ
ເປັນ nginx
user = nginx group = nginx
ຕອນນີ້ບັນທຶກການປ່ຽນແປງຂອງເອກະສານແລ້ວອອກຈາກມັນ.
ນອກຈາກນັ້ນ, ຍັງມີການຕັ້ງຄ່າທີ່ ສຳ ຄັນອີກອັນ ໜຶ່ງ ທີ່ຕ້ອງເຮັດ, ເຊິ່ງຮັບປະກັນ PHP-FPM ໃນແຟ້ມ /etc/php/cli/php.ini
.
$ sudo vim /etc/php7/cli/php.ini
ຄົ້ນຫາເສັ້ນ ; cgi.fix_pathinfo = 1
ແລະປ່ຽນມັນ.
cgi.fix_pathinfo=0
ບັນທຶກການປ່ຽນແປງຂອງເອກະສານແລະອອກ.
ຕໍ່ໄປ, ເລີ່ມການບໍລິການ PHP-FPM ສຳ ລັບດຽວນີ້, ຫຼັງຈາກນັ້ນໃຫ້ມັນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດໃນເວລາບູດແລະກວດເບິ່ງສະຖານະຂອງມັນ.
$ sudo systemctl start php-fpm $ sudo systemctl enable php-fpm $ sudo systemctl status php-fpm
ການຕັ້ງຄ່າ Nginx ເພື່ອເຮັດວຽກກັບ PHP-FPM
ໃນຈຸດນີ້, ພວກເຮົາ ຈຳ ເປັນຕ້ອງ ກຳ ຫນົດຄ່າ Nginx ເພື່ອເຮັດວຽກກັບ PHP-FPM ໃນແຟ້ມຄ່າຕັ້ງຄ່າ Nginx.
$ sudo vim /etc/nginx/nginx.conf
ຈາກນັ້ນຊອກຫາພາກສ່ວນຕໍ່ໄປນີ້, ແລະເພີ່ມ index.php
ໃນບັນຊີລາຍຊື່ຂອງເອກະສານດັດສະນີທີ່ຄາດຫວັງ.
location / { root /srv/www/htdocs/; index index.php index.html index.htm ; }
ຍັງຊອກຫາພາກຕໍ່ໄປນີ້ (ເຊິ່ງຄວນຈະມີ ຄຳ ເຫັນ) ສ່ວນນີ້ແມ່ນໃຊ້ໃນການຖ່າຍທອດສະຄິບ PHP ໃຫ້ກັບ server ຂອງ FastCGI ຟັງໃນ 127.0.0.1:9000
location ~ \.php$ { root /srv/www/htdocs/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
ບັນທຶກການປ່ຽນແປງຂອງເອກະສານແລະອອກ.
ການທົດສອບ Nginx ແລະ PHP-FPM
ຂັ້ນຕອນຕໍ່ໄປແມ່ນການທົດສອບຖ້າ Nginx ເຮັດວຽກໄດ້ດີສົມທົບກັບ PHP-FPM ໂດຍການສ້າງເອກະສານທົດສອບ PHP ໃໝ່ ພາຍໃຕ້ໄດເລກະທໍລີ DocumentRoot ດັ່ງທີ່ສະແດງໄວ້.
$ echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php
ຕອນນີ້ພວກເຮົາ ຈຳ ເປັນຕ້ອງກວດເບິ່ງວ່າການຕັ້ງຄ່າ Nginx ແມ່ນຖືກຕ້ອງດັ່ງຕໍ່ໄປນີ້, ກ່ອນທີ່ພວກເຮົາຈະ ດຳ ເນີນການເລີ່ມການບໍລິການ ໃໝ່.
$ sudo nginx -t
ຖ້າ syntax ການຕັ້ງຄ່າ Nginx ແມ່ນດີ, ສືບຕໍ່ເດີນຫນ້າແລະເລີ່ມການບໍລິການ Nginx ແລະ PHP-FPM ສຳ ລັບການປ່ຽນແປງ ໃໝ່ ໃນການ ນຳ ໃຊ້ efffect.
$ sudo systemctl restart nginx php-fpm
ຕອນນີ້ເປີດໂປແກຼມທ່ອງເວັບແລ້ວໄປທີ່ທີ່ຢູ່ http://localhost/info.php
ເພື່ອກວດສອບການຕັ້ງຄ່າ PHP ດັ່ງທີ່ສະແດງຢູ່ໃນ ໜ້າ ຈໍຕໍ່ໄປນີ້.
ຕິດຕັ້ງແລະຕັ້ງຄ່າ PhpMyAdmin
phpMyAdmin ແມ່ນເຄື່ອງມືທີ່ໃຊ້ງ່າຍແລະງ່າຍດາຍທີ່ນິຍົມໃຊ້ງ່າຍແລະເປັນທີ່ນິຍົມທີ່ຂຽນໄວ້ໃນ PHP, ສ້າງຂື້ນມາເພື່ອບໍລິຫານ MySQL server ຜ່ານເວັບ. ມັນສະ ໜັບ ສະ ໜູນ ການເຮັດວຽກທີ່ຫຼາກຫຼາຍໃນ MySQL ແລະ MariaDB.
ການຕິດຕັ້ງ phpMyAdmin ໃນ OpenSuse, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.
$ sudo zypper install phpMyAdmin
ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ສ້າງແຟ້ມການຕັ້ງຄ່າ vhost ໃໝ່ ສຳ ລັບເຂົ້າເຖິງ phpMyAdmin ດັ່ງທີ່ສະແດງ.
$ sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf
ຕື່ມການຕັ້ງຄ່າຕໍ່ໄປນີ້ເພື່ອຍື່ນ.
server { listen 80; server_name localhost/phpMyAdmin; root /srv/www/htdocs/phpMyAdmin; location / { try_files $uri /index.php?$args; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }
ບັນທຶກການປ່ຽນແປງແລະປິດເອກະສານ. ຫຼັງຈາກນັ້ນ, ເລີ່ມການບໍລິການ Nginx ດ້ວຍ ຄຳ ສັ່ງຕໍ່ໄປນີ້.
$ sudo systemctl restart nginx
ຕອນນີ້ເຂົ້າໄປທີ່ web browser ຂອງທ່ານແລ້ວພິມທີ່ຢູ່ http:// localhost/phpMyAdmin. ໜ້າ ເຂົ້າສູ່ລະບົບ phpMyAdmin ຄວນສະແດງຕາມ ໜ້າ ຈໍຕໍ່ໄປນີ້. ໃສ່ຂໍ້ມູນປະ ຈຳ ຕົວຜູ້ໃຊ້ເຂົ້າລະບົບຖານຂໍ້ມູນຂອງທ່ານແລະກົດເຂົ້າ.
ຫມົດເທົ່ານີ້! ໃນບົດແນະ ນຳ ນີ້, ພວກເຮົາໄດ້ອະທິບາຍໃຫ້ທ່ານຮູ້ວິທີຕິດຕັ້ງ LEMP stack ກັບ Nginx, MariaDB, PHP, PHP-FPM ແລະ PhpMyAdmin ກ່ຽວກັບ OpenSuse server/desktop editions. ຖ້າທ່ານ ກຳ ລັງປະເຊີນບັນຫາໃດ ໜຶ່ງ ໃນລະຫວ່າງການຕັ້ງຄ່າ, ໃຫ້ຖາມ ຄຳ ຖາມຂອງທ່ານຜ່ານແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.