LEMP: n (Nginx, PHP, MySQL MariaDB-moottorilla ja PhpMyAdmin) asentaminen Arch Linuxiin


Arch Linux -sovellusta ei ole suunniteltu ja kehitetty toimimaan palvelinpalvelimena luotettavan verkkopalvelun Rolling Release -mallinsa vuoksi, koska se vaatii ylimääräistä aikaa ylläpitoon, vakioiden päivityksiin ja järkeviin tiedostokokoonpanoihin.

Mutta silti, koska Arch Linux sisältää CD-ydinasennuksen, johon on esiasennettu vain vähän ohjelmistoja, se voi olla vankka lähtökohta asentaa suurin osa suosituimmista verkkopalveluista nykyään, mukaan lukien < b> LEMP tai LAMP , Apache-verkkopalvelin, Nginx, PHP, SQL-tietokannat, Samba, FTP-palvelimet, BIND ja muut, joista monet toimitetaan Arch Viralliset Linux-arkistot ja muut sivustolta AUR .

Tämä opetusohjelma opastaa LEMP -pinon (Nginx, PHP, MySQL MariaDB-moottorilla ja PhpMyAdmin) asentamisen ja määrittämisen etäyhteydellä SSH: n avulla, mikä voi tarjota vahvan perustan verkkopalvelinsovellusten rakentamiseen.

Edellinen Arch Linux -asennusopas, lukuun ottamatta viimeistä osaa DHCP-verkkoyhteydestä.

Vaihe 1: Määritä staattinen IP verkkoliitännälle

1. Käynnistä palvelimesi uudelleen vähäisen Arch Linux -ydinasennuksen jälkeen, kirjaudu sisään root-tilillä tai vastaavalla ylläpitäjän sudo-tilillä ja tunnista järjestelmän NIC-laitteiden nimet ip link -komennolla.

# ip link

2. Staattisten verkkokokoonpanojen määrittämiseksi aiomme käyttää Netctl -pakettia verkkoyhteyksien hallintaan. Kun olet onnistuneesti tunnistanut Verkkoliitännät -nimesi, kopioi ethernet-static -tiedostomalli netctl -järjestelmän polkuun ja vaihda sen nimi kuvailevaksi nimeämissuunnitelmaksi ( yritä käyttää ” staattinen ” merkkijonoa yhdistettynä verkkokortin nimeen) antamalla seuraava komento.

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

3. Seuraava vaihe on muokata tätä uutta mallitiedostoa muuttamalla tiedoston ohjeita ja antamalla tosiasiallisesti verkkoasetuksesi (käyttöliittymä, IP/Netmask, yhdyskäytävä, lähetys, DNS) kuten alla olevassa otteessa.

# 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. Seuraava vaihe on aloittaa verkkoyhteytesi netctl -järjestelmätyökalun avulla ja vahvistaa järjestelmän yhteys antamalla seuraavat komennot.

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

5. Jos saat aktiivisen vihreän poistumistilan, olet määrittänyt verkkoliitännän onnistuneesti ja on aika ottaa se käyttöön automaattisesti järjestelmän laajuisissa palveluissa. Testaa verkko myös suorittamalla ping -komento verkkotunnukselle ja asenna myös net-tools -paketti (tämän paketin tunnetuin ominaisuus on ifconfig-komento, jonka Arch kehittäjät katsottiin ikään kuin vanhentuneiksi ja korvasivat sen iproute2 ).

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

6. Voit nyt suorittaa ifconfig -komennon varmistaaksesi Verkkoliitännät -asetuksesi ja tarkistaaksesi, onko kaikki oikein näytetty kaikki on paikallaan ja oikein konfiguroitu.

# ping linux-console.net

Vaihe 2: Asenna LEMP-ohjelmisto

Kuten tämän artikkelin johdannossa todettiin, LEMP tarkoittaa Linux + Nginx + PHP/PhpMyAdmin + MySQL/MariaDB, joka on yksi nykyisin eniten levinneistä verkkosovellusalustoista LAMP : n ( sama pino Apachen kanssa yhtälössä).

7. Ennen kuin asennamme LEMP -pinoa, meidän on päivitettävä järjestelmä ja hankittava sitten kauko-ohjaus Arch Linux -palvelimelle. Kuten luultavasti tiedät, OpenSSH on tämän työn pääehdokas, jatka asentamista, käynnistä SSH-daemon ja ota se käyttöön koko järjestelmässä.

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

Nyt on aika jatkaa LEMP -asennusta. Koska tämän opetusohjelman on tarkoitus olla kattava opas, jaan LEMP -pinoasennuksen pieniksi paloiksi vaiheittain.

8. Asenna ensin Nginx-verkkopalvelin , käynnistä se ja tarkista sen tila antamalla seuraavat komennot.

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

9. Seuraava asennettava palvelu on MySQL -tietokanta. Anna seuraava komento asentaaksesi MySQL-tietokantapalvelimen, valitse MariaDB -moottori ja käynnistä ja tarkista daemon-tila.

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

10. Seuraava vaihe on tarjota erittäin turvallinen ympäristö MySQL-tietokannoille tarjoamalla salasana MySQL-juuritilille, poistamalla tuntematon käyttäjätili, poistamalla testitietokanta ja juuritilit, jotka ovat käytettävissä paikallisen isännän ulkopuolelta. Suorita seuraava komento parantaa MySQL-tietoturvaa, paina [ Enter ] saadaksesi nykyisen juuritilin salasanan ja vastaamalla sitten Kyllä kaikkiin kysymyksiin (aseta myös juuritilin salasana).

$ sudo mysql_secure_installation

Huomaa: Älä missään tapauksessa sekoita MySQL-juuritiliä Linux-järjestelmän juuritiliin - ne ovat kaksi erilaista asiaa - eivät niin erilaisia, mutta ne toimivat eri tasoilla.

Vahvistaaksesi MySQL-suojauksen kirjautumisen tietokantaan mysql -u root -p -komentosyntaksilla, anna pääsalasanasi ja jätä sitten tietokantaan exit; -komento.

# mysql -u root -p

11. Nyt on aika asentaa PHP -palvelinpuolen komentosarjakieli, jotta voidaan kehittää ja suorittaa monimutkaisia dynaamisia verkkosovelluksia, ei pelkästään HTML/CSS -koodin tarjoamista.

Koska käytämme Nginx -palvelinta verkkopalvelimena, meidän on asennettava PHP-FPM -tukimoduuli kommunikoimaan nopean yhteisen yhdyskäytävän kautta ja muutettava luotua dynaamista sisältöä PHP-skripteillä.

Asenna PHP-FPM -palvelu suorittamalla seuraava komentorivi, käynnistä sitten demoni ja tarkista tila.

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

Luettele kaikki käytettävissä olevat PHP-moduulit antamalla seuraavat komennot.

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

12. Yksi viimeisistä vaiheista on asentaa PhpMyAdmin Web Interface MySQL-tietokantaan. Anna seuraava komento asentaaksesi PhpMyAdmin ja sen tarvitsema PHP-moduuli, luo sitten symbolinen linkki PhpMyaAdmin-järjestelmän polulle Nginx-oletusjuuripolulle.

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

13. Määritä sitten php.ini -tiedosto sisällyttämään tarvittavat laajennukset, joita PhpMyAdmin-sovellus tarvitsee.

$ sudo nano /etc/php/php.ini

Etsi [ CTRL + W ] -näppäimillä ja poista seuraavat rivit (poista ; rivin alusta) seuraavat rivit.

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

Etsi ja muokkaa open_basedir -direktiiviä samasta tiedostosta muistuttamaan seuraavia mukana olevia hakemistoja.

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

14. Seuraava vaihe on ottaa käyttöön PHP-FPM FastCGI localhost Nginx -direktiivissä. Anna seuraava komento varmuuskopioida nginx.conf -verkkopalvelintiedoston kokoonpano ja korvaa se seuraavalla sisällöllä.

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

Lisää seuraava sisältö nginx.conf-tiedostoon.

#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. Kun kaikki tiedostomääritykset on tehty, sinun tarvitsee vain käynnistää Nginx ja PHP-FPM palvelut uudelleen ja osoittaa selaimesi http:// localhost/phpmyadmin URL paikallisesta solmusta tai http:// arch_IP/phpmyadmin muodostaa toisen tietokoneen.

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

16. Jos kaikki toimii suunnitellusti, viimeinen vaihe on ottaa LEMP käyttöön koko järjestelmässä seuraavilla komennoilla.

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

Onnittelut! Olet asentanut LEMP -ominaisuuden Arch Linux -palveluun ja nyt sinulla on täysi dynaaminen käyttöliittymä verkkosovellusten aloittamiseen ja kehittämiseen.

Vaikka Arch Linux ei ole kaikkein parhaiten soveltuva järjestelmä tuotantopalvelimilla yhteisökeskeisen liikkuvan julkaisumallinsa vuoksi, se voi olla erittäin nopea ja luotettava lähde pienille ei-kriittisille tuotantoympäristöille.