Shigar LEMP - Nginx, PHP, MariaDB da PhpMyAdmin a cikin OpenSUSE


LEMP ko Linux, Injin-x, MySQL da tari na PHP babban tarin software ne wanda ya ƙunshi buɗaɗɗen software wanda aka sanya akan tsarin aiki na Linux don gudanar da aikace-aikacen yanar gizo na tushen PHP wanda uwar garken HTTP ta Nginx da tsarin sarrafa bayanai na MySQL/MariaDB.

Wannan koyawa za ta jagorance ku kan yadda ake shigar da tarin LEMP tare da Nginx, MariaDB, PHP, PHP-FPM da PhpMyAdmin akan bugu na OpenSuse/bugu na tebur.

Shigar da Nginx HTTP Server

Nginx mai sauri ne kuma amintaccen HTTP da uwar garken wakili wanda zai iya ɗaukar nauyin buƙatun HTTP mafi girma. Yana amfani da hanyar da ba ta dace ba don sarrafa buƙatun, kuma tsarin gine-ginen da ke tafiyar da al'amuransa na iya samar da ƙarin aikin da ake iya faɗi a ƙarƙashin manyan kaya.

Don shigar da Nginx akan OpenSuse, gudanar da umarni mai zuwa.

$ sudo zypper install nginx

Da zarar an shigar da Nginx, zaku iya fara sabis ɗin a yanzu, sannan kunna shi don farawa ta atomatik a lokacin taya kuma tabbatar da matsayin Nginx ta hanyar bin umarni masu zuwa.

$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo systemctl status nginx

A wannan gaba, uwar garken gidan yanar gizon Nginx yakamata ya tashi yana aiki, zaku iya tabbatar da matsayin ta amfani da umarnin netstat kamar yadda aka nuna.

$ sudo netstat -tlpn | grep nginx

Yanzu, muna buƙatar gwada idan shigarwar Nginx yana aiki lafiya. Ba kamar sauran rabawa na Linux ba, a ƙarƙashin openSUSE, Nginx ba shi da ma'auni index.html daftarin aiki a cikin babban fayil tushen yanar gizo. Muna buƙatar ƙirƙirar sabon fayil na index.html a ƙarƙashin tushen adireshin gidan yanar gizon \/srv/www/htdocs\ kamar yadda aka nuna.

$ echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html

Idan an shigar da Firewalld, kuna buƙatar buɗe tashar jiragen ruwa 80 da 443 don ba da damar zirga-zirgar gidan yanar gizo akan Tacewar zaɓi.

$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload

Bayan haka, buɗe mai binciken gidan yanar gizo kuma kewaya zuwa adireshin http://localhost kuma tabbatar da shafin Nginx.

Shigar da MariaDB Database Server

MariaDB cokali mai yatsa ce mai kyauta kuma buɗaɗɗen tsarin gudanarwar bayanai na MySQL. Masu haɓakawa na asali na MySQL ne suka haɓaka shi kuma an yi niyya don kasancewa a buɗe tushen. MariaDB yana da sauri, mai daidaitawa kuma mai ƙarfi, tare da wadataccen yanayin muhalli na injunan ajiya, plugins da sauran kayan aikin da yawa suna sa ya zama mai fa'ida don nau'ikan amfani da yawa.

Don shigar da MariaDB akan OpenSuse, gudanar da umarni mai zuwa.

$ sudo zypper install mariadb mariadb-client 

Na gaba, fara sabis na MariaDB a yanzu, sannan kunna shi don farawa ta atomatik a lokacin taya kuma duba matsayinsa.

$ sudo systemctl start mariadb 
$ sudo systemctl enable mariadb 
$ sudo systemctl status mariadb 

Mataki na gaba mai mahimmanci a ƙarƙashin wannan sashe shine tabbatar da shigarwar uwar garken MariaDB. Don haka gudanar da rubutun tsaro wanda ke jigilar kaya tare da kunshin MariaDB, kamar yadda aka nuna.

Lura: Gudun rubutun tsaro na MariaDB da duk sassansa ana ba da shawarar sosai ga duk sabar MariaDB a samarwa.

$ sudo mysql_secure_installation 

Bayan gudanar da rubutun, karanta bayanin a kowane mataki a hankali. Ya kamata ku saita kalmar sirri ta tushen mai amfani, cire masu amfani da ba a san su ba, kashe tushen tushen nesa, cire bayanan gwajin da samun dama gare shi sannan a sake shigar da teburin gata.

Shigarwa da Sanya PHP da PHP-FPM

PHP-FPM (gajeren don PHP FastCGI Process Manager) shine madadin FastCGI daemon don PHP tare da wasu ƙarin fasali kuma an tsara shi don ɗaukar manyan lodi. Yana kula da wuraren waha (ma'aikatan da za su iya amsa buƙatun PHP) don cimma wannan. Mahimmanci, yana da sauri fiye da hanyoyin tushen CGI na gargajiya, kamar SUPHP, don mahallin PHP masu amfani da yawa.

Don shigar da PHP da PHP-FPM tare da samfuran da ake buƙata suna gudanar da umarni mai zuwa.

$ sudo zypper install php php-mysql php-fpm php-gd php-mbstring

Kafin mu ci gaba don fara sabis na PHP-FPM, muna buƙatar ƙirƙirar fayilolin sanyi da ake buƙata daga tsoffin fayilolin da aka bayar yayin shigarwa, kuma saita sabis ɗin da aka shirya don aiki.

$ 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

Sa'an nan kuma buɗe babban fayil ɗin daidaitawa na php-fpm.conf don gyarawa.

$ sudo vim /etc/php7/fpm/php-fpm.conf 

Rarraba layi mai zuwa a lamba 24 kamar yadda aka nuna.

error_log = log/php-fpm.log

Ajiye kuma rufe fayil ɗin.

Na gaba, muna buƙatar ayyana madaidaitan saitunan don wuraren waha da aka tsara a cikin fayil ɗin sanyi na www.conf.

$ sudo vim /etc/php7/fpm/php-fpm.d/www.conf

Da farko, saita mai Unix da mai rukunin ƙungiyoyi zuwa mai amfani da ƙungiyar Nginx. Yi wannan ta hanyar canza ƙimar mai amfani da ma'auni na rukuni daga no kowa zuwa nginx.

user = nginx
group = nginx

Yanzu ajiye canje-canje a fayil ɗin kuma fita dashi.

Bugu da ƙari, akwai mafi mahimmanci guda ɗaya don aiwatarwa, wanda ke tabbatar da PHP-FPM a cikin fayil ɗin /etc/php/cli/php.ini.

$ sudo vim /etc/php7/cli/php.ini

Nemo layin ;cgi.fix_pathinfo=1 kuma canza shi zuwa.

cgi.fix_pathinfo=0

Ajiye canje-canje a cikin fayil kuma fita.

Na gaba, fara sabis ɗin PHP-FPM a yanzu, sannan kunna shi don farawa ta atomatik a lokacin taya kuma duba matsayinsa.

$ sudo systemctl start php-fpm
$ sudo systemctl enable php-fpm
$ sudo systemctl status php-fpm

Saita Nginx don Aiki tare da PHP-FPM

A wannan gaba, muna buƙatar saita Nginx don yin aiki tare da PHP-FPM a cikin tsoho fayil ɗin Nginx.

$ sudo vim /etc/nginx/nginx.conf

Sa'an nan nemi sashe na gaba, kuma ƙara index.php a cikin jerin fayilolin fihirisar da ake sa ran.

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

Haka nan nemo sashe na gaba (wanda ya kamata a yi sharhi) kuma ka ba da amsa. Ana amfani da wannan sashe don ƙaddamar da rubutun PHP zuwa saurarar FastCGI akan 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; 
       }

Ajiye canje-canje a cikin fayil kuma fita.

Gwajin Nginx da PHP-FPM

Mataki na gaba shine gwada idan Nginx yana aiki da kyau tare da PHP-FPM ta hanyar ƙirƙirar sabon fayil ɗin gwajin PHP a ƙarƙashin DocumentRoot directory kamar yadda aka nuna.

$ echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php

Yanzu muna buƙatar bincika idan tsarin Nginx daidai ne kamar haka, kafin mu ci gaba da sake kunna sabis ɗin.

$ sudo nginx -t

Idan tsarin daidaitawar Nginx yayi kyau, ci gaba kuma sake kunna ayyukan Nginx da PHP-FPM don canje-canjen kwanan nan don yin tasiri.

$ sudo systemctl restart nginx php-fpm

Yanzu buɗe mai binciken gidan yanar gizo kuma kewaya zuwa adireshin http://localhost/info.php don tabbatar da daidaitawar PHP kamar yadda aka nuna a hoton da ke biyowa.

Shigarwa da Sanya PhpMyAdmin

phpMyAdmin kyauta ne, mai sauƙin amfani kuma sanannen kayan aiki da aka rubuta a cikin PHP, wanda aka gina don gudanar da uwar garken MySQL akan Yanar gizo. Yana ɗaukar ayyuka da yawa akan MySQL da MariaDB.

Don shigar da phpMyAdmin akan OpenSuse, gudanar da umarni mai zuwa.

$ sudo zypper install phpMyAdmin

Da zarar an gama shigarwa, ƙirƙirar sabon fayil ɗin sanyi na vhost don samun damar phpMyAdmin kamar yadda aka nuna.

$ sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

Ƙara waɗannan saitunan masu biyowa zuwa fayil.

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; 
   } 
} 

Ajiye canje-canje kuma rufe fayil ɗin. Sannan sake kunna sabis na Nginx tare da umarni mai zuwa.

$ sudo systemctl restart nginx

Yanzu je zuwa burauzar gidan yanar gizon ku kuma buga adireshin http://localhost/phpMyAdmin. Shafin shiga phpMyAdmin ya kamata ya nuna kamar yadda aka nuna a cikin hoton da ke biyowa. Shigar da tushen bayanan mai amfani da bayanan shiga bayanan bayanan kuma danna Go.

Shi ke nan! A cikin wannan koyawa, mun bayyana muku yadda ake shigar da tarin LEMP tare da Nginx, MariaDB, PHP, PHP-FPM da PhpMyAdmin akan sabar OpenSuse/bugu na tebur. Idan kuna fuskantar kowace matsala yayin saiti, yi tambayoyinku ta hanyar sharhi da ke ƙasa.