Dnes se podíváme na to, jak nakonfigurovat virtuální hostitele Apache na serveru CentOS 7 VPS nebo na vyhrazeném serveru. Pokud hostujete webové stránky, je pravděpodobné, že hostujete více než jeden. Pokud ano, znalost toho, jak a proč tito virtuální hostitelé fungují, by vám měla umožnit lépe porozumět tomu, proč jsou potřeba. Ve výchozím nastavení může Apache hostit pouze jeden kořenový adresář dokumentů pro všechny požadavky, což pravděpodobně není to, co chcete.
Můžeme použít bloky VirtualHost k překladu pojmenovaných domén do příslušných kořenových adresářů dokumentů s novým nastavením pro každý blok podle potřeby. Ale co jde do platného VirtualHost? Kde by měl být uložen?
Pro tento článek budeme používat Core-Managed CentOS 7 VPS, který je dodáván s čistou instalací Apache 2.4. Pokyny budou podobné pro CentOS 6 a také pro nespravované servery CentOS 7 se stejnou verzí Apache. SSH jsme přivedeni na náš server jako uživatel root.
Apache bude nakonfigurován tak, aby hostoval několik webů mimo bránu, takže zde není moc co dělat. Historicky (tj. v Apache 2.2) bylo NameVirtualHost nezbytné k tomu, abychom Apache řekli, že chceme používat bloky virtuálních hostitelů k hostování více webů. Protože se jedná o převládající možnost, je nyní ve výchozím nastavení v Apache 2.4 zapnutá, takže nemáme žádnou další konfiguraci, kterou bychom museli udělat. Chceme se však ujistit, že Apache je povolen a spustí se při startu.
systemctl enable httpdsystemctl start httpdTyto dva příkazy by neměly mít žádný výstup. Pokud mají výstup, došlo k varování nebo chybě, o které můžete zobrazit podrobnosti spuštěním:
Apache je nyní v provozu a připraven hostit weby!
Nyní potřebujeme nějaké domény, které přidáme do Apache. Nastavíme dvě nové kořenové složky dokumentů, jednu na /var/www/domain.com/ a jednu na /var/www/domain.net.
mkdir -p /var/www/domain.netmkdir -p /var/www/domain.comNyní můžete začít přidávat jedinečný obsah do každé složky. Přidání základního souboru index.html, který říká, jakou doménu načítáte, nám pomůže později zkontrolovat naši práci.
mkdir -p /var/www/domain.netmkdir -p /var/www/domain.comPokud jste zajistili spuštění Apache pod jiným uživatelem, měli byste aktualizovat vlastnictví a oprávnění. Jinak Apache poběží jako root s vlastnictvím kořenového souboru.
Nyní, když máme weby k hostování, musíme o nich Apache informovat. Pro každou doménu vytvoříme nový soubor, abychom mohli postupně povolit nebo zakázat (nebo přidat a odebrat). Do souboru na /etc/httpd/conf.d/domain.com.conf zapište následující:
Pojďme si tyto řádky rozebrat.
Úplně první řádek otevírá náš blok VirtualHost a definuje, na jaké IP adrese a portu budeme naslouchat této direktivě. Hvězdička označuje všechny IP adresy na serveru a port 80 jako port bez SSL, protože SSL zatím nemáme.
Jediné dva řádky, které musíte mít v bloku VirtualHost, jsou ServerName a DocumentRoot. Ty říkají Apache, které požadavky příchozí domény naslouchat a která složka má tyto požadavky obsluhovat.
Alias ServerAlias může popisovat další domény, které by měly sloužit stejnému kořenovému adresáři dokumentů, což může být užitečné, řekněme vícemístná instalace WordPress.
Řádek ErrorLog říká Apache, kam má ukládat chyby související s načítáním této domény. Jediný jedinečný soubor může oddělit protokoly podle domény, například domain.com.error.log.
CustomLog s možností „kombinovaný“ zaznamená všechny žádosti o přístup pro tuto doménu. Tento protokol je také zvláště užitečný při odstraňování problémů, ke kterým dojde při zadání požadavku. To může být také velmi užitečné pro sledování toho, jaké IP adresy přistupují na váš web.
Do svého bloku VirtualHost můžete přidat další užitečné řádky:
ServerAdmin deklaruje e-mailovou adresu webmastera a je poskytnuta návštěvníkům, pokud dojde k chybě. Lze zde nastavit i další možnosti; Podobně jako v souboru .htaccess můžeme vypnout indexové stránky nebo symbolické odkazy. RewriteEngine lze povolit také ve VirtualHostAlso, další podmínky a pravidla pro přepisyTéměř vše, co můžete vložit do souboru .htaccess, může jít také do konfigurace VirtualHost soubor. Nyní, když máme virtuálního hostitele pro doménu.com, vytvořte další pro doménu.net stejným způsobem.
Jakmile jsou soubory zapsány, můžeme spustit test konfigurace:
Pokud nejsou zaznamenány žádné problémy, tento příkaz vrátí následující výstup.
Pokud se vyskytnou problémy, měl by nám příkaz httpd sdělit, který řádek a soubor způsobil problém. Nyní můžeme konfiguraci znovu načíst do Apache.
Pokud je opětovné načtení úspěšné, tento příkaz nebude mít žádný výstup. Můžeme potvrdit, že jsme načetli VirtualHosts spuštěním:
root@host [~]# konfigurace httpd -S VirtualHost: 127.0.0.1:80host.server.com (/etc/apache2/conf/httpd.conf:305) 127.0.0.1:443 host.server.com (/etc/ apache2/conf/httpd.conf:3726) 67.227.197.126:80 je výchozí server NameVirtualHost host.server.com (/etc/apache2/conf/httpd.conf:327)port 80 namevhost host.server.com (/etc/ apache2/conf/httpd.conf:327)port 80 namevhost domain.com (/etc/apache2/conf/httpd.conf:390)alias mail.domain.comalias www.domain.comVýstup tohoto příkazu bude zobrazit aktuální konfiguraci běhu Apache, včetně načtených bloků VirtualHost.
Měli byste vidět dvě položky s textem „*:80“ na začátku řádku, což bude domain.com a domain.net. V závorkách také uvidíte konfigurační soubor, ze kterého byl načten VirtualHost.
Pokud jste pro domény nastavili záznamy DNS, můžete nyní domény navštívit ve svém prohlížeči a uvidíte dva soubory index.html, které jsme napsali dříve. Pokud ještě nemáte nastaven DNS, můžete testovat pomocí úpravy souboru hosts na vaší pracovní stanici.
Hotovo! Nyní, když jsou naši VirtualHosts hotoví a běží, můžeme pokračovat v konfiguraci našich webových stránek, zabezpečení našeho serveru nebo nastavování SSL pro nově nainstalované domény.
Máte jiné myšlenky nebo obavy? Pokud ano, tým podpory Liquidweb vám může pomoci. Jednoduše si u nás otevřete tiket ještě dnes na adrese support@liquidweb.com, zavolejte nám na číslo 1-800-580-4985 nebo nám napište linku přes chat a promluvte si s jedním z našich administrátorů podpory úrovně 3 ještě dnes!
PREV: Problémy se serverem, které vás dostanou dolů (a řešení!) | Blog Udemy