Cum se instalează și se configurează LEMP pe Debian 8 (Jessie)


Unul dintre cele mai comune motive pentru a configura un sistem Linux este scopul de a găzdui site-uri web. Conform sondajului NetCraft.com din februarie 2016 privind cele mai aglomerate 1 milion de site-uri web din lume, aproximativ 15,60% dintre ele rulează pe Nginx.

Împreună cu probabilitatea ridicată că există un fel de conținut dinamic difuzat, precum și un fel de bază de date de bază pentru site-uri web, capacitatea unui administrator de a putea configura servere LEMP este foarte benefică atât pentru cei care caută un loc de muncă, cât și pentru angajatori!

Acest tutorial va parcurge elementele de bază ale instalării și configurării unui server Linux (în special Debian 8 Jessie) pentru a funcționa ca server LEMP.

Ce este LEMP Server?

Superba intrebare! Ca și în majoritatea lucrurilor din lumea computerelor, LEMP este acronim pentru Linux, Nginx, MySQL și PHP.

Acest acronim este folosit în mod obișnuit pentru a face referire la colecții de software de pe un server web. Acest tutorial va parcurge mai întâi configurarea LEMP, în special MySQL și PHP.

Înainte de a ne separa în aspectele de configurare ale sistemelor, este important să știți despre Nginx.

Ce este Nginx?

Nginx și-a început viața în 2002, când lumea informatică a început să realizeze că site-urile web cu zece mii sau mai multe conexiuni simultane erau o posibilitate foarte reală și, ca urmare, Nginx a fost creat de la zero pentru a rezolva această problemă.

Instalarea și configurarea unui MySQL și PHP

1. Această primă secțiune va acoperi Debian ca server MySQL și PHP. Partea Linux a serverului LEMP ar trebui să fie deja realizată prin instalarea Debian! Cu toate acestea, dacă este nevoie de un ghid despre cum să instalați Debian, vă rugăm să citiți următorul articol despre TecMint:

  1. Instalarea Debian 8 Jessie

Odată ce Debian este gata de pornire, procesul de instalare a restului software-ului necesar poate fi finalizat cu o comandă rapidă folosind meta-pachetatorul „apt”.

apt-get install mysql-server-5.5 php5-mysql php5

În funcție de hardware-ul sistemului și de conexiunea la Internet, acest proces poate dura ceva timp. În momentul scrierii acestui articol, o nouă instalare Debian Jessie cu toate actualizările aplicate necesita aproximativ 70 MB de arhive din depozite (nu chiar atât de rău având în vedere ce va face serverul când lucrurile vor fi terminate)! În timpul procesului de instalare, sistemul poate solicita utilizatorului să seteze o parolă de utilizator root SQL. Aceasta este diferită de parola reală a utilizatorului root și, din motive de securitate, ar trebui probabil să rămână diferită.

2. Odată ce apt termină instalarea întregului software, serviciile de bază vor fi în funcțiune. Cu toate acestea, oprirea aici ar fi un tutorial foarte scurt! Deci, să ne aruncăm puțin mai mult în configurația fiecăreia dintre bucățile de software instalate începând cu MySQL.

3. După instalarea MySQL, este adesea recomandat ca serverul SQL să aibă o întreținere de bază la instalarea implicită. Acest lucru este ușor de realizat cu utilitarul mysql_secure_installation.

Această comandă este pur și simplu rulată din linia de comandă și va solicita utilizatorului să elimine lucruri precum utilizatori anonimi, baze de date de testare și să elimine posibilitatea de conectare la distanță a utilizatorului root la baza de date SQL.

mysql_secure_installation

Această comandă va porni un prompt interactiv care va pune întrebări cu privire la subiectele de mai sus. Deoarece apt a solicitat deja o parolă de root MySQL, acea parolă va trebui introdusă pentru a face orice modificări. Deoarece parola root a fost deja setată, Nu poate fi răspunsul la solicitarea despre schimbarea parolei root pe serverul MySQL.

4. Următorul set de întrebări va fi referitor la utilizatorii anonimi, baza de date „test” și accesul root la baza de date de la distanță. De obicei, este sigur să răspundeți la Da la toate aceste solicitări, cu excepția cazului în care există un motiv special pentru care configurarea ar avea nevoie de una dintre aceste opțiuni lăsată intactă.

NOTĂ: poate apărea o eroare legată de eșecul ștergerii unei baze de date numită „test”, nu vă faceți griji pentru acest lucru, deoarece baza de date poate sau s-ar putea să nu existe și indiferent de script-ul va continua să facă ceea ce este necesar.

În acest moment, MySQL este gata de funcționare. Fără a ști ce baze de date sau utilizatori vor fi necesare, este dificil să faci mult mai multă configurare. Cu toate acestea, majoritatea site-urilor web vor crea adesea automat bazele de date și utilizatorii necesari atunci când software-ul este instalat. Totuși, aceasta depinde foarte mult de software și ar necesita o privire rapidă asupra fișierelor README ale software-ului sau a instrucțiunilor de instalare.

5. Acum că MySQL este configurat, să mergem mai departe și să setăm câteva setări de bază PHP pentru acest server anume. Deși există o mulțime de setări care pot fi manipulate pentru PHP, există doar câteva de bază care aproape întotdeauna ar trebui modificate. Fișierul de configurare php se află la /etc/php5/fpm/php.ini. Deschideți acest fișier cu orice editor de text.

nano /etc/php5/fpm/php.ini

Folosind abilitățile de căutare ale nano, ctrl+w, căutați șirul „memory_limit ” (omițând ghilimele). La o instalare implicită, această linie va fi deja setată la 128 M, dar dacă o aplicație are nevoie de mai multe, această linie poate fi modificată pentru a se adapta cerințelor.

O altă opțiune importantă de verificat este „max_execution_time ” și din nou implicit va fi setat la 30. Dacă o aplicație necesită mai mult, această opțiune poate fi schimbată. Unii oameni preferă să configureze și logarea php într-un fișier/director special. Dacă aceasta este o cerință, căutați șirul „error_log = ” și apoi decomentați linia eliminând punctul și virgulă care se află în general acolo în mod implicit.

În acest moment, o valoare pentru fișierul jurnal poate fi adăugată la sfârșitul liniei. Asigurați-vă că calea există pe sistem. După ce ați terminat de făcut modificările necesare în fișierul php.ini, salvați modificările și ieșiți din editorul de text. În acest moment, MySQL și PHP5 sunt gata să înceapă să găzduiască site-uri. Acum este timpul să configurați Nginx.

Instalarea și configurarea Nginx

6. Nginx (motor X) este un server web alternativ și foarte puternic. Această secțiune a acestui tutorial va parcurge configurarea unei pagini web pe care Nginx să o găzduiască. Primul pas pentru configurarea Nginx este să instalați pachetele necesare folosind utilitarul „apt‘.

apt-get install nginx

Presupunând că toate dependențele sunt satisfăcute, navigarea la adresa IP a serverului într-un browser web ar trebui să producă site-ul implicit Nginx.

NOTĂ: există cazuri în care, după instalarea Nginx, serverul nu este pornit automat. Dacă navigarea la adresa IP a serverului într-un browser web nu generează pagina de mai jos, lansați următoarea comandă pentru a vă asigura că Nginx este pornit.

service nginx start

Nginx găzduiește acum cu succes pagina implicită. În timp ce pagina implicită Debian este un site web strălucitor, majoritatea utilizatorilor vor dori să găzduiască ceva personalizat.

7. Următorii pași vor trece prin configurarea Nginx pentru a găzdui un site web diferit. Nginx, la fel ca Apache 2, are propriul director de configurații situat la /etc/nginx. Comutați în acest director folosind utilitarul cd.

cd /etc/nginx

Pentru acest tutorial există mai multe fișiere și directoare importante pentru configurarea unui site web folosind Nginx. Primele două directoare care sunt importante sunt directoarele „sites-available‘ și „sites-enabled‘. La fel ca Apache 2, Nginx folosește fișiere de configurare pentru fiecare site din directorul de site-uri disponibile, care atunci când sunt active sunt legate simbolic în directorul de site-uri activate.

Primul lucru necesar pentru a scăpa de site-ul implicit este să eliminați linkul simbolic din site-urile activate.

rm sites-enabled/default

8. Acum trebuie creat și conectat un nou fișier de configurare a site-ului pentru ca Nginx să difuzeze pagina. Crearea fișierului de configurare a site-ului poate fi simplificată prin copierea și modificarea configurației implicite a site-urilor.

cp sites-available/default sites-available/tecmint-test

Aceasta va crea un nou fișier de configurare a site-ului cu care să lucrați. Deschideți acest fișier într-un editor de text pentru a schimba calea pe care Nginx va servi fișierele.

nano sites-available tecmint-test

În acest fișier există câteva opțiuni importante de schimbat pentru ca Nginx să deservească un site. Prima este linia care începe cu „root”, deoarece această linie definește unde Nginx ar trebui să servească fișierele pentru acest site special.

Acest tutorial îl va lăsa ca implicit „/var/www/html‘ și va plasa pur și simplu fișierele html care vor fi difuzate în acest director. Cu toate acestea, asigurați-vă că modificați această cale dacă trebuie să existe mai multe site-uri sau o configurație personalizată pe acest server.

Următoarea linie de importanță este linia „index”. Deoarece acest articol este despre instalarea LEMP și un site ar putea servi pagini php, Nginx trebuie să fie informat că pagina implicită poate fi o pagină php. Pentru a face acest lucru, adăugați pur și simplu „index.php” la sfârșitul listei de fișiere indexate.

Înainte de a activa noul site, trebuie să existe ceva acolo pentru ca Nginx să servească. Pagina de index implicită există deja, dar pentru a confirma că un alt site funcționează, să înlocuim conținutul paginii implicite cu altceva.

echo “It's ALIVE!” > /var/www/html/index.html

9. Următorul pas este să activați noul site prin conectarea fișierului de configurare tocmai creat la directorul site-uri activate. Acest lucru se realizează cu ușurință prin utilizarea comenzii ln și apoi reîncărcarea configurației lui Nginx cu utilitarul de serviciu.

ln -s /etc/nginx/sites-available/tecmint-test sites-enabled/tecmint-test
service nginx reload

În acest moment, Nginx ar trebui să servească noua pagină web „simple”. Acest lucru poate fi confirmat navigând la adresa IP a serverului printr-un browser web!

Din nou, acest articol a vrut să fie configurații foarte simple ale LEMP. Majoritatea site-urilor ar necesita o configurare suplimentară pentru toate părțile implicate, dar opțiunile de configurare ar putea varia în mii! Mult noroc în orice configurație aleasă să găzduiască site-uri web.