LEMP (Nginx, PHP, MySQL ar MariaDB dzinēju un PhpMyAdmin) instalēšana Arch Linux


Sakarā ar Rolling Release modeli, kas ietver visjaunāko programmatūru, Arch Linux netika izstrādāts un izstrādāts, lai darbotos kā serveris, lai nodrošinātu uzticamus tīkla pakalpojumus, jo tas prasa papildu laiku apkopei, konstantu jauninājumiem un saprātīgām failu konfigurācijām.

Tomēr, tā kā Arch Linux nāk ar CD koda instalāciju ar minimālu iepriekš instalētu programmatūru, tas var būt stabils sākumpunkts, lai šajās dienās instalētu lielāko daļu populāro tīkla pakalpojumu, tostarp < b> LEMP vai LAMP , Apache tīmekļa serveris, Nginx, PHP, SQL datu bāzes, Samba, FTP serveri, BIND un citi, daudzi no tiem tiek nodrošināti no Arch Oficiālie Linux krātuves un citi no AUR .

Šī apmācība palīdzēs instalēt un konfigurēt LEMP steku (Nginx, PHP, MySQL ar MariaDB dzinēju un PhpMyAdmin) no attāluma, izmantojot SSH, kas var nodrošināt spēcīgu pamatu Web servera lietojumprogrammu veidošanai.

Iepriekšējā Arch Linux instalēšanas rokasgrāmata, izņemot tīkla daļas ar DHCP pēdējo daļu.

1. darbība: piešķiriet statisko IP tīkla saskarnē

1. Pēc minimālas Arch Linux pamata instalēšanas restartējiet serveri, piesakieties ar root kontu vai līdzvērtīgu administratīvo sudo kontu un, izmantojot komandu ip link , identificējiet sistēmas NIC ierīču nosaukumus.

# ip link

2. Lai piešķirtu statiskas tīkla konfigurācijas, tīkla savienojumu pārvaldīšanai izmantosim paketi Netctl . Pēc tam, kad esat veiksmīgi identificējis tīkla saskarnes nosaukumus, kopējiet ethernet-static faila veidni uz netctl sistēmas ceļu un nomainiet tās nosaukumu uz aprakstošu nosaukumu shēmu ( mēģiniet izmantot virkni “statiskā ” kopā ar NIC nosaukumu), izsniedzot šādu komandu.

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

3. Nākamais solis ir rediģēt šo jauno veidnes failu, mainot faila direktīvas un sniedzot faktiskos tīkla iestatījumus (saskarne, IP/tīkla maska, vārteja, apraide, DNS), kā parādīts zemāk esošajā fragmentā.

# 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. Nākamais solis ir sākt tīkla savienojumu, izmantojot sistēmas netctl rīku, un pārbaudīt sistēmas savienojamību, izsniedzot šādas komandas.

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

5. Ja saņemat aktīvu zaļas krāsas izejas statusu, esat veiksmīgi konfigurējis savu Tīkla saskarni un ir pienācis laiks to automātiski iespējot sistēmas mēroga pakalpojumos. Pārbaudiet arī savu tīklu, palaižot komandu ping pret domēna vārdu, kā arī instalējiet paketi net-tools (vispazīstamākā šīs paketes iezīme ir komanda ifconfig, kura Arch izstrādātāji tiek uzskatīti par novecojušiem un aizstāja tos ar iproute2 ).

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

6. Tagad jūs varat palaist komandu ifconfig , lai pārbaudītu Tīkla saskarnes iestatījumus un pārbaudītu, vai viss tiek parādīts pareizi, pēc tam pārstartējiet savu sistēmu, lai pārliecinātos viss ir vietā un pareizi konfigurēts.

# ping linux-console.net

2. darbība: instalējiet LEMP programmatūru

Kā norādīts šī raksta ievadā, LEMP apzīmē Linux + Nginx + PHP/PhpMyAdmin + MySQL/MariaDB, kas šodien ir viena no visplašāk izplatītajām tīmekļa lietojumprogrammu platformām aiz LAMP ( vienāds ar Apache vienādojumā).

7. Pirms faktiski instalējat LEMP kaudzīti, mums jāatjaunina sistēma un pēc tam jāiegūst tālvadība Arch Linux serverī. Kā jūs droši vien zināt, ka OpenSSH ir galvenais šī darba kandidāts, turpiniet to instalēt, palaidiet SSH dēmonu un iespējojiet to visā sistēmā.

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

Ir pienācis laiks turpināt instalēt LEMP . Tā kā šī apmācība ir paredzēta kā visaptveroša rokasgrāmata, es soli pa solim sadalīšu LEMP kaudzes instalāciju mazos gabalos.

8. Vispirms instalējiet Nginx Web Server , pēc tam palaidiet to un pārbaudiet tā statusu, izdodot šādas komandas.

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

9. Nākamais instalējamais pakalpojums ir MySQL datu bāze. Izdodiet šādu komandu, lai instalētu MySQL datu bāzes serveri, un izvēlieties MariaDB dzinēju, pēc tam sāciet un pārbaudiet dēmona statusu.

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

10. Nākamais solis ir nodrošināt ļoti drošu vidi MySQL datu bāzēm, nodrošinot paroli MySQL saknes kontam, noņemot anonīmu lietotāja kontu, noņemot testa datu bāzi un saknes kontus, kas ir pieejami no ārpus localhost. Izpildiet šo komandu, lai uzlabotu MySQL drošību, nospiediet [ Enter ], lai iegūtu pašreizējo saknes konta paroli, pēc tam atbildiet uz uz visiem jautājumiem (iestatiet arī saknes konta paroli).

$ sudo mysql_secure_installation

Piezīme: Nekādā gadījumā nejauciet MySQL saknes kontu ar Linux sistēmas saknes kontu - tās ir divas dažādas lietas - ne tik atšķirīgas, bet darbojas dažādos līmeņos.

Lai pārbaudītu MySQL drošības pieteikšanos datu bāzē, izmantojot komandas sintaksi mysql -u root -p , norādiet saknes paroli, pēc tam atstājiet datu bāzi ar komandu exit; .

# mysql -u root -p

11. Tagad ir pienācis laiks instalēt servera puses skriptu valodu PHP , lai varētu izstrādāt un palaist sarežģītas dinamiskas tīmekļa lietojumprogrammas, nevis tikai apkalpot HTML/CSS kodu.

Tā kā mēs izmantojam Nginx kā tīmekļa serveri, mums jāinstalē PHP-FPM atbalstīts modulis, lai sazinātos caur Fast Common Gateway un mainītu ģenerēto dinamisko saturu pēc PHP skriptiem.

Izdodiet šādu komandrindu, lai instalētu pakalpojumu PHP-FPM , pēc tam palaidiet dēmonu un pārbaudiet statusu.

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

Lai uzskaitītu visus pieejamos PHP moduļus , izsniedziet šādas komandas.

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

12. Viena no pēdējām darbībām ir PhpMyAdmin tīmekļa saskarnes instalēšana MySQL datu bāzei. Izdodiet šādu komandu, lai instalētu PhpMyAdmin kopā ar PHP nepieciešamo moduli, pēc tam izveidojiet simbolisku saiti PhpMyaAdmin sistēmas ceļam uz Nginx noklusējuma saknes ceļu.

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

13. Pēc tam konfigurējiet failu php.ini , lai iekļautu nepieciešamos paplašinājumus, kas nepieciešami PhpMyAdmin lietojumprogrammai.

$ sudo nano /etc/php/php.ini

Atrodiet ar taustiņiem [ CTRL + W ] un noņemiet komentāru (rindas sākumā noņemiet ; ) šādas rindas.

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

Tajā pašā failā atrodiet un rediģējiet open_basedir direktīvu, lai tas būtu līdzīgs šādiem iekļautajiem direktorijiem.

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

14. Nākamais solis ir iespējot PHP-FPM FastCGI localhost Nginx direktīvā. Izdodiet nākamo komandu, lai dublētu nginx.conf tīmekļa servera faila konfigurāciju, pēc tam aizstājiet to ar šo saturu.

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

Pievienojiet visu šo saturu vietnē 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ēc visu failu konfigurāciju veikšanas viss, kas jums jādara, ir jārestartē Nginx un PHP-FPM pakalpojumi un jānorāda pārlūkprogrammā uz http:// localhost/phpmyadmin vietējā mezgla URL vai http:// arch_IP/phpmyadmin veido citu datoru.

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

16. Ja viss darbojas kā paredzēts, pēdējais solis ir ļaut LEMP visai sistēmai ar šādām komandām.

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

Apsveicam! Jūs esat instalējis un konfigurējis lietotni LEMP vietnē Arch Linux un tagad jums ir pilna dinamiskā saskarne, lai sāktu un attīstītu tīmekļa lietojumprogrammas.

Lai arī Arch Linux tā nav vispiemērotākā sistēma darbībai ražošanas serveros, pateicoties tās kopienai orientētajam ritošā izlaišanas modelim, tā var būt ļoti ātrs un uzticams avots nelielām nekritiskām ražošanas vidēm.