přejít na obsah přejít na navigaci

Linux E X P R E S, Dáváme svým stránkám novou šťávu

Dáváme svým stránkám novou šťávu

Již několik let používám pro své osobní stránky program zvaný CMS (Content Management System čili systém pro správu obsahu). Jedná se o systém postavený na PHP a MySQL databázi. Mým vyvoleným produktem bylo Mambo ve verzi 4.5.1. Je to lepší než se pachtit s HTML stránkami, které se navíc musí intenzivněji měnit v případě jakýchkoliv potřeb.


reklama

Soustředím se pouze na obsah, vzhled řídí šablona. Hosting nemám u žádné zavedené firmy, je to spíše taková kamarádská výpomoc. Výběr hostingu může být také klíčovou otázkou.

Jednoho dne se stalo, že náš hostingový server navštívil hacker. Kvůli chybě ve skriptu dalšího hostujícího serveru se dostal na server a rozhodl se modifikovat některé zde umístěné PHP soubory. Útok se bohudík zrealizovat nepodařilo, nicméně to mělo za následek nefunkčnost mého CMS. Spíše se jednalo o poškození několika klíčových skriptů tím, že se do nich hacker pokoušel něco zapisovat a porušil tím strukturu CMS.

Vyřešit jsem se to rozhodl přehráním postižených skriptů ze standardní instalace mého CMS, ale narazil jsem. Verze, kterou jsem několik let provozoval naprosto bez problémů, je již poněkud zastaralá a byl jsem takto přinucen provést povýšení na poslední verzi. Jestli si pamatujete na mou glosu ohledně Mamba a Joomla! v jednom z minulých čísel, víte, že Mambo již není Mambo a že jej plně nahradil projekt Joomla!.

V tomto článku jsem se rozhodl podělit se s vámi o postup, kterým jsem konverzi na Joomla! provedl. Není to nic těžkého, jen si to musíte řádně promyslet. Základem všeho je zálohování, pak ještě zálohování a nesmíte zapomenout vše zazálohovat.

Ke správné konverzi budete potřebovat web, na kterém běží vaše Mambo, FTP klienta a FTP účet k tomuto webu a také phpMyAdmin. Samozřejmě také instalační verzi Joomla! (poslední má v tuto chvíli číslo 1.0.7) a Mamba 4.5.3. Nejprve si na svých stránkách spusťte phpMyAdmin a proveďte zálohování databáze a uložte si tuto zálohu na bezpečné místo, kde si ji nepřepíšete (provedete to vybráním Databáze-Export). Doporučuji se také pomocí FTP klienta přihlásit na váš hostingový server a provést kompletní zálohu všech vámi používaných složek s CMS (hlavně kvůli souborům nabízeným ke stažení apod.).

Použít můžete libovolný FTP klient, mně se osvědčil jednoduchý zásuvný modul pro Mozilla Firefox jménem FireFTP. Najdete jej na všech stránkách, kde jsou ke stažení doplňky pro Firefox.

Základní vlastností CMS je, že kód, který vygeneruje vlastní vzhled stránek, je vytvořen pomocí PHP a samotný obsah (články) je uložen v databázi. Naším cílem je ponechat všechny články, jen celému webu vytvořit nový kabátek, případně provést nutné změny v tabulkách tak, aby databáze byla co nejaktuálnější.

Pro nastavení přístupových práv se nejlépe hodí FTP klient, který umožňuje tzv. rekurzivní nastavení pro všechny podadresáře a soubory obsažené v nadřízeném adresáři.

Do nějakého adresáře si rozbalte celou instalaci Joomla! a pomocí FTP klientu ji přeneste na svůj hostingový server. Dejte si při tom pozor na soubor configuration.php na hostingovém serveru, ve kterém je kompletní konfigurace prostředí vašeho CMS. V instalaci Joomla! jej nenajdete, je vytvářen až po instalaci. Tu my však nebudeme provádět, protože bychom si přepsali databázi.

Po přenesení instalace na hosting si můžete opět spustit phpMyAdmin a v něm konkrétně volbu Databáze-Import nebo Databáze-SQL. Použitá databáze musí být totiž povýšena stejně jako kód. Databáze-Import je funkce, která umožní spouštět přímo skripty ze zadaného souboru, Databáze-SQL dokáže spouštět zadané skripty přímo v konzoli. V adresáři installation/sql najdete SQL skripty, které je zapotřebí spustit. Čím starší verzi Mamba provozujete, tím více skriptů musíte spustit, a to zpětně. V samotné instalaci Joomla! naleznete pouze skript pro povýšení verze Mambo 4.5.2.3 na Joomla! 1.0.7. Pokud máte (jako já) ještě starší verzi Mamba, musíte databázi nejdříve převést z nižších verzí na vyšší.

Tyto SQL skripty zajistí doplnění tabulek a položek v tabulkách tak, aby se nemohlo stát, že se Mambo/Joomla! bude v kódu odkazovat na neexistující tabulku. Proto ze své lokálně uložené instalace Mambo 4.5.3 spusťte soubor upgrade451to452.sql, tím převedete stávající databázi z verze 4.5.1 na 4.5.2. Ve verzích 4.5.2 až 4.5.2.3 pak už žádné změny nebyly. Spuštění provedete buď zadáním úplné cesty ke skriptu a jeho spuštěním, nebo zkopírováním celého obsahu skriptu do schránky a jeho vložením do příslušného pole pro spouštění SQL skriptů v phpMyAdmin. Pokud již používáte verzi Mambo 4.5.2.3 nebo 4.5.3, nemusíte tuto konverzi pomocí skriptu provádět. Přejděte ke spuštění dalšího skriptu.

Můžu přistoupit ke spuštění SQL skriptu z Joomla! instalace s názvem migrate_Mambo4523_to_Joomla_100.sql (stejným způsobem jako předchozí skript) a teprve pak budete mít jistotu, že jsou databáze i PHP skripty v nejaktuálnější verzi.

Po takto provedených zásazích by měly být stránky opět funkční. Z bezpečnostních důvodů vás Joomla! vyzve k tomu, abyste smazali adresář installation. Případný útočník by pak mohl spustit PHP skripty v adresáři obsažené a vymazat vaši databázi. Vymazání proveďte pomocí FTP klienta. Ještě si projděte příslušné moduly a komponenty, zda náhodou neexistují novější verze, případně verze, které Joomlu podporují a proveďte povýšení i těchto zbylých částí.

Také si stáhněte aktuální verzi překladů do češtiny a stránky by měly být zkonvertované a připravené k použití. Pozor, Joomla! řady 1.0.x zatím nepodporuje překlady správcovské části, zatímco Mambo 4.5.2.3 ano. Řešilo se to úpravou kódu. Tyto úpravy nejsou kompatibilní s Joomla! 1.0.x, a tak se je nepokoušejte použít, poškodíte si instalaci Joomla! 1.0.x. Překlad i správcovské části stránek by se měl objevit v nové verzi 1.1, která by se měla být někdy na jaře. Přesný termín není znám.

Problémy, se kterými je možno se setkat, můžeme shrnout do problémů se šablonou, problémy s kódováním a problémy s přístupovými právy. Dosti často se totiž stává, že uživatel, kterým přistupujete ke stránkám pomocí FTP, je jiný než ten, který přistupuje ke stránkám pomocí internetového prohlížeče.

Své seznámení s novou verzí Joomla! 1.0.7 můžete začít nastavením nějaké výchozí šablony. Ke správcovské části se dostanete pomocí připsání /administrator za jméno vašich stránek a po zadání jména a hesla správce. Nabídka je velmi podobná té, na kterou jste byli zvyklí u Mambo 4.5.2.3, ale je i trochu odlišná. Myslím si, že se zorientujete rychle a snadno.

Pro provádění první pomoci v nastavení přístupových práv pomocí příkazu chmod doporučuji použít FTP klienta (např. nejde ukládat do konfiguračního souboru), další obsah můžete nahrávat na stránky pomocí specializovaného modulu nazvaného JoomlaeXplorer. Je to jakýsi správce souborů v internetovém prohlížeči. Je to velmi užitečný program a může vám v lecčems pomoci. Na trvalejší práci není určen (málo funkcí), ale k rychlým úpravám se hodí výtečně.

Řádně si zkontrolujte, že jste nastavili i správné kódování, protože to, které je nastaveno jako výchozí, může být špatné (přímo ve správcovské části v záložce Global settings). Poznáte to podle špatně zobrazených českých znaků. Zároveň si i zkontrolujte vestavěný WYSIWYG editor, zda ve vašem prohlížeči funguje. Některé editory fungují bezproblémově jen v Internet Exploreru, což nám může být v Linuxu na nic. Pokud editor nefunguje, nainstalujte si jiný. K dispozici je jich opravdu hodně.

WYSIWYG znamená What You See Is What You Get. Česky zhruba "Co, vidíš, to dostaneš." Užívá se v souvislosti s různými editory, které o sobě tvrdí, že to, co vidíte na monitoru, jsou schopné "převést" na papír či jiné médium. Jedná se však spíše o reklamní klišé. Poznámka redakce.

Jako příklad takového editoru, který funguje např. v Mozilla Firefoxu, lze uvést FCK editor nebo MosCE.

Momentálně se Joomla! nachází na rozcestí, kdy je vyvíjena nová, přelomová verze 1.1 a stávající uživatelé řady 1.0.x trochu přišli o funkčnost Mamba 4.5.2.3 (např. již zmiňovaný překlad správcovské části). Zároveň tato verze plně podporuje komponenty a moduly pro Mambo, takže s problémy se nesetkáte; jen ve zcela výjimečných případech.

Snahu vývojového týmu plně chápu - chtěli se rychle dostat z vlivu Mambo a zároveň připravit novou a lepší verzí Mambo v podobě Joomla! 1.1 a nemělo by smysl vše zbytečně uspěchat. Vývoj této verze jde stále kupředu a je možné, že když budete číst tyto řádky, bude už Joomla! 1.1 na světě.

Stále však platí, že pokud vám nevadí anglická správcovská část, přejděte na Joomla! 1.0.7. Má více bezpečnostních oprav než samotné Mambo. Pokud však angličtinou nevládnete, nemusíte se bát, i vaše staré Mambo je plně funkční. Pokud se vám nechce podstupovat konverzi Joomla! 1.0.7 na Joomla! 1.1, počkejte. Konverze z Mamba 4.5.2.3 nebo 4.5.3 je samozřejmě možná i na verzi Joomla! 1.1, která bude funkčně opravdu bohatší.

Nahoru

Odkazy

(Jako ve škole)
 

Top články z OpenOffice.cz

Přidat téma diskuse

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Svatopluk Vít

Svatopluk Vít

Narodil se v Karviné, momentálně je však trvale usazen v Praze. Pracuje u jedné nadnárodní společnosti jako správce počítačové sítě běžící na produktech Microsoftu, na starosti má i vnitrofiremní počítačová školení. Doma však s úspěchem prohání Linux. Poslouchá dobrou hudbu, zajde si do divadla. Také je aktivní v několika komunitách kolem open-source projektů a rád prosazuje tato řešení do praxe. Největším žroutem času jsou momentálně dvě dcery (ročník 2006 a 2009).


  • Distribuce: Mageia 2
  • Grafické prostředí: KDE
  • Hodnocení autora: *