Weboldal keresés

A LEMP (Nginx, PHP, MySQL MariaDB motorral és PhpMyAdmin) telepítése Arch Linuxban


A Rolling Release modellje miatt, amely felöleli az egyre korosabb szoftvert, az Arch Linuxot nem úgy tervezték és fejlesztették ki, hogy megbízható hálózati szolgáltatásokat nyújtó szerverként működjön, mivel több időt igényel a karbantartáshoz, a folyamatos frissítésekhez és az ésszerű fájlkonfigurációkhoz.

De mégis, mivel az Arch Linux egy CD-magtelepítéssel érkezik, minimális előre telepített szoftverrel, szilárd kezdőpontot jelenthet manapság a legtöbb népszerű hálózati szolgáltatás telepítéséhez, ideértve a következőt: b>LEMP vagy LAMP, Apache webszerver, Nginx, PHP, SQL-adatbázisok, Samba, FTP-kiszolgálók, BIND és mások, amelyek közül sok az Archtól származik > hivatalos Linux-tárak és mások az AUR-tól.

Ez az oktatóanyag végigvezeti a LEMP verem (Nginx, PHP, MySQL MariaDB motorral és PhpMyAdmin) telepítését és konfigurálását távolról SSH használatával, amely erős alapot biztosíthat a webszerver-alkalmazások létrehozásához.

Követelmények

Előző Arch Linux telepítési útmutató, kivéve a DHCP-vel történő hálózatépítés utolsó részét.

1. lépés: Statikus IP hozzárendelése a hálózati interfészhez

1. Minimális Arch Linux magtelepítés után indítsa újra a szervert, jelentkezzen be root fiókkal vagy azzal egyenértékű adminisztratív sudo fiókkal, és azonosítsa a rendszer hálózati kártyájának eszköznevét az ip link< használatával parancsot.

ip link

2. A statikus hálózati konfigurációk hozzárendeléséhez a Netctl csomagot fogjuk használni a hálózati kapcsolatok kezelésére. Miután sikeresen azonosította a hálózati interfészek nevét, másolja az ethernet-static fájlsablont a netctl rendszerútvonalra, és módosítsa a nevét egy leíró elnevezési sémára ( próbálja meg használni a „static” karakterláncot a hálózati kártya nevével kombinálva), a következő parancs kiadásával.

cp /etc/netctl/examples/ethenet-static  /etc/netctl/static.ens33

3. A következő lépés az új sablonfájl szerkesztése a fájl direktíváinak megváltoztatásával és a tényleges hálózati beállítások megadásával (interfész, IP/hálózati maszk, átjáró, adás, DNS), az alábbi kivonat szerint.

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. A következő lépés a hálózati kapcsolat elindítása a netctl rendszereszközön keresztül, és a következő parancsok kiadásával ellenőrizze a rendszerkapcsolatot.

netctl start static.ens33
netctl status static.ens33

5. Ha aktív zöld kilépési állapotot kap, sikeresen konfigurálta a hálózati felületet, és itt az ideje, hogy automatikusan engedélyezze azt a rendszerszintű szolgáltatásokban. Tesztelje a hálózatot úgy, hogy egy ping parancsot futtat egy domain névre, és telepítse a net-tools csomagot (a csomag legismertebb funkciója az ifconfig parancs, amelyet Arch a fejlesztők elavultnak tartották, és az iproute2-re cserélték.

Engedélyezze a rendszerszintű hálózati kártyák konfigurációit
netctl enable static.ens33
Telepítse a net-tools csomagot
pacman -S net-tools

6. Most már futtathatja az ifconfig parancsot a Hálózati interfészek beállításainak ellenőrzéséhez, és ellenőrizheti, hogy minden helyesen jelenik-e meg, majd újraindíthatja b> rendszerét, hogy megbizonyosodjon arról, hogy minden a helyén van és megfelelően van konfigurálva.

ping linux-console.net

2. lépés: Telepítse a LEMP szoftvert

Amint arra a cikk bevezetője utal, a LEMP a Linux+Nginx+PHP/PhpMyAdmin+MySQL/MariaDB rövidítése, amely ma az egyik legelterjedtebb webes alkalmazásplatform a LAMP után (a ugyanaz a verem, mint az Apache az egyenletben).

7. A LEMP verem tényleges telepítése előtt frissítenünk kell a rendszert, majd át kell venni a távirányítást az Arch Linux szerverhez. Amint azt valószínűleg tudja, az OpenSSH a fő jelölt erre a feladatra, ezért menjen előre és telepítse, indítsa el az SSH démont, és engedélyezze az egész rendszeren.

sudo pacman -Syu
sudo pacman –S openssh

sudo systemctl start sshd
sudo systemctl status sshd
sudo systemctl enable sshd

Itt az ideje folytatni a LEMP telepítését. Mivel ez az oktatóanyag átfogó útmutatóként szolgál, lépésről lépésre apró darabokra osztom a LEMP verem telepítését.

8. Először telepítse az Nginx webszervert, majd indítsa el, és ellenőrizze állapotát a következő parancsok kiadásával.

sudo pacman -S nginx
sudo systemctl start nginx
sudo systemctl status nginx

9. A következő telepítendő szolgáltatás a MySQL adatbázis. Adja ki a következő parancsot a MySQL adatbázis-kiszolgáló telepítéséhez, és válassza ki a MariaDB motort, majd indítsa el és ellenőrizze a démon állapotát.

sudo pacman -S mysql
sudo systemctl start mysqld
sudo systemctl status mysqld

10. A következő lépés a MySQL-adatbázisok rendkívül biztonságos környezetének biztosítása a MySQL root fiókhoz tartozó jelszó megadásával, az anonim felhasználói fiókok eltávolítása, a tesztadatbázis és a külső localhost-ról elérhető root fiókok eltávolítása. Futtassa a következő parancsot a MySQL biztonságának javításához, nyomja meg az [Enter] billentyűt a jelenlegi root fiók jelszavához, majd válaszoljon Igen minden kérdésre (állítsa be a root fiók jelszavát is).

sudo mysql_secure_installation

Megjegyzés: Semmiképpen ne keverje össze a MySQL root fiókot a Linux rendszer gyökérfiókjával – két különböző dologról van szó – nem is annyira különbözőek, de különböző szinteken futnak.

Az adatbázisba való MySQL biztonsági bejelentkezés ellenőrzéséhez a mysql -u root -p parancs szintaxisával, adja meg root jelszavát, majd lépjen ki az adatbázisból az exit; paranccsal.

mysql -u root -p

11. Most itt az ideje telepíteni a PHP szerveroldali szkriptnyelvet, hogy komplex dinamikus webalkalmazásokat tudjunk fejleszteni és futtatni, nem csak a HTML/CSSszolgáltatást b> kódot.

Mivel webszerverként az Nginxet használjuk, telepítenünk kell a PHP-FPM által támogatott modult a Fast Common Gateway-en keresztüli kommunikációhoz és a generált dinamikus tartalom megváltoztatásához. PHP szkriptekkel.

Adja ki a következő parancssort a PHP-FPM szolgáltatás telepítéséhez, majd indítsa el a démont, és ellenőrizze az állapotot.

sudo pacman –S php php-fpm
sudo systemctl start php-fpm
sudo systemctl status php-fpm

Az összes elérhető PHP modul felsorolásához adja ki a következő parancsokat.

sudo pacman –S php[TAB]
sudo pacman –Ss | grep php

12. Az utolsó lépések egyike a PhpMyAdmin webes felület telepítése a MySQL adatbázishoz. Adja ki a következő parancsot a PhpMyAdmin és a PHP szükséges moduljának telepítéséhez, majd hozzon létre egy szimbolikus hivatkozást a PhpMyaAdmin rendszerútvonalhoz az Nginx alapértelmezett gyökérútvonalához.

pacman -S phpmyadmin php-mcrypt
sudo ln -s /usr/share/webapps/phpMyAdmin   /usr/share/nginx/html

13. Ezután állítsa be a php.ini fájlt, hogy tartalmazza a PhpMyAdmin alkalmazáshoz szükséges kiterjesztéseket.

sudo nano /etc/php/php.ini

Keresse meg a [CTRL+W] billentyűkkel, és törölje a megjegyzéseket (a sor elején lévő ; eltávolítása) a következő sorokat.

extension=mysqli.so
extension=mysql.so
extension=mcrypt.so
mysqli.allow_local_infile = On

Ugyanabban a fájlban keresse meg és szerkessze az open_basedir direktívát, hogy az hasonlítson a következő mellékelt könyvtárakhoz.

open_basedir= /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/

14. A következő lépés a PHP-FPM FastCGI engedélyezése a localhost Nginx direktíván. Adja ki a következő parancsot az nginx.conf webszerver-fájl konfigurációjának biztonsági mentéséhez, majd cserélje ki a következő tartalommal.

sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
sudo nano /etc/nginx/nginx.conf

Adja hozzá a teljes alábbi tartalmat az nginx.conf-hoz.

#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. Az összes fájlkonfiguráció elvégzése után mindössze annyit kell tennie, hogy újraindítsa az Nginx és a PHP-FPM szolgáltatásokat, és mutasson rá a böngészőre http://localhost/phpmyadmin URL a helyi csomópontról vagy http://arch_IP/phpmyadmin egy másik számítógépről.

sudo systemctl restart php-fpm
sudo systemctl restart nginx

16. Ha minden a tervezett módon fut, az utolsó lépés a LEMP engedélyezése a rendszerre kiterjedően a következő parancsokkal.

sudo systemctl enable php-fpm
sudo systemctl enable nginx
sudo systemctl enable mysqld

Gratulálunk! Telepítette és konfigurálta a LEMP-t az Arch Linux rendszeren, és most már teljes dinamikus felülettel rendelkezik a webalkalmazások elindításához és fejlesztéséhez.

Bár az Arch Linux nem a legalkalmasabb rendszer az éles szervereken való futtatáshoz közösségorientált gördülő kiadási modellje miatt, nagyon gyors és megbízható forrás lehet kis, nem kritikus éles környezetekben.