Installere LEMP (Nginx, PHP, MySQL med MariaDB-motor og PhpMyAdmin) i Arch Linux
På grunn av den rullende utgivelsesmodellen som omfatter skjærende programvare, ble Arch Linux ikke designet og utviklet for å kjøre som en server for å tilby pålitelige nettverkstjenester fordi det krever ekstra tid til vedlikehold, konstante oppgraderinger og fornuftige filkonfigurasjoner.
Men likevel, fordi Arch Linux kommer med en CD-kjerneinstallasjon med minimal programvare forhåndsinstallert, kan det representere et solid oppstartspunkt for å installere de fleste av de populære nettverkstjenestene i disse dager, dette inkludert < b>LEMP eller LAMP, Apache Web Server, Nginx, PHP, SQL-databaser, Samba, FTP-servere, BIND og andre, mange av dem leveres fra Arch Offisielle Linux-repositorier og andre fra AUR.
Denne opplæringen vil veilede gjennom installasjon og konfigurering av LEMP-stack (Nginx, PHP, MySQL med MariaDB-motor og PhpMyAdmin) fra en eksternt bruker SSH, som kan gi et sterkt grunnlag for å bygge webserverapplikasjoner.
Krav
Tidligere Arch Linux-installasjonsveiledning, bortsett fra siste del om nettverk med DHCP.
Trinn 1: Tilordne statisk IP på nettverksgrensesnittet
1. Etter minimal Arch Linux kjerneinstallasjon, start serveren på nytt, logg på med root-konto eller tilsvarende administrativ sudo-konto, og identifiser system-NICs enhetsnavn ved hjelp av ip-kobling kommando.
ip link
2. For å tilordne statiske nettverkskonfigurasjoner skal vi bruke pakken Netctl for å administrere nettverkstilkoblinger. Etter at du har identifisert Nettverksgrensesnitt-navnene dine, kopier ethernet-statisk filmalen til netctl-systembanen og endre navnet til et beskrivende navneskjema ( prøv å bruke "statisk"-streng kombinert med NICs navn), ved å gi følgende kommando.
cp /etc/netctl/examples/ethenet-static /etc/netctl/static.ens33
3. Det neste trinnet er å redigere denne nye malfilen ved å endre filens direktiver og oppgi dine faktiske nettverksinnstillinger (grensesnitt, IP/nettmaske, gateway, kringkasting, DNS) som i utdraget nedenfor.
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. Det neste trinnet er å starte nettverkstilkoblingen gjennom systemverktøyet netctl og bekrefte systemtilkoblingen ved å utstede følgende kommandoer.
netctl start static.ens33
netctl status static.ens33
5. Hvis du får en aktiv grønn avslutningsstatus, har du konfigurert nettverksgrensesnittet og det er på tide å aktivere det automatisk på systemomfattende tjenester. Test også nettverket ditt ved å kjøre en ping-kommando mot et domenenavn, og installer også net-tools-pakken (den mest kjente funksjonen i denne pakken er ifconfig-kommandoen som Arch utviklere ansett for å være utdatert og erstattet den med iproute2).
Aktiver systemomfattende NICs konfigurasjoner
netctl enable static.ens33
Installer net-tools-pakken
pacman -S net-tools
6. Nå kan du kjøre kommandoen ifconfig for å bekrefte innstillingene for Nettverksgrensesnitt og sjekke om alt vises riktig, og deretter starte på nytt b> systemet ditt for å sikre at alt er på plass og riktig konfigurert.
ping linux-console.net
Trinn 2: Installer LEMP-programvaren
Som påpekt i denne artikkelintroduksjonen står LEMP for Linux+Nginx+PHP/PhpMyAdmin+MySQL/MariaDB, som er en av de mest utbredte nettapplikasjonsplattformene i dag etter LAMP (den samme stabel med Apache i ligningen).
7. Før vi faktisk installerer LEMP-stabelen, må vi oppdatere systemet og deretter få fjernkontroll til Arch Linux-serveren. Som du sikkert vet er OpenSSH hovedkandidaten for denne jobben, så fortsett og installer den, start SSH daemon og aktiver den hele systemet.
sudo pacman -Syu
sudo pacman –S openssh
sudo systemctl start sshd
sudo systemctl status sshd
sudo systemctl enable sshd
Nå er det på tide å fortsette med installasjonen av LEMP. Fordi denne opplæringen er ment å være en omfattende veiledning, vil jeg dele LEMP-stabelinstallasjonen i små biter, trinn for trinn.
8. Installer først Nginx Web Server, start den og bekreft statusen ved å utstede følgende kommandoer.
sudo pacman -S nginx
sudo systemctl start nginx
sudo systemctl status nginx
9. Den neste tjenesten som skal installeres er MySQL-databasen. Utfør følgende kommando for å installere MySQL-databaseserveren og velg MariaDB-motoren, start og verifiser daemonstatus.
sudo pacman -S mysql
sudo systemctl start mysqld
sudo systemctl status mysqld
10. Det neste trinnet er å gi et svært trygt miljø for MySQL-databaser ved å oppgi et passord for MySQL-rotkontoen, fjerne anonym brukerkonto, fjerne testdatabasen og root-kontoer som er tilgjengelige fra utenfor localhost. Kjør følgende kommando for å forbedre MySQL-sikkerheten, trykk [Enter] for gjeldende rootkontopassord, og svar deretter Ja på alle spørsmål (konfigurer også rootkontopassordet).
sudo mysql_secure_installation
Merk: Ikke forveksle MySQL-rotkonto med Linux-systemrotkonto – det er to forskjellige ting – ikke så forskjellige, men de kjører på forskjellige nivåer.
For å verifisere MySQL-sikkerhetspålogging til databasen ved å bruke kommandosyntaksen mysql -u root -p, oppgi root-passordet og forlater databasen med kommandoen exit;.
mysql -u root -p
11. Nå er det på tide å installere PHP skriptspråk på serversiden for å kunne utvikle og kjøre komplekse dynamiske nettapplikasjoner, ikke bare tjene HTML/CSS b> kode.
Fordi vi bruker Nginx som en webserver, må vi installere en PHP-FPM-støttet modul for å kommunisere gjennom Fast Common Gateway og endre dynamisk innhold generert av PHP-skript.
Utfør følgende kommandolinje for å installere PHP-FPM-tjenesten, start deretter daemon og bekreft status.
sudo pacman –S php php-fpm
sudo systemctl start php-fpm
sudo systemctl status php-fpm
For å liste alle tilgjengelige PHP-moduler utfør følgende kommandoer.
sudo pacman –S php[TAB]
sudo pacman –Ss | grep php
12. Et av de siste trinnene er å installere PhpMyAdmin Web Interface for MySQL-databasen. Utfør følgende kommando for å installere PhpMyAdmin sammen med dens PHP-nødvendige modul, og lag deretter en symbolsk lenke for PhpMyaAdmin-systembanen til Nginx standard rotbane.
pacman -S phpmyadmin php-mcrypt
sudo ln -s /usr/share/webapps/phpMyAdmin /usr/share/nginx/html
13. Konfigurer deretter filen php.ini til å inkludere nødvendige utvidelser som kreves av PhpMyAdmin-applikasjonen.
sudo nano /etc/php/php.ini
Finn med [CTRL+W]-tastene og avkommenter (fjern ; ved linjen som begynner) følgende linjer.
extension=mysqli.so
extension=mysql.so
extension=mcrypt.so
mysqli.allow_local_infile = On
På samme fil finn og rediger open_basedir-direktivet for å ligne med følgende inkluderte kataloger.
open_basedir= /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/
14. Neste trinn er å aktivere PHP-FPM FastCGI på localhost Nginx-direktivet. Utfør neste kommando for å sikkerhetskopiere nginx.conf nettserverfilkonfigurasjon og erstatt den med følgende innhold.
sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
sudo nano /etc/nginx/nginx.conf
Legg til hele følgende innhold på 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. Etter at alle filkonfigurasjoner er gjort, er alt du trenger å gjøre å starte Nginx- og PHP-FPM-tjenestene på nytt og peke nettleseren til http://localhost/phpmyadmin URL fra lokal node eller http://arch_IP/phpmyadmin fra en annen datamaskin.
sudo systemctl restart php-fpm
sudo systemctl restart nginx
16. Hvis alt går etter hensikten, er det siste trinnet å aktivere LEMP hele systemet med følgende kommandoer.
sudo systemctl enable php-fpm
sudo systemctl enable nginx
sudo systemctl enable mysqld
Gratulerer! Du har installert og konfigurert LEMP på Arch Linux, og nå har du et fullstendig dynamisk grensesnitt for å starte og utvikle nettapplikasjoner.
Selv om Arch Linux ikke er det mest best egnede systemet for å kjøre på produksjonsservere på grunn av dens fellesskapsorienterte rullende utgivelsesmodellen, kan det være en veldig rask og pålitelig kilde for små ikke-kritiske produksjonsmiljøer.