LEMP (Nginx, PHP, MySQL koos MariaDB mootori ja PhpMyAdmin) installimine Arch Linuxi


Tänu oma jooksva väljalaske mudelile, mis hõlmab vananevat tarkvara Arch Linux , ei loodud ja arendatud töötama serverina, et pakkuda usaldusväärseid võrguteenuseid, kuna see nõuab hoolduseks, konstantide täiendamiseks ja mõistlikuks failikonfiguratsiooniks lisaaega.

Kuid ikkagi, kuna Arch Linux on varustatud CD-i põhiseadmega, millele on eelinstallitud minimaalne tarkvara, võib see olla kindel alustuskoht enamiku populaarsete võrguteenuste installimiseks, sealhulgas < b> LEMP või LAMP , Apache veebiserver, Nginx, PHP, SQL-i andmebaasid, Samba, FTP-serverid, BIND ja teised, paljud neist pakutakse saidilt Arch Linuxi ametlikud hoidlad ja teised saidilt AUR .

See õpetus juhendab LEMP pinu (Nginx, PHP, MySQL koos MariaDB mootoriga ja PhpMyAdmin) installimist ja konfigureerimist kaughaldusest SSH abil, mis võib olla tugev alus veebiserveri rakenduste loomiseks.

Eelmine Arch Linuxi installijuhend, välja arvatud DHCP-ga võrgu loomise viimane osa.

1. samm: määrake võrguliidese staatiline IP

1. Pärast minimaalset Arch Linux i tuuminstallimist taaskäivitage oma server, logige sisse juurkonto või samaväärse administratiivse sudo kontoga ja tuvastage oma süsteemi NIC-i seadmete nimed käsuga ip link .

# ip link

2. Staatiliste võrgukonfiguratsioonide määramiseks kasutame võrguühenduste haldamiseks paketti Netctl . Kui olete oma võrguliideste nimed edukalt tuvastanud, kopeerige ethernet-static failimall süsteemiteeleks netctl ja muutke selle nimi kirjeldavaks nimeskeemiks ( proovige kasutada stringi „ staatiline “ koos NIC-i nimega), väljastades järgmise käsu.

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

3. Järgmine samm on selle uue mallifaili muutmine, muutes faili direktiive ja pakkudes oma tegelikult võrguseadeid (liides, IP/Netmask, lüüs, leviedastus, DNS) nagu allpool toodud väljavõttes.

# 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. Järgmine samm on võrguühenduse loomine süsteemi tööriista netctl kaudu ja süsteemi ühenduvuse kontrollimine, väljastades järgmised käsud.

# netctl start static.ens33
# netctl status static.ens33

5. Kui saate aktiivse rohelise väljumisoleku, olete oma võrguliidese edukalt konfigureerinud ja on aeg see kogu süsteemi hõlmavatel teenustel automaatselt lubada. Testige ka oma võrku, käivitades domeeninime vastu käsu ping ja installige ka net-tools pakett (selle paketi kõige tuntum funktsioon on käsk ifconfig, mille Arch arendajad pidasid seda aegunuks ja asendasid selle iproute2 -ga.

# netctl enable static.ens33
# pacman -S net-tools

6. Nüüd saate käivitada käsu ifconfig , et kontrollida oma võrguliideste seadeid ja kontrollida, kas kõik on õigesti kuvatud, seejärel taaskäivitage oma süsteem, et veenduda kõik on paigas ja korralikult konfigureeritud.

# ping linux-console.net

2. samm: installige LEMP-tarkvara

Nagu käesolevas artiklis juhitud tähelepanu, tähistab LEMP Linux + Nginx + PHP/PhpMyAdmin + MySQL/MariaDB, mis on tänapäeval üks levinumaid veebirakenduste platvorme pärast LAMP ( võrrandis Apache'iga).

7. Enne korpuse LEMP reaalset installimist peame süsteemi värskendama ja seejärel saama kaugjuhtimise serveri Arch Linux serverisse. Nagu te ilmselt teate, on OpenSSH selle töö peamine kandidaat, jätkake ja installige see, käivitage SSH-deemon ja lubage see kogu süsteemil.

$ sudo pacman -Syu
$ sudo pacman –S openssh
$ sudo systemctl start sshd
$ sudo systemctl status sshd
$ sudo systemctl enable sshd

Nüüd on aeg jätkata LEMP installimist. Kuna see õpetus on mõeldud põhjaliku juhendina, jagan LEMP virnade installimise samm-sammult väikesteks tükkideks.

8. Esmalt installige Nginxi veebiserver , seejärel käivitage see ja kontrollige selle olekut, väljastades järgmised käsud.

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

9. Järgmine installitav teenus on andmebaas MySQL . MySQL-i andmebaasiserveri installimiseks väljastage järgmine käsk ja valige mootor MariaDB , seejärel käivitage ja kontrollige deemoni olekut.

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

10. Järgmine samm on luua MySQL-i andmebaasidele üliturvaline keskkond, pakkudes MySQL-i juurkonto jaoks parooli, eemaldades anonüümse kasutajakonto, eemaldades testandmebaasi ja juurkontod, millele on juurdepääs väljastpoolt localhostit. MySQL-i turvalisuse parandamiseks käivitage järgmine käsk, vajutage praeguse juurkonto parooli saamiseks [ Enter ], seejärel vastake kõigile küsimustele Jah (seadistage ka oma juurkonto parool).

$ sudo mysql_secure_installation

Märkus. Ärge mingil juhul segage MySQL-i juurkontot Linuxi süsteemi juurkontoga - need on kaks erinevat asja - mitte nii erinevad, kuid töötavad erinevatel tasanditel.

MySQL-i turvalisuse sisselogimise kontrollimiseks andmebaasi mysql -u root -p süntaksiga sisestage oma juurparool ja jätke andmebaasist käsk exit; .

# mysql -u root -p

11. Nüüd on aeg installida PHP serveripoolne skriptikeel, et oleks võimalik välja töötada ja käitada keerukaid dünaamilisi veebirakendusi, mitte ainult HTML/CSS koodi.

Kuna kasutame veebiserverina rakendust Nginx , peame Fast Common Gateway kaudu suhtlemiseks ja loodud dünaamilise sisu muutmiseks installima PHP-FPM tagatud mooduli. poolt PHP skriptid.

Teenuse PHP-FPM installimiseks väljastage järgmine käsurida, seejärel käivitage deemon ja kontrollige olekut.

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

Kõigi saadaolevate PHP-moodulite loetlemiseks väljastage järgmised käsud.

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

12. Üks viimaseid samme on PhpMyAdmini veebiliidese installimine MySQL-i andmebaasi jaoks. Andke PhpMyAdmini koos PHP-ga vajaliku mooduliga installimiseks järgmine käsk ja seejärel looge sümboolne link PhpMyaAdmini süsteemitee Nginxi vaiketeateele.

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

13. Seejärel konfigureerige fail php.ini , et see sisaldaks PhpMyAdmini rakenduse jaoks vajalikke laiendusi.

$ sudo nano /etc/php/php.ini

Leidke klahvide [ CTRL + W ] abil ja kommenteerige (eemaldage rea alguses ; ) järgmised read.

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

Samal failil leidke ja muutke käsku open_basedir , et see sarnaneks järgmiste kaasatud kataloogidega.

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

14. Järgmine samm on PHP-FPM FastCGI lubamine localhost Nginxi direktiivis. Väljastage järgmine käsk veebiserveri nginx.conf varunduse konfigureerimise varundamiseks ja asendage see järgmise sisuga.

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

Lisage kogu järgmine sisu saidile 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. Pärast kõigi failikonfiguratsioonide tegemist peate vaid taaskäivitama teenused Nginx ja PHP-FPM ning suunama brauseri saidile http:// localhost/phpmyadmin kohaliku sõlme URL või http:// arch_IP/phpmyadmin moodustavad teise arvuti.

$ sudo systemctl restart php-fpm
$ sudo systemctl restart nginx

16. Kui kõik töötab ettenähtud viisil, on viimane samm lubada LEMP kogu süsteemis järgmiste käskudega.

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

Palju õnne! Olete installinud ja seadistanud rakenduse LEMP Arch Linuxi ja teil on nüüd veebirakenduste alustamiseks ja arendamiseks täielik dünaamiline liides.

Kuigi Arch Linux pole oma kogukonnapõhise jooksva versiooni mudeli tõttu kõige sobivam süsteem tootmisserverites töötamiseks, võib see olla väga kiire ja usaldusväärne allikas väikeste kriitiliste tootmiskeskkondade jaoks.