Blog članak

Kako instalirati LAMP stack na Ubuntu 20.04

Vodič korak po korak za instalaciju Linuxa, Apachea, MySQL-a i PHP-a na Ubuntu 20.04 kako biste mogli hostati PHP aplikacije na standardnom LAMP stacku.

“LAMP” stack je skup open-source softvera koji se obično instalira zajedno kako bi server mogao hostati dinamičke web stranice i web aplikacije napisane u PHP-u. Naziv je akronim za Linux operativni sustav, Apache web server, MySQL bazu podataka i PHP koji obrađuje dinamički sadržaj.

U ovom vodiču instalirat ćemo LAMP stack na Ubuntu 20.04 server.

Korak 1 - instalacija Apachea i ažuriranje firewalla

Apache web server jedan je od najpopularnijih web servera na svijetu. Odlično je dokumentiran, ima aktivnu zajednicu korisnika i koristi se kroz velik dio povijesti weba, zbog čega je vrlo dobar zadani izbor za hostanje web stranice.

Instalirajte Apache pomoću Ubuntu package managera apt:

sudo apt update
sudo apt install apache2

Ako prvi put koristite sudo u ovoj sesiji, sustav će vas tražiti korisničku lozinku kako bi potvrdio da imate potrebne privilegije za upravljanje paketima. Također ćete potvrditi instalaciju Apachea tipkom Y, a zatim ENTER.

Kada instalacija završi, trebat ćete prilagoditi firewall pravila kako bi HTTP promet bio dopušten. UFW ima različite application profileove koje možete iskoristiti. Popis svih trenutno dostupnih profila možete dobiti naredbom:

sudo ufw app list

Koristit ćemo Apache Full jer ovaj profil otvara i port 80, običan nešifrirani web promet, i port 443, TLS odnosno SSL šifrirani promet.

sudo ufw allow in "Apache Full"

Promjenu možete provjeriti naredbom:

sudo ufw status

Ako ne znate koja je javna IP adresa servera, postoji više načina da je saznate. To je obično adresa koju koristite za povezivanje na server preko SSH-a.

Jedan od načina iz command linea je ovaj:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

To će vratiti dvije ili tri linije. Sve su ispravne adrese, ali računalo će možda moći koristiti samo jednu, pa slobodno isprobajte svaku.

Korak 2 - instalacija MySQL-a

Sada kada imate pokrenut web server, potrebno je instalirati database sustav kako biste mogli pohranjivati i upravljati podacima za svoju stranicu. MySQL je popularan database management sustav koji se često koristi u PHP okruženjima.

Ponovno upotrijebite apt za instalaciju softvera:

sudo apt install mysql-server

Kada vas sustav pita, potvrdite instalaciju tipkom Y pa ENTER.

Kada instalacija završi, preporučuje se pokretanje sigurnosne skripte koja dolazi s MySQL-om. Ova skripta uklanja neke nesigurne zadane postavke i dodatno zaključava pristup bazi. Pokrenite je ovako:

sudo mysql_secure_installation

Kad završite, provjerite možete li se prijaviti u MySQL konzolu:

sudo mysql

Ova naredba povezuje vas na MySQL server kao administrativnog database korisnika root, što je izvedeno iz korištenja sudo.

Za izlazak iz MySQL konzole upišite:

mysql> exit;

Primijetit ćete da za prijavu kao MySQL root korisnik niste trebali upisati lozinku, iako ste je postavili kroz mysql_secure_installation. To je zato što je zadana autentifikacijska metoda za administrativnog korisnika unix_socket, a ne password. Iako to na prvi pogled može zvučati kao sigurnosni problem, zapravo povećava sigurnost jer se kao MySQL root mogu prijaviti samo korisnici sustava sa sudo ovlastima koji dolaze iz konzole ili aplikacije koja radi s istim privilegijama. U praksi to znači da administrativnog MySQL root korisnika nećete koristiti iz PHP aplikacije. Lozinka za root služi kao dodatna zaštita ako se zadana metoda autentikacije ikada promijeni s unix_socket na password.

Radi dodatne sigurnosti najbolje je za svaku bazu imati zaseban korisnički račun s manjim privilegijama, posebno ako na serveru planirate hostati više baza.

Vaš MySQL server sada je instaliran i osiguran. Sljedeći korak je instalacija PHP-a, posljednje komponente LAMP stacka.

Korak 3 - instalacija PHP-a

Sada imate Apache koji isporučuje sadržaj i MySQL koji pohranjuje i upravlja podacima. PHP je komponenta koja obrađuje kod i krajnjem korisniku prikazuje dinamički sadržaj. Uz php paket trebat će vam i php-mysql, PHP modul koji omogućuje komunikaciju s MySQL bazama. Također će vam trebati libapache2-mod-php kako bi Apache znao obrađivati PHP datoteke. Osnovni PHP paketi instalirat će se automatski kao ovisnosti.

Za instalaciju pokrenite:

sudo apt install php libapache2-mod-php php-mysql

Kada instalacija završi, verziju PHP-a možete provjeriti naredbom:

php -v

U ovom trenutku LAMP stack je funkcionalan, ali prije nego što ga testirate PHP skriptom, dobra je praksa postaviti ispravan Apache Virtual Host za datoteke i mape vaše stranice. Time je osnovna instalacija spremna za sljedeće korake.

Povezane usluge

Ove su usluge usklađene s temom članka i daju čišći prijelaz od edukativnog sadržaja do konkretne implementacije.

Nastavite čitati

Prvo po zajedničkim kategorijama, a zatim po najjačem preklapanju u tagovima.