Kako instalirati i konfigurirati LEMP na Debian 8 (Jessie)


Jedan od najčešćih razloga za postavljanje Linux sistema je u svrhu hostovanja web stranice. Prema istraživanju NetCraft.com iz februara 2016. o 1 milion najprometnijih web stranica na svijetu, otprilike 15,60% njih radi na Nginxu.

U kombinaciji sa velikom vjerovatnoćom da postoji neka vrsta dinamičkog sadržaja koji se servira kao i neka vrsta pozadinske baze podataka za web stranice, mogućnost da administrator može postaviti LEMP servere je vrlo korisna za osobe koje traže posao i poslodavce!

Ovaj vodič će proći kroz osnove instaliranja i konfiguriranja Linux poslužitelja (posebno Debian 8 Jessie) da funkcionira kao LEMP poslužitelj.

Šta je LEMP server?

Odlično pitanje! Kao i kod većine stvari u računarskom svijetu LEMP je akronim za Linux, Nginx, MySQL i PHP.

Ovaj akronim se obično koristi za referenciranje softverskih kolekcija na web serveru. Ovaj vodič će prvo proći kroz postavljanje LEMP-a, konkretno MySQL i PHP.

Prije razdvajanja na aspekte konfiguracije sistema, važno je znati o Nginxu.

Šta je Nginx?

Nginx je započeo svoj život 2002. godine kada je svijet računarstva počeo shvaćati da su web stranice sa deset hiljada ili više istovremenih veza vrlo realna mogućnost i kao rezultat toga je Nginx kreiran od nule da riješi ovaj problem.

Instalacija i konfiguracija MySQL-a i PHP-a

1. Ovaj prvi odjeljak će pokriti Debian kao MySQL i PHP poslužitelj. Linux dio LEMP poslužitelja bi već trebao biti gotov instalacijom Debiana! Međutim, ako postoji potreba za vodičem o tome kako instalirati Debian, pročitajte sljedeći članak o TecMintu:

  1. Instalacija Debian 8 Jessie

Nakon što je Debian spreman za rad, proces instaliranja ostatka potrebnog softvera može se dovršiti jednom brzom naredbom pomoću meta-pakera „apt“.

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

Ovisno o hardveru sistema i internet konekciji, ovaj proces može potrajati. Od ovog pisanja, nova instalacija Debian Jessiea sa svim primijenjenim ažuriranjima zahtijevala je oko 70MB arhiva iz spremišta (nije tako loše s obzirom na to što će poslužitelj raditi kada se stvari završe)! Tokom procesa instalacije, sistem može zatražiti od korisnika da postavi SQL root korisničku lozinku. Ovo se razlikuje od lozinke stvarnog root korisnika i zbog sigurnosti bi vjerojatno trebalo ostati drugačije.

2. Nakon što apt završi instaliranje cijelog softvera, osnovne usluge će biti pokrenute i raditi. Međutim, zaustavljanje ovdje bi predstavljalo vrlo kratak vodič! Zaronimo malo više u konfiguraciju svakog od instaliranih dijelova softvera počevši od MySQL-a.

3. Nakon instalacije MySQL, često se preporučuje da SQL server obavi neke osnovne kućne poslove na zadanoj instalaciji. Ovo se lako postiže pomoću mysql_secure_installation uslužnog programa.

Ova naredba se jednostavno pokreće iz komandne linije i traži od korisnika da ukloni stvari kao što su anonimni korisnici, testne baze podataka i ukloni mogućnost udaljenog root korisnika prijavljivanja u SQL bazu podataka.

mysql_secure_installation

Ova komanda će pokrenuti interaktivni prompt koji će postavljati pitanja u vezi sa gornjim temama. Pošto je apt već zatražio MySQL root lozinku, tu lozinku će trebati unijeti da bi se izvršile bilo kakve promjene. Pošto je root lozinka već postavljena, Ne može biti odgovor na upit o promjeni root lozinke na MySQL serveru.

4. Sljedeći set pitanja će se odnositi na anonimne korisnike, „test“ bazu podataka i root pristup bazi podataka na daljinu. Obično je bezbedno odgovoriti Da na sve ove upite, osim ako ne postoji poseban razlog zašto bi instalacija trebala ostaviti jednu od ovih opcija netaknutom.

NAPOMENA: Može doći do greške zbog neuspjeha brisanja baze podataka pod nazivom 'test', ne brinite o tome jer baza podataka može ili možda ne postoji i bez obzira na to skripta će nastaviti da radi ono što je potrebno.

U ovom trenutku MySQL je spreman za rad. Bez znanja koje baze podataka ili korisnici će biti potrebne, teško je napraviti mnogo više konfiguracije. Međutim, većina web stranica često automatski kreira potrebne baze podataka i korisnike kada se softver instalira. Ovo ipak ovisi o softveru i zahtijevalo bi brzi pregled softverskih README datoteka ili uputstava za instalaciju.

5. Sada kada je MySQL konfiguriran, idemo naprijed i podesimo neke osnovne PHP postavke za ovaj određeni server. Iako postoji mnoštvo postavki kojima se može manipulisati za PHP, postoji samo nekoliko osnovnih koje bi gotovo uvijek trebalo mijenjati. php konfiguracijski fajl se nalazi na /etc/php5/fpm/php.ini. Otvorite ovu datoteku bilo kojim uređivačem teksta.

nano /etc/php5/fpm/php.ini

Koristeći nano mogućnosti pretraživanja ctrl+w pretražite niz “memory_limit” (izostavljajući navodnike). Prilikom zadane instalacije ova linija će već biti postavljena na 128M, ali ako aplikaciji zatreba više, ova linija se može promijeniti kako bi se prilagodila zahtjevima.

Još jedna važna opcija koju treba provjeriti je “max_execution_time” i opet će po defaultu biti postavljeno na 30. Ako aplikacija zahtijeva više, ova opcija se može promijeniti. Neki ljudi više vole da takođe podese php logovanje u posebnu datoteku/direktorijum. Ako je ovo uslov, potražite string “error_log = ”, a zatim dekomentirajte red tako što ćete ukloniti tačku-zarez koja je tamo po defaultu.

U ovom trenutku vrijednost za datoteku dnevnika može se dodati na kraj reda. Budite sigurni da put postoji na sistemu. Kada završite sa svim potrebnim izmjenama u datoteci php.ini, sačuvajte promjene i izađite iz uređivača teksta. U ovom trenutku, MySQL i PHP5 su spremni za početak hostovanja web lokacija. Sada je vrijeme da konfigurirate Nginx.

Instalacija i konfiguracija Nginxa

6. Nginx (engine X) je alternativni i vrlo moćan web server. Ovaj dio ovog vodiča će proći kroz postavljanje web stranice za Nginx za hostovanje. Prvi korak u konfiguraciji Nginxa je instaliranje potrebnih paketa pomoću uslužnog programa „apt“.

apt-get install nginx

Pod pretpostavkom da su sve zavisnosti zadovoljene, navigacija do IP adrese servera u web pretraživaču bi trebala dati zadanu Nginx web stranicu.

NAPOMENA: Postoje slučajevi u kojima se nakon instaliranja Nginxa server ne pokreće automatski. Ako navigacija do IP adrese servera u web pretraživaču ne daje stranicu ispod, izdajte sljedeću naredbu kako biste osigurali da je Nginx pokrenut.

service nginx start

Nginx sada uspješno hostuje zadanu stranicu. Dok je zadana stranica Debiana blještava web stranica, većina korisnika će htjeti ugostiti nešto prilagođeno.

7. Sljedeći koraci će proći kroz postavljanje Nginxa za hostovanje druge web stranice. Nginx, slično kao i Apache 2, ima vlastiti direktorij konfiguracija koji se nalazi na /etc/nginx. Prebacite se na ovaj direktorij koristeći cd uslužni program.

cd /etc/nginx

Za ovaj vodič postoji nekoliko važnih datoteka i direktorija za postavljanje web stranice pomoću Nginxa. Prva dva direktorija koja su važna su direktoriji „sites-available“ i „sites-enabled“. Slično kao i Apache 2, Nginx koristi konfiguracijske datoteke za svaku lokaciju u direktoriju dostupnih lokacija koje su, kada su aktivne, simbolički povezane u direktoriju s omogućenim web lokacijama.

Prva stvar koja je potrebna da biste se riješili zadane stranice je uklanjanje simboličke veze u web-lokacijama koje su omogućene.

rm sites-enabled/default

8. Sada je potrebno kreirati novu konfiguracijsku datoteku web lokacije i povezati je kako bi Nginx poslužio stranicu. Kreiranje konfiguracijske datoteke web-mjesta može se pojednostaviti kopiranjem i modifikacijom zadane konfiguracije web-mjesta.

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

Ovo će kreirati novu konfiguracijsku datoteku stranice za rad. Otvorite ovu datoteku u uređivaču teksta da promijenite putanju na kojoj će Nginx posluživati datoteke.

nano sites-available tecmint-test

Unutar ove datoteke postoji nekoliko važnih opcija koje treba promijeniti kako bi Nginx služio web-lokaciji. Prvi je red koji počinje sa 'root' jer ovaj red definira gdje Nginx treba poslužiti datoteke za ovu konkretnu stranicu.

Ovaj vodič će ga ostaviti kao zadano od „/var/www/html“ i jednostavno će postaviti html datoteke koje će biti servirane u ovaj direktorij. Međutim, obavezno izmijenite ovu putanju ako na ovom serveru postoji više lokacija ili prilagođena konfiguracija.

Sljedeća linija važnosti je linija „indeks“. Budući da je ovaj članak o LEMP instalaciji i da bi stranica potencijalno mogla posluživati php stranice, Nginx treba biti obaviješten da zadana stranica može biti php stranica. Da biste to učinili, jednostavno dodajte „index.php“ na kraj indeksne liste datoteka.

Prije nego što omogućite novu stranicu, mora postojati nešto što će Nginx poslužiti. Zadana stranica indeksa već postoji, ali da bismo potvrdili da druga stranica radi, zamijenimo sadržaj zadane stranice nečim drugim.

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

9. Sljedeći korak je da omogućite novu web lokaciju povezivanjem upravo kreirane konfiguracijske datoteke sa direktorijem sites-enabled. Ovo se lako postiže upotrebom naredbe ln, a zatim ponovnim učitavanjem konfiguracije Nginxa pomoću uslužnog programa.

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

U ovom trenutku Nginx bi trebao posluživati novu 'jednostavnu' web stranicu. Ovo se može potvrditi navigacijom do IP adrese servera putem web pretraživača!

Opet, ovaj članak je trebao biti vrlo jednostavne konfiguracije LEMP-a. Većina lokacija bi zahtijevala daljnju konfiguraciju za sve uključene dijelove, ali opcije konfiguracije mogu se kretati u hiljadama! Sretno u bilo kojoj postavci odabranoj za hostovanje web stranica.