Ranije sam pisao kako napraviti svoj lokalni web server uz pomoć WAMP platforme, na Windows operativnom sustavu koji ima u sebi Apache, MariaDB (ili MySQL) i PHP, sve što je potrebno za web server da se vrti na našem lokalnom računalu.
Međutim, u međuvremenu je Bitnami najavio i prestao davati podršku za nove WAMP verzije, tako da moj prijašnji članak na WAMP temu konceptualno i dalje drži vodu, ali moramo naći drugo softversko rješenje koje će biti aktualno.
To novo rješenje se zove Laragon.
Na Laragon sam naletio dok sam tražio alternativno rješenje za zamjenu WAMP-a i čim sam ga probao, znao sam da je to – to.
Laragon u sebi dolazi već sa Apache/MariaDB/PHP ali ovisno u kojem trenutku ga preuzimate, pitanje je koja je verzija svega toga u paketu.
I tu dolazi prednost Laragona; zato jer možete samostalno skinuti sve najnovije verzije i ručno ubaciti u Laragon. A to je toliko jednostavno napravljeno da ćete htjeti po cijeli dan samo to raditi 😊
Samostalno ubacivanje novih verzija Apache, PHP-a, baze i ostalog je upravo druga prednost Laragona u odnosu na WAMP. Kod WAMP-a, da bi htjeli imati recimo novu verziju PHP-a, bilo je potrebno napraviti backup svojih podataka, obrisati kompletno staru verziju i instalirati novu WAMP verziju. Složit ćete se da to nije zadatak koji vam se radi često i svaki put kad dođe nova verzija.
Kod Laragona treba samo ubaciti novu verziju npr. PHP-a u svoj folder i odabrati da se koristi ta verzija. Tako jednostavno.
Idemo vidjeti kako se to sve radi …
Napomena: default lokacija Laragona nakon instalacije je C:\laragon, stoga će sve upute u nastavku biti pisane prema tome. Ako ste mijenjali lokaciju, onda prilagodite svoju putanju.
Apache instalacija nove verzije
- Sa linka https://www.apachelounge.com/download/ potrebno je skinuti novu Apache verziju.
- Napraviti extract .zip datoteke i smjestiti Apache24 folder u C:\laragon\bin\apache.
Ovdje ćete vidjeti već prethodnu Apache verziju koju možete obrisati ili ostaviti ako mislite da će vam trebati. - Možete preimenovati Apache24 folder u nešto drugo, da znate o kojoj verziji se radi.

Sad otvorite Laragon, desni klik bilo gdje unutar prozora da vam se otvori izbornik.
Pod Apache imate mogućnost odabira verzije koju želite koristiti.
Ako imate više verzija, na desnoj strani će to biti prikazano.
Odaberite što vam treba i pokrenite Apache.

Svaki put kad dođe nova Apache verzija, napravite isti postupak – staviti u C:\laragon\bin\apache folder, u izborniku odabrati verziju i napraviti restart Apache-a.
PHP instalacija nove verzije
- Sa linka https://windows.php.net/download/ potrebno je skinuti novu aktualnu verziju.
Najbolje je skinuti Thread Safe verzije jer Non Thread Safe verzija nije namijenjena za multithread.

- Extract i staviti u C:\laragon\bin\php
Time je PHP instalacija gotova.
Slijedi provjeriti koje su PHP ekstenzije uključene i koje treba dodatno uključiti, ovisno o web projektu.
Ostale postavke se mogu riješiti kroz php.ini konfiguracijsku datoteku koja je odmah pristupna kroz izbornik.

MySQL / MariaDB instalacija nove verzije
Upute su pisane za MariaDB bazu, ali postupak je isti i za MySQL.
Podaci od baza se nalaze u C:\laragon\data
Baza kao softver se nalazi C:\laragon\bin\mysql
- Sa linka https://mariadb.org/download/ skinuti željenu verziju.
Preporučam da to bude neka Long-term verzija.
Također odabrati .zip verziju. - Extract i staviti u C:\laragon\bin\mysql
Kao za Apache i PHP, tako se i bazom može upravljati kroz izbornik; od odabira verzije do postavki.

Napomena: ako ćete s vremenom htjeti mijenjati bazu na novu verziju, vodite računa da prvo iz stare baze treba napraviti Export podataka, instalirati novu bazu te u tu novu bazu napraviti Import podataka (zajedno s korisničkim imenom i lozinkom koje smije imati pristup toj bazi).
Zato jer instalacija nove baze dolazi prazna, neće pokupit podatke od prethodne baze.
phpMyAdmin instalacija
Laragon u standardnoj instalaciji ne dolazi sa phpMyAdmin dodatkom, stoga ako vam treba taj dio, moramo ga dodatno ručno instalirati.
- Sa linka https://www.phpmyadmin.net/downloads/ preuzeti .zip instalaciju
- Extract i staviti u C:\laragon\etc\apps
- Preimenovati folder u ime phpMyAdmin (bez dodataka u imenu)
- Pokrenuti phpMyAdmin:
desni klik unutar Laragon prozora > MySQL > phpMyAdmin
– default username: root
– default password: <prazno> - Promijeniti default root lozinku:
Otići na SQL tab i unijeti ovaj upit:
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘neka_lozinka’;
Ovo je jedini način koji je kod mene upalio, sve ostalo mi je davalo greške.
Sad kad je root lozinka promijenjena, možemo nastaviti konfigurirati phpMyAdmin. - Nova instalacija će dolje javiti da configuration storage nije podešen. Kliknuti na link Find out why za dalje.
U slijedećem koraku će ponuditi izradu phpmyadmin baze. Kliknuti da se napravi phpMyAdmin baza. Time je poruka nestala. - Druga poruka će javiti da treba podesiti valjani key for cookie encryption.
- Otvoriti “C:\laragon\etc\apps\phpMyAdmin\config.inc.php”.
- Na liniji 16, gdje piše $cfg[‘blowfish_secret’] treba staviti svoj passcode. To je u biti password koji mora biti dugačak točno 32 znakova. Za ovo možete iskoristiti neki password generator.
- Kad generirate lozinku od 32 znaka, unesite ju u konfiguracijsku datoteku na mjesto navedeno u prethodnom koraku, spremiti postavke i zatvorit datoteku.
- Napraviti odjavu iz phpMyAdmin, te se ponovo prijaviti. Ta poruka je sad nestala.
Ovime je phpMyAdmin instaliran i konfiguriran. Dalje možete raditi bazu, korisnika, import baze ili što već treba.
Promjena Document Root
Standardna vrijednost gdje će biti smještene datoteke za web projekt je C:\laragon\www.
Sve što stavite unutar te mape biti će dostupno pristupom tom web serveru.
Promjena putanje te mape ne može biti lakša:
desni klik bilo gdje unutar Laragon prozora > www > Switch Document Root i odabrati novu mapu.
Ova promjena će odmah biti vidljiva u Apache konfiguraciji (httpd.conf).

Instalacija mod_security
Prema gornjim uputama smo instalirali web server, imamo najnoviju Apache/MariaDB/PHP verziju i web server radi.
No što je sa sigurnošću svega toga?
Mod_security za Apache ne dolazi u Laragon instalaciji, stoga i taj dio moramo ručno napraviti.
Imajte na umu da se ovaj dio uputa odnosi samo kako instalirati mod_security u Apache koji ima default postavke za sigurnost. Detaljno objašnjenje i postavljanje konfiguracije je izvan teme ovog članka.
- Skinuti najnoviju mod_security verziju sa https://www.apachelounge.com/download/
- Kopirati mod_security2.so u Apache/modules.
Npr.: “C:\laragon\bin\apache\httpd-2.4.55-win64-VS17\modules” - Kopirati yajl.dll u Apache/bin.
Npr.: “C:\laragon\bin\apache\httpd-2.4.55-win64-VS17\bin” - U Apache httpd.conf dodati:
LoadModule security2_module modules/mod_security2.so - U Apache httpd.conf pronaći i od komentirati:
LoadModule unique_id_module modules/mod_unique_id.so
Tako da se i taj modul može pokrenuti. - U Apache httpd.conf dodati slijedeće:
ServerSignature Off
SecServerSignature “Ime tvog servera“
ServerTokens Full
TraceEnable Off
Ovo „Ime tvog servera“ može biti doslovno bilo što. Što god vam padne na pamet za ime.
Radi se o tome da kad netko skenira server i želi saznati o kakvom serveru se radi, ovdje bi mu inače pisalo nešto poput „Apache 2.2.48“ i time napadač zna o kojem serveru se radi i kojoj verziji, te prema tome može pronaći neki exploit za tu verziju.
Ako želite biti zločesti, možete recimo navesti ime da se radi o IIS serveru, odnosno o Windows web serveru i time potrošiti vrijeme napadaču da pronađe način napada za server koji uopće ne postoji.
- Kopirati folder mod_security u “C:\laragon\etc\apps“.
- U folderu C:\laragon\etc\apps\mod_security preimenovati modsecurity.conf-recommended u modsecurity.conf.
- Otvoriti modsecurity.conf i onda podesiti da bude:
a. SecRuleEngine On
b. Dodati ove dvije linije skroz na kraj konfiguracije:
SecDefaultAction "deny,phase:2,status:403"
SecRule ARGS "\.\./" "t:normalizePathWin,id:50904,severity:4,t:none,t:urlDecodeUni,t:htmlEntityDecode,t:lowercase,msg:'Drive Access'"
- Pronaći SecAuditLog /var/log/modsec_audit.log i komentirati tu liniju, da se ne pokreće.
Ako će vam trebati log zapisi, ovo treba onda konfigurirati.
Spremiti promjene za mod_security.conf, zatvoriti konfiguraciju i napraviti restart Apache servera da se promjene primjene.
Još ostaje da zaštitimo i PHP, odnosno da napadač ne može saznati koju verziju PHP-a koristimo:
- Desni klik bilo gdje unutar Laragon prozora > PHP > php.ini
- Pronaći gdje piše expose php i staviti na Off (expose_php = Off)
- Napraviti restart Apache-a
Konfigurirali smo web server i zaštitili ga.
Imamo li sad sve i možemo li početi raditi na web projektu?
Odgovor je i da i ne.
Run Laragon as a Windows service
Naime, Laragon uz sve svoje prednosti, ima jednu manu – može raditi samo dok je neki korisnik ulogiran u Windows. Čim napravite odjavu iz Windowsa, Laragon će prestati raditi a to znači i svi servisi kao Apache, baza, PHP.
Rješenje problema je napraviti da Apache i MariaDB budu dodani kao servis i da se pokreću kad i Windows.
Za ovo ćemo trebati koristiti Laragon terminal konzolu za naredbe.

- Prvo u Laragon prozoru zaustavit Apache i MariaDB, opcija Stop.
- Kako napraviti da Apache bude pokrenut kao servis:
U konzoli udarit naredbu
httpd.exe -k install
Detaljnije o instalaciji Apache kao servisa:
https://httpd.apache.org/docs/2.4/platform/windows.html
- Kako napraviti da MYSQL bude pokrenut kao servis:
U konzoli udarit naredbu
“C:\laragon\bin\mysql\mariadb-10.11.2-winx64\bin\mysqld.exe” –install
Pripazite na putanju do mysqld.exe da odgovara vašem stanju.
Da li je sve dobro prošlo možemo provjeriti u Windowsima odlaskom u servise i vidjeti da li se na popisu nalaze apache i mysqld servisi te da li su pokrenuti.
Napomena – kad se ovo napravi, u Laragon sučelju više neće biti vidljivo da su Apache i MariaDB baza pokrenute, jer se sad sve vodi kroz servise.
Ovim načinom sada se možete odjaviti sa Windowsa kao korisnik ili napraviti restart Windows računala, bez straha da vaš web projekt na Laragonu neće raditi.
Troubleshooting
Kad se na silu (ili iz bilo kojeg drugo razloga) sruši Laragon server, možda dođe do problema da se baza neće pokrenuti.
Greška koja može biti (vidi se u logu od baze):
[ERROR] Found 1 prepared transactions! It means that server was not shut down properly last time and critical recovery information (last binlog or tc.log file) was manually deleted after a crash. You have to start server with –tc-heuristic-recover switch to commit or rollback pending transactions.
Rješenje je u konzoli udarit ovu naredbu:
mysqld –tc-heuristic-recover=COMMIT