V našem předchozím článku „Jak nainstalovat webový server Apache na Linuxu“ jsme vysvětlili, jak nainstalovat Apache na počítač se systémem Linux. Nyní v tomto článku navážeme na základní konfiguraci Apache, která bude zahrnovat
- Povolit provoz Apache prostřednictvím brány firewall
- Správa služeb Apache
- Nastavení virtuálních hostitelů v Apache
- Nakonfigurujte Apache tak, aby naslouchal na jiném portu
- Povolit/Zakázat přístup z konkrétních IP adres
Předpoklady
- Systém Ubuntu 20.04
- Uživatel s právy sudo
- Nainstalovaný webový server Apache
Poznámka: Příkazy popsané v tomto článku byly testovány na Ubuntu 20.04 LTS (Focal Fossa). Stejné příkazy platí také pro distribuci Debian.
Povolení provozu Apache přes bránu firewall
Pokud je ve vašem operačním systému povolena brána firewall, budete muset povolit provoz přes Apache. Server Apache standardně naslouchá na portu 80 pro HTTP a 443 pro https. Chcete-li povolit provoz HTTP (port 80) přes bránu firewall, proveďte v Terminálu následující příkaz:
$ sudo ufw povolit 'Apache'
Chcete-li povolit provoz HTTPS (port 443) přes bránu firewall, spusťte v Terminálu následující příkaz:
$ sudo ufw povolit 'Apache Secure'
Chcete-li povolit přenos HTTP (port 80) i HTTPS (port 443) přes bránu firewall, proveďte v Terminálu následující příkazy:
$ sudo ufw povolit 'Apache Full'
Správa služeb Apache
Po instalaci se služba Apache automaticky spustí na pozadí. Chcete-li zobrazit stav služby Apache, zadejte níže uvedený příkaz v Terminálu:
$ systemctl status apache2
V následujícím výstupu aktivní (běžící) stav ukazuje, že služba Apache je aktivní a běží bez problémů.
Pro ruční spuštění služby Apache použijte níže uvedený příkaz:
$ sudo systemctl spustí apache2
Chcete-li povolit automatické spouštění služby Apache při spuštění/bootu, použijte níže uvedený příkaz:
$ sudo systemctl povolí apache2
Pro restartování služby Apache použijte níže uvedený příkaz:
$ sudo systemctl restartujte apache2
Pro zastavení služby Apache použijte níže uvedený příkaz:
$ sudo systemctl stop apache2
Nastavení virtuálních hostitelů v Apache
Virtuální hostitel v Apache vám umožňuje provozovat řadu webových stránek z jediného webového serveru Apache. V následující části nakonfigurujeme jednoho virtuálního hostitele pro naši doménu „test.org“. V případě více domén postupujte podle stejných kroků pro každou doménu.
Krok 1:Vytvořte adresář pro svou doménu
Prvním krokem bude vytvoření adresáře pro vaši doménu. Pokud potřebujete hostovat více domén, vytvořte samostatné adresáře pro každou doménu. Pro naši doménu test.org , vytvoříme adresář pomocí následujícího příkazu:
$ sudo mkdir /var/www/test.org
Nezapomeňte nahradit test.org s názvem vaší domény.
Krok 2:Nastavte vlastnictví a oprávnění
Adresář pro naši doménu aktuálně vlastní uživatel root. Abychom umožnili ostatním uživatelům upravovat soubory, budeme muset změnit vlastnictví adresáře. Použijte k tomu následující příkaz v Terminálu:
$ sudo chown -R $USER:$USER /var/www/ test.org
Také nastavte požadovaná oprávnění v adresáři domény. 755 v níže uvedeném příkazu přiděluje oprávnění ke čtení a spouštění všem, zatímco oprávnění ke čtení, zápisu a spouštění má vlastník souboru.
$ sudo chmod -R 755 /var/www/ test.org
Krok 3:Vytvořte ukázkovou stránku index.html pro svou doménu
Nyní vytvořte ukázkový index.html stránku pro vaši doménu, aby mohla poskytovat nějaký obsah. Vytvořte soubor index.html na stránce /var/www/test.org adresář.
K tomuto účelu používáme editor Nano:
$ sudo nano /var/www/test.org/index.html
Přidejte do souboru následující obsah.
Váš server test.org je zablokován! Toto je testovací stránka webu test.org!
Po dokončení úprav uložte a zavřete index.html soubor.
Nyní ukázka index.html pro náš web byla vytvořena stránka.
Krok 4:Vytvořte nový soubor virtuálního hostitele
V Apaches existuje výchozí soubor virtuálního hostitele, který obsahuje konfigurace pro výchozí webový server. Pro naši doménu test.org , vytvoříme samostatný soubor virtuálního hostitele.
Chcete-li vytvořit soubor virtuálního hostitele pro vaši doménu, zadejte v Terminálu následující příkaz:
$ sudo nano /etc/apache2/sites-available/test.org.conf
Přidejte níže uvedený obsah do souboru.
ServerAdmin [chráněno e-mailem]ServerName test.orgServerAlias www.test.orgDocumentRoot /var/www/test.org/htmlErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combinedNezapomeňte nahradit test.org s vaším vlastním názvem domény.
Po dokončení úprav soubor uložte a zavřete.
Krok 5:Povolte soubor virtuálního hostitele
Nyní povolíme soubor virtuálního hostitele, který jsme vytvořili v předchozím kroku. Chcete-li to provést, zadejte v Terminálu následující příkaz:
$ sudo a2ensite test.org.conf
Nepoužíváme výchozí soubor virtuálního hostitele, takže jej můžeme zakázat. K deaktivaci použijte následující příkaz:
$ sudo a2dissite 000-default.conf
Nyní znovu načtěte konfigurace Apache pomocí následujícího příkazu:
$ systemctl reload apache2
Krok 6:Konfigurace souboru hostitelů (volitelné)
Pokud nemáte skutečný název domény a chcete otestovat postup pouze pomocí libovolné testovací domény, budete muset přidat záznam pro vaši doménu do /etc/hosts soubor.
Upravte soubor /etc/hosts pomocí následujícího příkazu v Terminálu:
$ sudo nano /etc/hostsPřidejte do tohoto souboru následující položku, která nahradí server_IP a název_domény s IP adresou a názvem domény vašeho prostředí.
server_IP domain_nameV našem příkladu by záznam byl:
192.168.72.157 test.orgNyní uložte a zavřete soubor /etc/hosts.
Krok 6:Otestujte chyby
Nyní otestujte konfigurace Apache na případné chyby. Použijte k tomu následující příkaz:
$ sudo apache2ctl configtestPokud je vše v pořádku, zobrazí se Syntaxe OK zpráva ve výstupu. Ve výsledku testu se také může zobrazit následující varovná zpráva.
Chcete-li tuto zprávu potlačit, přidejte Název_serveru direktiva v /etc/apache2/apache2.conf soubor.
Upravte soubor /etc/apache2/apache2.conf pomocí následujícího příkazu v Terminálu:
$ sudo nano /etc/apache2/apache2.confPřidejte do souboru následující položku nahrazující test.org s názvem vaší domény:
Název_serveru test.org
Uložte a zavřete soubor.
Znovu otestujte Apache na chyby konfigurace. Nyní uvidíte, že varování bylo odstraněno.
Krok 7:Otestujte, zda Apache obsluhuje název vaší domény
Nyní otestujte nastavení přechodem na následující adresu v adresním řádku vašeho webového prohlížeče.
http://název_doményV našem příkladu by to bylo:
http://test.orgNásledující stránka ukazuje, že virtuální hostitel byl úspěšně nakonfigurován a Apache obsluhuje název naší domény.
Nakonfigurujte Apache pro poslech na jiném portu
Ve výchozím nastavení Apache poslouchá webový provoz na portu 80. V některých případech může být nutné změnit port Apache, například když nějaká jiná služba již naslouchá na portu 80, ISP zablokoval port 80 nebo chcete port 80 zabránit útoky. Pamatujte však, že po změně výchozího portu musíte nasměrovat prohlížeče na nový port, jako je http://název_domény:port_nmuber.
1. Upravte soubor /etc/apache2/ports.conf soubor pomocí níže uvedeného příkazu:
$ sudo nano /etc/apache2/ports.confToto je výchozí zobrazení ports.conf soubor, kde můžete vidět port 80 nakonfigurovaný jako výchozí port.
Změňte toto číslo portu na jakoukoli jinou hodnotu, kterou má server Apache poslouchat.
Po dokončení úprav uložte a zavřete soubor ports.conf.
2. Nyní budete muset nakonfigurovat svého virtuálního hostitele, aby naslouchal na novém portu. Chcete-li upravit soubor virtuálního hostitele, použijte v Terminálu následující příkaz:
Soubor $ sudo nano /etc/apache2/sites-avaialble/test.org.confVe výše uvedeném příkazu nezapomeňte nahradit test.org.conf s názvem vašeho virtuálního hostitelského souboru.
Najděte záznam
a změňte hodnotu z 80 na libovolné číslo, které má Apache poslouchat. Chcete-li například změnit číslo portu na 9090 , položka se změní na . Poznámka :Chcete-li nastavit číslo portu, vyberte hodnotu v rozsahu 1024 až 65535.
Po dokončení uložte a zavřete soubor.
Apache lze také nakonfigurovat tak, aby naslouchal na více portech. Chcete-li například nastavit porty 80 a 9090 jako naslouchající porty, přidejte následující položky do /etc/apache2/ports.conf soubor:
Poslouchejte 80Poslouchejte 9090Také v /etc/apache2/sites-avaialble/test.org.conf soubor, přidejte položku následujícím způsobem:
Jakmile budete hotovi, restartujte službu Apache pomocí následujícího příkazu v Terminálu:
$ sudo systemctl restartujte apache2Povolit/Zakázat přístup z konkrétních IP adres
V následující části uvidíme, jak povolit/zakázat konkrétním IP adresám přístup na naše stránky. K tomuto účelu použijeme soubor .htaccess.
Krok 1:Povolte apache .htaccess
Nejprve budeme muset povolit soubor .htaccess. Chcete-li to provést, zadejte v Terminálu následující příkaz:
$ sudo nano /etc/apache2/sites-available/test.org.confZa blok VirtualHost připojte do souboru následující řádky:
Možnosti Indexy FollowSymLinksAllowOverride AllVyžadovat uděleno vše Nyní uložte soubor a restartujte apache pomocí následujícího příkazu:
$ sudo systemctl restart apache2Krok 2:Vytvořte soubor .htaccess
Nyní budeme muset vytvořit soubor .htaccess. Přejděte do kořenového adresáře virtuálního hostitele.
$ cd /var/www/test.orgPoté zde vytvořte soubor .htaccess pomocí následujícího příkazu:
$ sudo nano .htaccessKrok 3:Povolení/zakázání adres IP
Chcete-li odmítnout určité IP adresy z přístupu na váš web, budete muset přidat položky do souboru .htaccess následujícím způsobem:
odmítnout objednávku, povolit# Odmítnout IP adresu 192.168.9.8povolit z 192.168.9.8# odmítnout všechny IP adresy od 192.168.9.0 do 192.168.9.255povolit od 192.168.9povolit Pro tento účel, IP adresy z přístupu na váš web, budete muset přidat položky do souboru .htaccess následujícím způsobem:zakázat objednávku, povolit# Zakázat všechny IP adresyOdmítnout všem# Povolí IP adresu 192.168.9.30 povolit od 192.168.9.30# Povolí všechny IP adresy od 192.168.9.0 až 192.168.9.255povolit od 192.168.9To je vše, co k tomu patří! V tomto článku jste se naučili základy konfigurací Apache v Linuxu. To zahrnuje konfiguraci firewallu, správu služeb Apache, nastavení virtuálních hostitelů, změnu výchozích naslouchacích portů a povolení/zakázaní přístupu konkrétních IP adres na stránky. Další informace o konfiguracích Apache naleznete v oficiální dokumentaci serveru Apache na adrese http://httpd.apache.org/docs/.
5 způsobů, jak zkontrolovat stav baterie notebooku na Ubuntu 20.04 LTS Jak restartovat síťové služby v LinuxuUbuntu