GNU/Linux >> Znalost Linux >  >> Ubuntu

Nakonfigurujte a hostujte aplikaci na webovém serveru Apache v systému Linux

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 combined 

Nezapomeň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/hosts

Př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_name

V našem příkladu by záznam byl:

192.168.72.157 test.org

Nyní 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 configtest

Pokud 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.conf

Př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ény

V našem příkladu by to bylo:

http://test.org

Ná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.conf

Toto 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.conf

Ve 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 9090 

Také 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 apache2

Povolit/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.conf

Za 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 apache2

Krok 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.org

Poté zde vytvořte soubor .htaccess pomocí následujícího příkazu:

$ sudo nano .htaccess

Krok 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.255
povolit od 192.168.9

To 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/.


Ubuntu
  1. Jak nakonfigurovat webový server Apache

  2. Nainstalujte webový server Apache na Linux Mint 13 / Linux Mint 14

  3. Jak nainstalovat a nakonfigurovat webový server Apache na Ubuntu 13.10

  1. Jak nainstalovat webový server Apache na CentOS 7

  2. Jak nainstalovat a nakonfigurovat Nextcloud s Apache na Ubuntu 18.04

  3. Nainstalujte Nginx a nakonfigurujte virtuálního hostitele v Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat Arch Linux jako server

  2. Nainstalujte a nakonfigurujte server VSFTPD na Ubuntu 18.04 LTS

  3. Jak nainstalovat a nakonfigurovat DHCP server v Linuxu