Roky som Joomly prevádzkoval na Apache pod ISPConfig a najviac ma štvalo jedno: upgrade PHP alebo webservera bol vždy lotéria — prepísané configy, pohádané moduly, hodiny hľadania, čo sa rozbilo.
Po prechode na CloudPanel + nginx + PHP-FPM je to pokoj: PHP prepnem na stránke jedným kliknutím a webservera sa to netýka.
Tu je setup, ktorý reálne používam. Predpokladám, že CloudPanel už máš nainštalovaný na čistom serveri.
1. Založ stránku v CloudPaneli
CloudPanel vytvorí za teba to podstatné naraz: nginx vhost, systémového používateľa, PHP-FPM pool a MariaDB databázu + používateľa. Zvoľ typ PHP stránky, doménu, verziu PHP (aktuálnu podporovanú pre tvoju Joomlu) a databázu si necháš vytvoriť.
Tým máš oddelené prostredie na stránku — vlastný user, vlastný PHP pool. To je aj bezpečnosť: jedna stránka nevidí do druhej.
2. Nahraj Joomlu a nastav databázu
Súbory Joomly nahraj do docroot stránky (cez SFTP alebo rozbaľ balík priamo na serveri). Spusti webový inštalátor Joomly a zadaj údaje k databáze, ktorú vytvoril CloudPanel. Inštalátor doťahne zvyšok.
3. nginx pravidlá pre SEF URL — bez toho ti „pekné adresy" hádžu 404
Toto je najčastejší kameň úrazu pri Joomle na nginx. Apache rieši SEF cez .htaccess, nginx .htaccess ignoruje — pravidlá musia byť vo vhoste. Jadro je presmerovať neexistujúce cesty na index.php, aby Joomla router prebral URL:
location / {
try_files $uri $uri/ /index.php?$args;
}
Plus zablokuj prístup k citlivým miestam (konfiguračné a systémové priečinky) a povoľ správne spracovanie PHP cez PHP-FPM. CloudPanel má pre Joomlu rozumný základ vo vhoste; tento try_files je to, čo musí sedieť, aby SEF fungovalo. V Joomle potom zapni Search Engine Friendly URLs aj URL Rewriting v Global Configuration → Site.
4. Oprávnenia a vlastník súborov
Súbory nech patria systémovému používateľovi stránky (nie root), priečinky 755, súbory 644, configuration.php skôr 444 po inštalácii. PHP-FPM beží pod tým istým používateľom, takže Joomla vie zapisovať tam, kde má, a nikde inde. Zlé oprávnenia sú druhý najčastejší dôvod záhadných chýb po nasadení.
5. Prečo je toto lepšie na dlhý beh
- Upgrade PHP = prepnutie verzie na stránke, nie zásah do webservera. Presne to, čo ma na Apache+ISPConfig hnevalo.
- nginx + PHP-FPM je pri Joomle svižnejší a lepšie znáša záťaž.
- Oddelené pooly = jedna stránka nepoloží druhú.
Keď k tomu pridáš Redis cache, máš základ, ktorý reálne lieta — o tom je samostatný návod.
Nechceš to stavať sám?
Nasadenie a správu Joomly na CloudPanel + nginx robíme ako službu — od servera po vyladenú prevádzku. Pozri na webportaly.sk.
Súvisiace: Redis cache pre Joomlu · Aktualizácia šablóny bez straty úprav · Security checklist