Uvod
LAMP je grupa open source sofvera koji obično budu instalirani kako bi server mogao da hostuje dinamičke sajtove i web aplikacije. Ovaj pojam je zapravo skraćenica za Linux operativni sistem, sa Apache web serverom. Svi podaci koji pripadaju sajtu se nalaze u MySQL bazi podataka (using MariaDB), a dinamički sadržaj se prikazuje pomoću PHP-a.
U ovom uputstvu, instaliraćemo LAMP na CentOS 7 VPS.
Pre nego što počnete
Pre nego što počnete, proverite da li imate nezavisni non-root nalog na svom serveru.
Prvi korak — Instalacija Apache-a
Apache može da bude instaliran pomoću CentOS paket menadžera, zvanog yum
. Pomoću ovog menadžera možemo da instaliramo većinu softera koristeći repozitorijum kojim upravlja CentOS.
Počnimo pomoću sledeće komande:
sudo yum install httpd
S obzirom nato da koristimo sudo komandu, operacije će biti izvedene sa root privilegijama. Biće vam zatražena vaša uobičajena kosrisnička lozinka kako biste potvrdili svoj izbor.
Nakon toga vaš web server će biti instaliran. Pokrenite Apache pomoću sledeće komande:
sudo systemctl start httpd.service
Kako biste proverili da li je sve u redu posetite javnu IP adresu svog servera:
http://your_server_IP_address/
Videćete osnovnu CentOS 7 Apache web stranu, koja je tu isključivo iz informativnih razloga i izgleda poput ove:
Ukoliko vidite ovu stranu, to znači da je vaš web server pravilno podešen.
Poslednji korak je podešavanje na osnovu koga će Apache da se startuje prilikom boota-a i to pomoću sledeće komande:
sudo systemctl enable httpd.service
Kako da saznate javnu IP adresu svog servera
Ukoliko ne znate koja je javna IP adresa vašeg servera, postoji nekoliko različitih načina da to saznate. Obično je to adresa pomoću koje se povezujete sa svojim serverom kroz SSH.
Pomoću iproute2
alata možete da saznate koja je vaša javna IP adresa:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Rezultat mogu da budu dve linije. Obe su tačne adrese, pa bi bilo najbolje da ih probate.
Alternativni način je da koristite neki eksterni servis kako biste saznali koja je vaša javna IP adresa:
curl http://icanhazip.com
Bez obzira na to na koji način ste saznali koja je vaša javna IP adresa, ukucajte je u browser kako biste videli svoj server.
Drugi korak — instalacija MySQL-a (MariaDB)
Nakon što ste pokrenuli web server, vreme je da instaliramo MariaDB, zamenu za MySQL, koja će da organizuje i omogući pristup bazama podataka koje će naš sajt da koristi za skladištenje podataka.
Za ovu instalaciju koristićemo ponovo yum
. Ovog puta instaliraćemo i pomoćne pakete koji će da nam omoguće da naše komponente komuniciraju međusobno:
sudo yum install mariadb-server mariadb
Nakon što je instalacija završena, treba da pokrenemo MariaDB pomoću sledeće komande:
sudo systemctl start mariadb
Sada, s obzirom na to da je naša baza podataka pokrenuta, možemo da pokrenemo bezbednosni skript koji uklanja neka podrazumevana podešavanja i ograničava pristup bazi podataka. Pokrenite ovaj skript pomoću:
sudo mysql_secure_installation
Biće vam zatražena root lozinka. S obzirom na to da ste upravo instalirali MySQL, najverovatnije nećete još uvek imati podešenu lozinku, pa samo pritisnite ENTER. Sistem će vas pitati da li želite da izaberete root lozinku. Odgovorite sa Y
, i pratite instrukcije:
Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorization. New password: password Re-enter new password: password Password updated successfully! Reloading privilege tables.. ... Success!
Na sva ostala pitanja odgovorite tako što ćete da pritisnete taster "ENTER" čime ćete prihvatiti podrazumevane vrednosti. Na ovaj način ćete da uklonite test korisnike i baze podataka, kao i da onesposobite remote logovanje root korisnika i da odmah primenite nova pravila.
Poslednji korak je da omogućite startovanje MariaDB prilikom boot-ovanja. Koristite sledeću komandu:
sudo systemctl enable mariadb.service
U ovom trenutku vaša baza podataka će biti podešena, nakon čega možete da pređete na treći korak.
Treći korak — Instalacija PHP-a
PHP je komponenta koja će da obrađuje kod ida prikazuje dinamički sadržaj. PHP može da pokreće skripte, da se povezuje na MySQL baze podataka radi preuzimanja informacija kao i da prosleđuje obrađeni sadržaj web serveru.
Neophodne komponente možemo da instaliramo pomoću yum
sistema. Takođe ćemo da uključimo php-mysql paket:
sudo yum install php php-mysql
Na ovaj način, PHP bi trebalo da bude instaliran vrlo jednostavno. Trebalo bi da restartujemo Apache kako bi mogao da počne da radi sa PHP-om. Unesite sledeću komandu:
sudo systemctl restart httpd.service
Instalacija PHP modula
Da biste unapredili PHP, možete da instalirate neke od dodatnih modula. Da biste videli koji su vam moduli i biblioteke na raspolaganju otkucajte:
yum search php-
Kao rezultat ćete dobiti spisak svih komponenti koje možete da instalirate uz kratki opis:
php-bcmath.x86_64 : A module for PHP applications for using the bcmath library php-cli.x86_64 : Command-line interface for PHP php-common.x86_64 : Common files for PHP php-dba.x86_64 : A database abstraction layer module for PHP applications php-devel.x86_64 : Files needed for building PHP extensions php-embedded.x86_64 : PHP library for embedding in applications php-enchant.x86_64 : Enchant spelling extension for PHP applications php-fpm.x86_64 : PHP FastCGI Process Manager php-gd.x86_64 : A module for PHP applications for using the gd graphics library . . .
Da biste dobili više informacije o tome čemu svaki od modula služi možete da pogledate duži opis pomoću:
yum info package_name
Na primer, biste saznali čemu služi php-fpm
modul, otkucajte:
yum info php-fpm
U obilju drugih informacija videćete:
. . . Summary : PHP FastCGI Process Manager URL : http://www.php.net/ License : PHP and Zend and BSD Description : PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI : implementation with some additional features useful for sites of : any size, especially busier sites.
Da biste instalirali php-fpm
unesite:
sudo yum install php-fpm
Ukoliko želite da instalirate više od jednog modula, to možete da učinite tako što ćete pojedinačno da ih navedete odvajajući ih pomoću razmaka, nakon otkucane yum komande za instalaciju:
sudo yum install package1 package2 ...
U ovom trenutku LAMP je instaliran i podešen. Ipak trebalo bi da proverimo da li je PHP pravilno instaliran.
Korak četiri — tesirajte PHP na svom serveru
Da biste proverili da li je vaš sistem pravilno podešen za PHP, možete da napravite veoma jednostavan PHP skript.
Ovaj skript ćemo zvati info.php
. Da bi Apache mogao da pronađe ovaj fajl i da ga pravilno prikaže, trebalo bi da bude sačuvan u folderu "web root".
Na CentOS 7, ovaj folder nalazi se u /var/www/html/
. Fajl na toj lokaciji možemo da napravimo pomoću:
sudo vi /var/www/html/info.php
Na ovaj način ćete da napravite prazan fajl. U ovaj fajl upišite sledeći PHP kod:
Ako se nalazite iza firewall-a, unesite sledeću komandu kako biste omogućili saobraćaj preko HTTP i HTTPS protokola:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
Sada možemo da testiramo da li naš web server može pravilno da prikaže sadržaj koji je generisan pomoću PHP skripte, na taj način što ćemo da posetimo sledeću stranicu (biće vam potrebna javna IP adresa vašeg servera).
http://your_server_IP_address/info.php
Trebalo bi da vidite stranicu poput ove:
Ova strana pruža informacije o vašem serveru iz perspektive PHP-a. Korisna je radi eventualnog debugging-a, kao i da biste mogli dla ustanovite da su sva podešavanja ispravna.
Bilo bi dobro da obrišete ovaj fajl jer sadrži informacije o vašem serveru koje bi mogle da budu zloupotrebljene. Da biste obrisali fajl, kucajte:
sudo rm /var/www/html/info.php
Uvek možete ponovo da napravite ovu stranu u slučaju da želite da vidite ove informacije.