VirtualHost - více domén na jednom VPS

Jak nastavit apache tak, aby na něm bylo možné provozovat více webů (domén)? Existuje více postupů.
Následující postup funguje spolehlivě na VPS 4smart.cz.

Instalace šablony

Použitá šablona: debian-6.0-x86_64-webdev1

Nainstalujte šablonu podle návodu.

U Vašeho registrátora (tam, kde máte registrované svoje domény) si buď změňte, nebo nechejte změnit DNS záznam tak, aby všechny Vaše domény směřovaly na veřejnou IPv4 vašeho VPS.

Nastavte si na VPS heslo pro ssh přístup (tlačítko nastavit SSH heslo).

Připojte se např. přes ssh (konzoli) na svůj VPS (použijte veřejnou IPv4 vašeho VPS)

ssh root@vaše_veřejná_IPv4

Tvorba složek pro jednotlivé weby

Ve složce /var si vytvořte složky, ve kterých budou Vaše weby, např.:

cd /var
mkdir wwwpokus1_cz
mkdir wwwpokus2_cz

Aby bylo později jasné, že vše funguje, doporučuji v každé složce (wwwpokus1_cz, wwwpokus2_cz) vytvořit v libovolném textovém editoru jeden PHP soubor (s odlišným obsahem) pojmenovaný index.php. Po nastavení bude potom jasné, zda se doména směruje do správné složky. Např. obsah souboru index.php ve složce wwwpokus1_cz:

<?php 
 Echo "wwwpokus1_cz";
?>

Nastavení sites-available

Nastavení se provádí ve složce /etc/apache2/sites-available:

cd /etc/apache2/sites-available/

Zde vytvoříme textové soubory. Můžete je samozřejmě vytvořit jinde a sem pouze nakopírovat. Počet souborů bude stejný jako počet domén, které chceme na apache provozovat. Jména zvolíme např. pokus1.cz a pokus2.cz

Obsah souboru pokus1.cz:

<VirtualHost *:80>
        ServerName pokus1.cz
        ServerAlias pokus1.eu pokus1.net
        ServerAdmin webmaster@vase_domena

        DocumentRoot /var/wwwpokus1_cz
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/wwwpokus1_cz>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        RewriteEngine on
</VirtualHost>

ServerName - primární název domény
ServerAlias - sekundární názvy domény - pokud chcete na stejný web směrovat více doménových jmen, jinak řádek vymazat
DocumentRoot, Directory - místo, kde máte web
RewriteEngine on - tento řádek lze vymazat, záleží na tom, zda web, který zde chcete provozovat toto vyžaduje

Obsah souboru pokus2.cz bude téměř stejný. Změní se pouze:
pokus1.cz → pokus2.cz, pokus1.eu pokus1.net → pokus2.eu pokus2.net, /var/wwwpokus1_cz → /var/wwwpokus2_cz (na 2 místech)

Nastavení sites-enabled

Po vytvoření souborů ve složce /etc/apache2/sites-available/ na ně přidáme linky do sites_enabled příkazem

a2ensite

Počítač se nás zeptá:

Your choices are: default default-ssl pokus1.cz pokus2.cz
Which site(s) do you want to enable (wildcards ok)?

Myší překopírujeme pokus1.cz pokus2.cz do řádku nebo názvy opíšeme a zmáčkneme Enter.

Pozn: odebrání odkazů ze sites_enabled příkazem a2dissite.

Zapnutí RewriteEngine

Pokud máme v souborech řádek RewriteEngine on, použijeme stejný postup po zadání příkazu:

a2enmod

Napíšeme nebo myší překopírujeme rewrite do řádku a zmáčkneme Enter.

Nastavení přístupu k PhpMyAdmin

Apache je nastavený. Ještě nastavíme přístup k mysql pomocí phpmyadmin:

dpkg-reconfigure phpmyadmin

Po spuštění příkazu vybereme ne - nechceme znovu instalovat db, potom necháme vybraný apache2 a zvolíme OK

Po tomto nastavení bude phpmyadmin dostupný např. na adresách:

http://pokus1.cz/phpmyadmin
http://vaše_veřejná_IPv4/phpmyadmin

Restart Apache

Nakonec restartujte apache:

/etc/init.d/apache2 reload

Pokud už jsou zadané domény přesměrovány na IP adresu Vašeho VPS, po zadání adresy do prohlížeče dojde k přesměrování do správné složky na VPS a na obrazovce se obejví obsah souboru index.php, který máte v dané složce.

Ověření funkčnosti nastavení bez změny DNS

Pokud přesměrování DNS u Vašeho registrátora domén není hotové, můžete ověřit funkčnost nastavení následujícím způsobem:

Na svém PC upravíte v libovolném editoru soubor /etc/hosts (název stejný na Windows i v Linuxu), např. ve vimu:

vim /etc/hosts

Ve Windows soubor najdeme většinou zde (pokud tam není, použijte vyhledávání):

C:\Windows\System32\drivers\etc\hosts

Do souboru přidáme tolik řádků, kolik domén chceme vyzkoušet. Nastavení zde je nadřazeno nastavení všech DNS na internetu.

vaše_veřejná_IPv pokus1.cz
vaše_veřejná_IPv pokus1.cz

Když potom zadáte v prohlížeči http://pokus1.cz, budete směrováni na Váš virtuální server a tam VirtualHost provede přesměrování do nastavené složky (podle toho, jakou doménu jste zadali) a zobrazí její obsah (v našem případě spustí soubor index.php a proto uvidíme na monitoru wwwpokus1_cz).

 
virtualhost_vice_domen_na_jednom_vps.txt · Poslední úprava: 2012/05/02 12:07 autor: megacruiser