Kako instalirati i konfigurirati LAMP na Debian 11 (Bullseye)
Jedna od najvažnijih stvari za postavljanje Linux servera je za potrebe postavljanja web stranice. Prema istraživanju NetCraft.com iz februara 2022. o 1 miliona najprometnijih web stranica na svijetu, otprilike 23,44% njih radi na Apacheu.
Ovaj vodič će proći kroz osnove instaliranja i konfiguriranja Linux poslužitelja (posebno Debian 11 Bullseye) da funkcionira kao LAMP poslužitelj.
Šta je LAMP server?
U računarskom svijetu LAMP akronim za Linux (ovdje se koristi Debian 11), Apache, MySQL, i PHP (LAMP). LAMP se obično koristi za referenciranje softverskih stokova (posebno MySQL i PHP) na web serveru.
Prije nego što uđemo u aspekte konfiguracije, važno je znati o Apache web serveru.
Šta je Apache web server?
Apache je bio jedan od “originalnih” web servera i vodi svoje početke do 1995. Apache se i danas široko koristi i ima koristi od dugotrajnosti, velike količine dokumentacije i tona moduli za dodatnu fleksibilnost.
Instaliranje MySQL-a i PHP-a u Debian 11
1. Ovaj prvi dio će opisati Debian kao MySQL i PHP poslužitelj. Linux segment LAMP bi već trebao biti urađen instalacijom Debiana 11 prema sljedećem članku na TecMint:
- Svježa instalacija Debian 11 Bullseye
Kada je Debian spreman, sada je vrijeme da instalirate potreban softver pomoću meta-pakera „apt“.
sudo apt install mariadb-server php libapache2-mod-php php-zip php-mbstring php-cli php-common php-curl php-xml php-mysql
2. Nakon završetka instalacije MySQL i PHP, često se preporučuje da osigurate instalaciju MySQL koristeći mysql_secure_installation
uslužni program.
Nakon što izvršite donju naredbu, od korisnika će se tražiti da postavi root lozinku i ukloni stvari kao što su anonimni korisnici, testne baze podataka i ukloni prijavu udaljenog root korisnika na SQL bazu podataka.
sudo mysql_secure_installation
3. Sada kada je MySQL konfigurisan, idemo dalje da napravimo neke PHP osnovne postavke za ovaj određeni server. Iako postoji gomila postavki koje se mogu konfigurirati za PHP, mi ćemo uraditi nekoliko osnovnih koji su uglavnom uvijek potrebni.
Otvorena php konfiguracijska datoteka nalazi se na /etc/php/7.4/apache2/php.ini
.
sudo vi /etc/php/7.4/apache2/php.ini
Sada potražite string “memory_limit” i povećajte ograničenje prema potrebama vaše aplikacije.
Još jedna važna postavka koju treba provjeriti je “max_execution_time” i opet će po defaultu biti postavljeno na 30. Ako aplikacija zahtijeva više, ova postavka se može promijeniti.
U ovom trenutku, MySQL i PHP5 su spremni za početak hostovanja web lokacija. Sada je vrijeme da konfigurirate Apache2.
Instalacija i konfiguracija Apache2
4. Sada je vrijeme da konfigurirate Apache 2 da završi konfiguraciju LAMP servera. Prvi korak u konfigurisanju Apache2 je stvarno instaliranje softvera pomoću apt meta-pakera.
sudo apt install apache2
Ovo će instalirati sve potrebne datoteke i zavisnosti za Apache2.
Jednom instaliran, Apache web server će biti pokrenut i služiti zadanu web stranicu. Postoji nekoliko načina da potvrdite da je Apache web server pokrenut i da radi. Najlakša opcija je korištenje uslužnog programa lsof:
sudo lsof -i :80
Druga opcija je jednostavno navigacija do IP adrese web servera. Pod pretpostavkom zadane instalacije Debiana, sustav će vjerojatno biti postavljen da koristi DHCP za automatsko dobivanje IP adrese.
Za određivanje IP adrese servera može se koristiti jedan od dva pomoćna programa. U ovoj situaciji će raditi bilo koji uslužni program.
ip show addr [Shown below in red]
ifconfig [Shown below in green]
Bez obzira koji se uslužni program koristi, dobijena IP adresa se može unijeti u web pretraživač na računaru na istoj mreži kako bi se potvrdilo da Apache prikazuje zadanu stranicu.
http://IP-Address
U ovom trenutku, Apache je pokrenut i radi. Dok je zadana stranica Debiana blještava web stranica, većina korisnika će htjeti ugostiti nešto prilagođeno. Sljedeći koraci će proći kroz postavljanje Apache 2 za hostiranje druge web stranice.
Hosting više web stranica s Apacheom u Debianu
5. Debian je zapakirao neke korisne uslužne programe za upravljanje i stranicama i modulima. Prije nego što prođete kroz kako koristiti ove uslužne programe, važno je razumjeti funkcije koje služe.
- a2ensite: Ovaj uslužni program se koristi za omogućavanje web stranice nakon kreiranja odgovarajuće konfiguracijske datoteke.
- a2dissite: Ovaj uslužni program se koristi za onemogućavanje web stranice navođenjem konfiguracijske datoteke web stranice.
- a2enmod: Ovaj uslužni program se koristi za omogućavanje dodatnih Apache2 modula.
- a2dismod: Ovaj uslužni program se koristi za onemogućavanje dodatnih Apache2 modula.
- a2query: Ovaj uslužni program se može koristiti za prikupljanje informacija o trenutno omogućenim web lokacijama.
Prvo skupimo malo iskustva sa prva dva. Budući da Apache 2 trenutno hostuje 'podrazumevanu web stranicu' idemo naprijed i onemogućimo je pomoću a2dissite.
sudo a2dissite 000-default.conf
Ova komanda će onemogućiti zadanu web lokaciju apache koja se vidi na gornjoj slici ekrana. Međutim, da bi bilo kakve promjene stupile na snagu, Apache 2 konfiguracija mora biti ponovo učitana.
sudo systemctl reload apache2
Ova komanda će uputiti Apache 2 da ažurira omogućene/onemogućene lokacije koje trenutno hostuje. Ovo se može potvrditi ponovnim pokušajem da se povežete sa IP adresom web servera i primijetite da se ništa ne prikazuje (neki računari će keširati informacije, ako mašina i dalje prikazuje zadanu web stranicu nakon pokretanja prethodne dvije komande, pokušajte izbrisati web- keš pretraživača). Druga opcija za potvrdu da stranica više nije omogućena je korištenje a2query uslužnog programa.
sudo a2query -s
Mnogo toga se dešava na ovom snimku ekrana pa hajde da razložimo stvari.
- Zeleni okvir iznad je
a2query -s
koji upućuje Apache 2 da navede koje web lokacije se trenutno poslužuju. - Žuti okvir je
a2dissite 000-default.conf
nakon čega slijedi ponovno učitavanje usluge apache2. Ove dvije naredbe upućuju Apacheu 2 da onemogući zadanu lokaciju, a zatim ponovo učita aktivne/neaktivne stranice. - Crveni okvir je
a2query -s
koji se ponovo izdaje, ali primijetite da ovaj put Apache odgovara da se ništa ne servira.
Hajdemo sada da prođemo kroz kreiranje web lokacije koja nije podrazumevana. Prvi korak je prebacivanje na Apache 2 konfiguracijski direktorij koji je /etc/apache2
pomoću uslužnog programa cd.
cd /etc/apache2
U ovom direktoriju postoji nekoliko važnih datoteka i direktorija, međutim, radi sažetosti, ovdje će biti pokrivene samo one koje su potrebne.
Prva stvar koju trebate učiniti kada postavljate novu stranicu je kreiranje nove konfiguracijske datoteke u direktoriju 'sites-available'. Promijenite direktorije u direktorij 'sites-available', a zatim kreirajte novu konfiguracijsku datoteku.
cd sites-available
sudo cp 000-default.conf tecmint-test-site.conf
Ovo će kopirati konfiguraciju sa zadane stranice u novu konfiguracijsku datoteku web lokacije radi daljnje izmjene. Otvorite stranicu za konfiguraciju nove web lokacije pomoću uređivača teksta.
sudo vi tecmint-test-site.conf
Unutar ove datoteke postoji jedna vrlo važna linija za hostovanje web stranice, ta linija je „DocumentRoot“ linija. Ova linija govori Apacheu gdje su potrebne web datoteke koje bi trebao poslužiti kada stignu zahtjevi za određene resurse.
Za sada će ovaj red biti postavljen na direktorij koji ne postoji, ali će uskoro sadržavati jednostavnu web stranicu za prikaz ovog Debian poslužitelja.
DocumentRoot /var/www/tecmint
Sačuvajte promene u ovoj datoteci i izađite iz uređivača teksta.
Sada direktorij iz kojeg je Apache 2 upravo rekao da poslužuje datoteke treba biti kreiran i popunjen datotekama. Iako će ovaj članak raditi s HTML datotekama, možda nema dovoljno vremena da se prođe kroz kako napraviti potpuno funkcionalnu web stranicu i taj proces prepušta čitatelju.
Zato napravimo direktorij za apache koji će poslužiti i dodajmo mu osnovnu html web stranicu pod nazivom „index.html“.
sudo mkdir /var/www/tecmint
touch /var/www/tecmint/index.html
echo “It's ALIVE!” >> /var/www/tecmint/index.html
Gornje naredbe će kreirati novi direktorij pod nazivom „tecmint“, kao i novu datoteku pod nazivom „index.html“ u direktoriju tecmint.
Komanda echo će staviti neki tekst u tu datoteku tako da će zapravo prikazati nešto u web pretraživaču kada Apache posluži web stranicu.
Napomena: Stranica koju je autor kreirao za ovaj vodič će se prikazati drugačije! Sada koristeći komande o kojima smo prethodno razgovarali, Apacheu treba reći da služi ovaj novi html dokument.
sudo a2ensite tecmint-test-site.conf
sudo systemctl reload apache2
sudo a2query -s tecmint-test-site.conf
Posljednja gornja naredba će jednostavno potvrditi da Apache2 zaista opslužuje novokreiranu web stranicu. U ovom trenutku, ponovo idite web pretraživačem do IP adrese servera i vidite da li se novokreirana web stranica prikazuje (opet računari vole da keširaju podatke i kao takvi, možda će biti potrebno nekoliko osvježavanja da biste dobili novu web stranicu).
Ako se novokreirana stranica “ŽIV je!!!” prikazuje, onda je Apache 2 uspješno konfiguriran i prikazuje web stranicu.
Čestitamo! Iako je ovo jednostavno podešavanje koje priprema Linux LAMP server za hostovanje sajta, postoje daleko složenije stvari koje se mogu uraditi i konfiguracija u velikoj meri zavisi od tog krajnjeg cilja.