Kako instalirati i konfigurirati LEMP na Debianu 8 (Jessie)


Jedan od najčešćih razloga za postavljanje Linux sustava je u svrhu hostinga web stranice. Prema istraživanju NetCraft.coma iz veljače 2016. o milijunu najprometnijih web stranica na svijetu, otprilike 15,60% njih radi na Nginxu.

U kombinaciji s velikom vjerojatnošću da postoji neka vrsta dinamičkog sadržaja koji se poslužuje kao i neka vrsta pozadinske baze podataka za web-mjesta, mogućnost administratora da može postaviti LEMP poslužitelje vrlo je koristan za tražitelje posla 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.

Što je LEMP poslužitelj?

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

Ovaj se akronim obično koristi za referencu na zbirke softvera na web poslužitelju. Ovaj vodič će prvo proći kroz postavljanje LEMP-a, posebno MySQL i PHP.

Prije odvajanja na aspekte konfiguracije sustava, važno je znati nešto o Nginxu.

Što je Nginx?

Nginx započeo je svoj život 2002. godine kada je računalni svijet počeo shvaćati da su web stranice s deset tisuća ili više istodobnih veza vrlo realna mogućnost i kao rezultat toga Nginx je stvoren od nule kako bi riješio ovaj problem.

Instalacija i konfiguracija MySQL-a i PHP-a

1. Ovaj prvi odjeljak pokriva Debian kao MySQL i PHP poslužitelj. Linux dio LEMP poslužitelja već bi trebao biti gotov instaliranjem Debiana! Međutim, ako bude potrebe za vodičem o tome kako instalirati Debian, pročitajte sljedeći članak na TecMint:

  1. Instalacija Debiana 8 Jessie

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

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

Ovisno o hardveru sustava i internetskoj vezi, ovaj proces može potrajati neko vrijeme. Od pisanja ovog teksta, svježa instalacija Debian Jessie sa svim primijenjenim ažuriranjima zahtijevala je oko 70MB arhiva iz repozitorija (nije tako loše s obzirom na to što će poslužitelj raditi kada se stvari završe)! Tijekom procesa instalacije, sustav može zatražiti od korisnika da postavi SQL root korisničku lozinku. Ovo se razlikuje od lozinke stvarnog root korisnika i radi sigurnosti bi vjerojatno trebalo ostati drugačije.

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

3. Nakon instalacije MySQL-a često se preporučuje da SQL poslužitelj obavi neke osnovne poslove održavanja na zadanoj instalaciji. To se lako postiže pomoću uslužnog programa mysql_secure_installation.

Ova se naredba jednostavno izvodi iz naredbenog retka i traži od korisnika da ukloni stvari kao što su anonimni korisnici, testne baze podataka i ukloni mogućnost udaljene root korisničke prijave u SQL bazu podataka.

mysql_secure_installation

Ova naredba pokrenut će interaktivni upit koji će postavljati pitanja o gore navedenim temama. Budući da je apt već zatražio root lozinku za MySQL, tu lozinku treba unijeti kako biste izvršili bilo kakve promjene. Budući da je root lozinka već postavljena, Ne može biti odgovor na upit o promjeni root lozinke na MySQL poslužitelju.

4. Sljedeći skup pitanja bit će u vezi s anonimnim korisnicima, bazom podataka „test“ i daljinskim root pristupom bazi podataka. Obično je sigurno odgovoriti Da na sve ove upite, osim ako ne postoji određeni razlog zašto bi postavljanje trebalo ostaviti jednu od ovih opcija netaknutom.

NAPOMENA: Možda postoji pogreška u vezi s neuspjelim brisanjem baze podataka pod nazivom 'test', ne brinite zbog toga jer baza podataka može ili možda neće postojati i bez obzira na to skripta će nastaviti raditi ono što je potrebno.

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

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

nano /etc/php5/fpm/php.ini

Koristeći nanoove mogućnosti pretraživanja ctrl+w pretražite niz “memory_limit ” (izostavljajući navodnike). Kod zadane instalacije ovaj će redak već biti postavljen na 128M, ali ako aplikacija treba više, ovaj redak se može promijeniti kako bi se prilagodio zahtjevima.

Još jedna važna opcija koju treba provjeriti je “max_execution_time” i opet će prema zadanim postavkama biti postavljena na 30. Ako aplikacija zahtijeva više, ova opcija se može promijeniti. Neki ljudi radije također postavljaju php prijavu u posebnu datoteku/direktorij. Ako je to preduvjet, potražite niz “error_log =” i zatim skinite komentar s retka uklanjanjem točke-zareza koji se tamo obično nalazi prema zadanim postavkama.

U ovom trenutku vrijednost za log datoteku može se dodati na kraj retka. Provjerite postoji li staza u sustavu. Kada završite s unošenjem svih potrebnih promjena u datoteku php.ini, spremite promjene i izađite iz uređivača teksta. U ovom su trenutku MySQL i PHP5 spremni za početak hostinga web stranica. Sada je vrijeme da konfigurirate Nginx.

Instaliranje i konfiguriranje Nginxa

6. Nginx (engine X) je alternativni i vrlo moćan web poslužitelj. Ovaj dio ovog vodiča proći će kroz postavljanje web stranice za hosting Nginxa. Prvi korak u konfiguriranju Nginxa je instaliranje potrebnih paketa pomoću uslužnog programa ‘apt’.

apt-get install nginx

Pod pretpostavkom da su sve ovisnosti zadovoljene, navigacija do IP adrese poslužitelja u web pregledniku trebala bi dati zadanu Nginx web stranicu.

NAPOMENA: Postoje slučajevi u kojima se nakon instaliranja Nginxa poslužitelj ne pokreće automatski. Ako navigacija do IP adrese poslužitelja u web pregledniku ne rezultira donjom stranicom, izdajte sljedeću naredbu kako biste bili sigurni da je Nginx pokrenut.

service nginx start

Nginx sada uspješno hostira zadanu stranicu. Dok je Debianova zadana stranica blistavo web mjesto, većina korisnika će htjeti ugostiti nešto prilagođeno.

7. Sljedeći koraci proći će kroz postavljanje Nginxa za hostiranje druge web stranice. Nginx, slično kao i Apache 2, ima vlastiti konfiguracijski direktorij koji se nalazi na /etc/nginx. Prijeđite na ovaj direktorij pomoću uslužnog programa cd.

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 svako mjesto u direktoriju dostupnih web-mjesta koje su kada su aktivne simbolično povezane u imenik omogućenih web-mjesta.

Prvo što je potrebno da biste se riješili zadane web-lokacije jest ukloniti simboličku vezu u web-mjestima omogućenim.

rm sites-enabled/default

8. Sada je potrebno stvoriti i povezati novu datoteku konfiguracije web mjesta kako bi NGINX poslužio stranicu. Izrada konfiguracijske datoteke web mjesta može se pojednostaviti kopiranjem i izmjenom zadanih konfiguracije web mjesta.

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

Ovo će stvoriti novu konfiguracijsku datoteku stranice za rad. Open this file in a text editor to change the path that Nginx will serve files.

nano sites-available tecmint-test

Unutar ove datoteke postoji nekoliko važnih opcija za promjenu kako bi Nginx služio web mjestu. Prvi je redak koji počinje s 'root' budući da ovaj redak definira gdje bi Nginx trebao posluživati datoteke za ovu određenu stranicu.

Ovaj vodič će ostaviti kao zadanu vrijednost ‘/var/www/html’ i jednostavno smjestiti html datoteke koje će se posluživati u ovaj direktorij. Međutim, budite sigurni da ste izmijenili ovaj put ako na ovom poslužitelju postoji više stranica ili prilagođena konfiguracija.

Sljedeći redak po važnosti je redak ‘index’. Budući da se ovaj članak odnosi na instalaciju LEMP-a i da bi web mjesto potencijalno moglo posluživati php stranice, Nginx treba obavijestiti da zadana stranica može biti php stranica. Da biste to učinili, jednostavno dodajte ‘index.php’ na kraj popisa indeksa datoteka.

Prije nego što omogućite novu stranicu, tamo mora postojati nešto što će Nginx služiti. Zadana indeksna stranica već postoji, ali da potvrdimo 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 omogućiti novu stranicu povezivanjem konfiguracijske datoteke koja je upravo stvorena s sites-enabled imenikom. To se lako postiže upotrebom naredbe ln i zatim ponovnim učitavanjem konfiguracije Nginxa pomoću uslužnog programa usluge.

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. To se može potvrditi navigacijom do IP adrese poslužitelja putem web preglednika!

Opet, ovaj je članak trebao biti vrlo jednostavne konfiguracije LEMP-a. Većina stranica bi zahtijevala daljnju konfiguraciju svih uključenih dijelova, ali mogućnosti konfiguracije mogu se kretati u tisućama! Puno sreće u bilo kojoj postavci odabranoj za hostiranje web stranica.