Tak vy potřebujete rozběhnout nový web?

Velmi rád vám pomůžu.

Jak spouštět RS2 na localhostu

Následuje jednoduchý návod, jak upravit konfiguraci Apache serveru na vašem počítači, pokud chcete RS2 testovat „na localhostu“ a nemít jej nainstalovaný pouze někde na webu na serveru. Návod je určen pro Windows 7, ale samozřejmě bude prakticky obdobný pro Visty i XP.

Editace souboru hosts

Divte se nebo ne, ale na svém počítači s Windows máte opravdu soubor pojmenovaný „hosts“. A ten potřebujeme editovat. Bohužel – alespoň ve Windows 7 – jde o důležitý soubor a budeme-li jej chtít editovat Poznámkovým blokem (doporučuji), pak je nutné spustit Poznámkový blok „jako správce“.

Nejsnáze to uděláme tak, že klikneme na liště na Start a necháme si Poznámkový blok vyhledat v poli „Prohledat programy a soubory“. Když je nám Poznámkový blok nabídnut, tak na něj klikneme PRAVÝM tlačítkem myši a vybereme možnost „Spustit jako správce“. Bude to patrně vyžadovat potvrzení bezpečnostního dialogu.

Máme otevřený čistý Poznámkový blok, takže jdeme do Soubor > Otevřít. Nyní se musíte proklikat do složky Windows > System32 > drivers > etc. Že je ta divná složka etc prázdná? Ale není. Jen v ní nejsou žádné textové (*.txt) dokumenty, takže musíte z roletky vybrat možnost Všechny soubory. Pak se vám jich pár zobrazí a vy si otevřete soubor „hosts“.

Jsou tam nějaké zakomentované řádky (začínají mřížkou #), kterých si nebudeme všímat a pak tam budou patrně následující dva řádky:

127.0.0.1 localhost
::1 localhost

My neuděláme nic jiného, než že za ně přidáme další řádek:

127.0.0.1 rs2

Soubor uložíme a zavřeme. Co to ve výsledku bude znamenat? Nic než to, že pokud nyní do kteréhokoli prohlížeče na tomto počítači naťukáte adresu rs2 (respektive http://rs2/), tak prohlížeč bude tuto adresu hledat na vašem počítači, ne „na internetu“. Pokud byste do hosts takto vepsali třeba seznam.cz, tak se už nikdy nedostanete na Seznam, protože všechny požadavky na tento web budou mířit na váš počítač (ovšem pouze v rámci vašeho počítače, na jiném počítači bude vše ok). Samozřejmě v okamžiku, kdy tento řádek z hosts odmažete, se vše vrátí k normálu.

V tuto chvíli jsme tedy dosáhli toho, že adresa rs2 vede na váš počítač. Teď musíme ještě zajistit, aby počítač (server Apache) věděl, co po něm zadáním této adresy vůbec chcete – jaký adresář se skripty má načíst.

Konfigurace serveru Apache

Nelekejte se, je to lehké, i pokud jste si nainstalovali třeba Wamp nebo podobné řešení. Pokud jste si server, PHP a databáze instalovali sami, tak asi víte, kde hledat soubor httpd.conf. Pokud máte nainstalovaný Wamp jako já, tak běžte do jeho složky a cesta ke konfiguračnímu souboru Apache serveru bude vypadat například takto: c:\wamp\bin\apache\Apache2.2.17\conf\httpd.conf. 

Tento soubor otevřete v Poznámkovém bloku (už klidně „normálně“). První z věcí, kterou je třeba provést, je povolení modulu mod_rewrite, díky kterému budou v RS2 fungovat „pěkné“ adresy. A protože jiné ani systém nepoužívá, tak je to kritická věc – bez aktivace tohoto modulu by každé kliknutí na nějaký odkaz vedlo pouze je 404 chybě.

Nejsnazší je nechat si v tomto souboru vyhledat (CTRL-F či F3) slovo „mod_rewrite“ a najít tak tento řádek:

#LoadModule rewrite_module modules/mod_rewrite.so

Smažte onu mřížku ze začátku řádku a tím tento modul „aktivujete“. Jakýkoli řádek začínající mřížkou Apache ignoruje a považuje jej za komentář. Tímto jsme povolili podporu souboru .htaccess, který umožní používání „pěkných“ adres.

Nyní to hlavní – jděte na úplný konec souboru. Přibližně dvacátý řádek od konce souboru vypadá takto:

#Include conf/extra/httpd-vhosts.conf

Z jeho začátku odmažte mřížku, která taktéž způsobuje, že si server tohoto řádku „nevšímá“.

Soubor uložte a zavřete. Tímto jsme serveru přikázali, aby při svém běhu koukal ještě do souboru extra/httpd-vhosts.conf pro další nastavení. Takže nyní si otevřeme tento soubor (je v podsložce „extra“, jak je zřejmé z adresy). Opět klidně Poznámkovým blokem.

V souboru httpd-vhosts.conf již nějaký obsah je, ale vy si ho vůbec nebudete všímat a na konec souboru vložíte následující kód:

<VirtualHost *:80>
DocumentRoot "c:/www"
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "c:/www/rs2"
ServerName rs2
</VirtualHost>

Za prvé – tento kód předpokládá, že váš „server root“ (tedy hlavní složka, ve které spouštíte PHP skripty), je na adrese c:/www. Přepište si to dle vašeho nastavení (na konci není lomítko!).

Za druhé – co to všechno znamená? První VirtualHost „chlívek“ vrací funkčnost adrese http://localhost/, protože pokud nakážeme Apache serveru, aby začal zpracovávat virtuální hosty, tak tato „localhost“ adresa automaticky přestane fungovat. Tím, že ji zde takto uvedeme, bude fungovat dál. A druhý chlívek se již vztahuje k naší nové adrese, kterou jsme vkládali i do hosts souboru a plní přesně tu funkci, která doposud chyběla. Nyní, když do prohlížeče naťukáte http://rs2/, bude tento požadavek přesměrován na Apache server. Ten prohledá své virtuální hosty, najde tento záznam (ServerName rs2) a podívá se, jakou složku má zpracovávat – složku c:/www/rs2, v tomto případě. Tak v ní najde index.php a spustí jej.

Pozor! Změna nastavení Apache serveru se projeví až po jeho restartu. Takže až provedete změny v těchto dvou souborech, tak je uložte a server restartujte.

Výsledek

A je to! Nyní máme pro instalaci redakčního systému připravené prostředí „jako na hostingu“, a ačkoli fyzicky bude RS2 nahrán do složky, tak virtuálně poběží na „doméně“ rs2

Můžeme si také vytvořit regulérní (ačkoli jen virtuální) doménu, třeba mujweb-local.cz a mít testovací doménu http://mujweb-local.cz, která bude načítat složku c:/www/rs2.

To se to bude ladit …