Installazzjoni ta' LEMP (Nginx, PHP, MySQL b'magna MariaDB u PhpMyAdmin) f'Arch Linux
Minħabba l-mudell Rolling Release tiegħu li jħaddan softwer ta 'età tat-tqattigħ Arch Linux ma kienx iddisinjat u żviluppat biex jaħdem bħala server biex jipprovdi servizzi ta' netwerk affidabbli minħabba li jeħtieġ ħin żejjed għall-manutenzjoni, titjib kostanti u konfigurazzjonijiet ta 'fajls sensibbli.
Iżda, xorta waħda, minħabba li Arch Linux jiġi b'installazzjoni tal-qalba tas-CD b'softwer minimu installat minn qabel, jista 'jirrappreżenta punt ta' bidu ta' bażi solida biex tinstalla ħafna mis-servizzi tan-netwerk popolari llum, dan inkluż < b>LEMP jew LAMP, Apache Web Server, Nginx, PHP, databases SQL, Samba, servers FTP, BIND u oħrajn, ħafna minnhom huma pprovduti minn Arch Repożitorji uffiċjali tal-Linux u oħrajn minn AUR.
Dan it-tutorja se jiggwida permezz tal-installazzjoni u l-konfigurazzjoni ta 'LEMP munzell (Nginx, PHP , MySQL b'magna MariaDB u PhpMyAdmin) minn SSH bl-użu mill-bogħod, li jista' jipprovdi pedament sod biex jibnu Applikazzjonijiet Web Server.
Gwida Preċedenti għall-Installazzjoni tal-Arch Linux, ħlief l-aħħar parti dwar in-netwerking mad-DHCP.
Pass 1: Assenja l-IP Statiku fuq l-Interface tan-Netwerk
1. Wara l-installazzjoni tal-qalba minima Arch Linux ibda mill-ġdid is-server tiegħek, illoggja b'kont root jew kont sudo amministrattiv ekwivalenti, u identifika l-ismijiet tal-apparat NICs tas-sistema tiegħek billi tuża l-kmand ip link.
# ip link
2. Biex nassenjaw konfigurazzjonijiet tan-netwerk statiċi se nużaw il-pakkett Netctl biex niġġestixxu l-konnessjonijiet tan-netwerk. Wara li tkun identifikajt b'suċċess l-ismijiet tal-Interfaces tan-Netwerk tiegħek, tikkopja l-mudell tal-fajl ethernet-static fil-passaġġ tas-sistema netctl u biddel isimha għal skema ta' ismijiet deskrittiva ( ipprova uża string “statiku” flimkien ma 'isem NIC), billi toħroġ il-kmand li ġej.
# cp /etc/netctl/examples/ethenet-static /etc/netctl/static.ens33
3. Il-pass li jmiss huwa li teditja dan il-fajl tal-mudell il-ġdid billi tbiddel id-direttivi tal-fajl u tipprovdi s-settings tan-netwerk attwalment tiegħek (Interface, IP/Netmask, Gateway, Broadcast, DNS) bħal fis-silta hawn taħt.
# nano /etc/netctl/static.ens33
Description='A basic static ethernet connection for ens33' Interface=ens33 Connection=ethernet IP=static Address=('192.168.1.33/24') Gateway='192.168.1.1' Brodcast='192.168.1.255' DNS=('192.168.1.1' '8.8.8.8')
4. Il-pass li jmiss huwa li tibda l-konnessjoni tan-netwerk tiegħek permezz tal-għodda tas-sistema netctl u tivverifika l-konnettività tas-sistema tiegħek billi toħroġ il-kmandi li ġejjin.
# netctl start static.ens33 # netctl status static.ens33
5. Jekk ikollok status ta' ħruġ aħdar attiv ikkonfigurajt b'suċċess l-Interface tan-Netwerk tiegħek u wasal iż-żmien li tattivah awtomatikament fis-servizzi kollha tas-sistema. Ittestja wkoll in-netwerk tiegħek billi tħaddem kmand ping kontra isem ta' dominju u wkoll, installa l-pakkett net-tools (l-iktar karatteristika magħrufa ta' dan il-pakkett hija ifconfig kmand li Arch l-iżviluppaturi qiesu li kien tip ta' deprecated u bidluha b'iproute2).
# netctl enable static.ens33
# pacman -S net-tools
6. Issa tista' tħaddem il-kmand ta' ifconfig biex tivverifika l-issettjar ta' l-Interfaces tan-Netwerk tiegħek u tiċċekkja jekk kollox huwiex muri b'mod korrett, imbagħad reboot is-sistema tiegħek biex tiżgura kollox huwa f'postu u kkonfigurat kif suppost.
# ping linux-console.net
Pass 2: Installa Software LEMP
Kif indikat f'dan l-introduzzjoni ta' l-artikolu LEMP tirreferi għal Linux+Nginx+PHP/PhpMyAdmin+MySQL/MariaDB li hija waħda mill-pjattaformi ta' applikazzjoni tal-web l-aktar mifruxa llum wara LAMP (il- istess munzell ma Apache fl-ekwazzjoni).
7. Qabel ma attwalment ninstallaw LEMP munzell irridu naġġornaw is-sistema u mbagħad niksbu kontroll mill-bogħod fuq is-server Arch Linux. Kif probabilment taf OpenSSH huwa l-kandidat ewlieni għal dan ix-xogħol għalhekk kompli u installah, ibda d-daemon SSH u ppermettih is-sistema kollha.
$ sudo pacman -Syu $ sudo pacman –S openssh
$ sudo systemctl start sshd $ sudo systemctl status sshd $ sudo systemctl enable sshd
Issa wasal iż-żmien li tipproċedi bl-installazzjoni LEMP. Minħabba li dan it-tutorja huwa maħsub li jkun bħala gwida komprensiva, ser naqsam l-installazzjoni tal-munzell LEMP f'biċċiet żgħar, pass pass.
8. L-ewwel installa Nginx Web Server, imbagħad ibdah u ivverifika l-istatus tiegħu billi toħroġ il-kmandi li ġejjin.
$ sudo pacman -S nginx $ sudo systemctl start nginx $ sudo systemctl status nginx
9. Is-servizz li jmiss li għandu jiġi installat huwa database MySQL. Oħroġ il-kmand li ġej biex tinstalla s-server tad-database MySQL u agħżel il-magna MariaDB, imbagħad ibda u tivverifika l-istatus tad-daemon.
$ sudo pacman -S mysql $ sudo systemctl start mysqld $ sudo systemctl status mysqld
10. Il-pass li jmiss huwa li tipprovdi ambjent sikur ħafna għad-databases MySQL billi tipprovdi password għall-kont root MySQL, neħħi kont tal-utent anonimu, neħħi d-database tat-test u l-kontijiet tal-għeruq li huma aċċessibbli minn barra localhost. Mexxi l-kmand li ġej biex ittejjeb is-sigurtà MySQL, agħfas [Daħħal] għall-password kurrenti tal-kont root, imbagħad wieġeb Iva għall-mistoqsijiet kollha (wkoll issettja l-password tal-kont root tiegħek).
$ sudo mysql_secure_installation
Nota: Bi kwalunkwe mezz ma tħawwadx il-kont tal-għeruq MySQL mal-kont tal-għeruq tas-sistema Linux - huma żewġ affarijiet differenti - mhux daqshekk differenti iżda jimxu fuq livelli differenti.
Biex tivverifika l-login tas-sigurtà tal-MySQL fid-database bl-użu tas-sintassi tal-kmand mysql -u root -p, ipprovdi l-password tal-għeruq tiegħek imbagħad ħalli d-database bi kmand ħruġ;.
# mysql -u root -p
11. Issa wasal iż-żmien li tinstalla PHP lingwa ta’ scripting fuq is-server biex tkun tista’ tiżviluppa u tħaddem applikazzjonijiet kumplessi tal-web dinamiċi, mhux biss isservi kodiċi HTML/CSS.
Minħabba li qed nużaw Nginx bħala server tal-web irridu ninstallaw modulu appoġġjat PHP-FPM biex nikkomunikaw permezz ta' Fast Common Gateway u nbiddlu l-kontenut dinamiku ġġenerat minn skripts PHP.
Oħroġ il-linja tal-kmand li ġejja biex tinstalla s-servizz PHP-FPM, imbagħad ibda d-daemon u tivverifika l-istatus.
$ sudo pacman –S php php-fpm $ sudo systemctl start php-fpm $ sudo systemctl status php-fpm
Biex telenka l-modulu PHP kollu disponibbli agħti l-kmandi li ġejjin.
$ sudo pacman –S php[TAB] $ sudo pacman –Ss | grep php
12. Wieħed mill-aħħar passi huwa li tinstalla PhpMyAdmin Web Interface għad-database MySQL. Oħroġ il-kmand li ġej biex tinstalla PhpMyAdmin flimkien mal-modulu PHP meħtieġ tiegħu imbagħad oħloq rabta simbolika għall-mogħdija tas-sistema PhpMyaAdmin għall-mogħdija ta 'l-għeruq default ta' Nginx.
$ pacman -S phpmyadmin php-mcrypt $ sudo ln -s /usr/share/webapps/phpMyAdmin /usr/share/nginx/html
13. Imbagħad ikkonfigura l-fajl php.ini biex jinkludi l-estensjonijiet meħtieġa meħtieġa mill-applikazzjoni PhpMyAdmin.
$ sudo nano /etc/php/php.ini
Sib bit-tasti [CTRL+W] u neħħi l-kumment (neħħi ; fil-bidu tal-linja) il-linji li ġejjin.
extension=mysqli.so extension=mysql.so extension=mcrypt.so mysqli.allow_local_infile = On
Fuq l-istess fajl illokalizza u editja open_basedir direttiva biex tixbah mad-direttorji inklużi li ġejjin.
open_basedir= /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/
14. Il-pass li jmiss huwa li tippermetti PHP-FPM FastCGI fuq id-direttiva Nginx localhost. Aħroġ il-kmand li jmiss biex tagħmel backup tal-konfigurazzjoni tal-fajl tal-web server nginx.conf imbagħad ibdelha bil-kontenut li ġej.
$ sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak $ sudo nano /etc/nginx/nginx.conf
Żid il-kontenut kollu li ġej fuq nginx.conf.
#user html; worker_processes 2; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; server { listen 80; server_name localhost; root /usr/share/nginx/html; charset koi8-r; location / { index index.php index.html index.htm; autoindex on; autoindex_exact_size off; autoindex_localtime on; } location /phpmyadmin { rewrite ^/* /phpMyAdmin last; } error_page 404 /404.html; # redirect server error pages to the static page /50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { #fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration) fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; include fastcgi.conf; } location ~ /\.ht { deny all; } } }
15. Wara li jkunu saru l-konfigurazzjonijiet tal-fajls kollha, kull ma trid tagħmel hu li terġa’ tibda s-servizzi ta’ Nginx u PHP-FPM u tipponta l-browser tiegħek lejn http:// localhost/phpmyadmin URL minn nodu lokali jew http://arch_IP/phpmyadmin jiffurmaw kompjuter ieħor.
$ sudo systemctl restart php-fpm $ sudo systemctl restart nginx
16. Jekk kollox jimxi kif maħsub l-aħħar pass huwa li tippermetti LEMP sistema kollha bil-kmandi li ġejjin.
$ sudo systemctl enable php-fpm $ sudo systemctl enable nginx $ sudo systemctl enable mysqld
Prosit! Installajt u kkonfigurajt LEMP fuq Arch Linux u, issa, għandek interface dinamiku sħiħ biex tibda u tiżviluppa applikazzjonijiet tal-web.
Għalkemm Arch Linux mhix l-aktar sistema adattata ħafna biex taħdem fuq servers ta 'produzzjoni minħabba l-mudell tagħha ta' rilaxx rolling orjentat lejn il-komunità tista 'tkun sors mgħaġġel ħafna u affidabbli għal ambjenti ta' produzzjoni żgħar mhux kritiċi.