GNU/Linux >> Znalost Linux >  >> Debian

Jak nastavit virtuální hostitele Apache na Debianu 9

V tomto tutoriálu vás provedeme tím, jak nastavit virtuální hostitele Apache na Debianu 9.

Apache Virtual Hosts vám umožňuje hostovat více než jednu doménu na jednom počítači. Při použití virtuálních hostitelů můžete pro každou doménu nebo subdoménu zadat jiný kořenový adresář dokumentů (adresář, který obsahuje soubory webových stránek), vytvořit samostatnou bezpečnostní politiku, používat různé certifikáty SSL a mnoho dalšího.

Ačkoli je tento návod napsán pro Debian 9, stejné kroky platí pro všechny distribuce založené na Debianu.

Předpoklady #

Než budete pokračovat v tomto kurzu, ujistěte se, že jste splnili následující předpoklady:

  • Mějte název domény odkazující na IP adresu vašeho serveru. V tomto tutoriálu budeme používat example.com .
  • Mějte na svém serveru Debian nainstalovaný Apache.
  • Přihlášeni jako uživatel s právy sudo.

Vytvořit adresářovou strukturu #

Kořen dokumentu je adresář, kde jsou uloženy soubory webových stránek pro název domény a obsluhovány v reakci na požadavky. Kořen dokumentu můžete nastavit na libovolné umístění. V této příručce budeme používat následující adresářovou strukturu:

/var/www/
├── domain1.com
│   └── public_html
├── domain2.com
│   └── public_html
├── domain3.com
│   └── public_html

Každá doména hostovaná na našem serveru bude mít kořen dokumentu nastaven na /var/www/<domain_name>/public_html .

Začněme vytvořením kořenového adresáře dokumentu pro naši první doménu example.com :

sudo mkdir -p /var/www/example.com/public_html

Vytvoříme také index.html soubor v kořenovém adresáři dokumentu domény, který se zobrazí při návštěvě domény ve vašem prohlížeči.

Otevřete svůj oblíbený textový editor, vytvořte nový soubor a vložte do něj následující:

/var/www/example.com/public_html/index.html
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>

Příkazy spouštíme jako uživatel sudo a nově vytvořené soubory a adresáře jsou ve vlastnictví uživatele root.

Abychom se vyhnuli problémům s oprávněními, změníme vlastnictví kořenového adresáře dokumentu domény a všech souborů v tomto adresáři na uživatele Apache (www-data ):

sudo chown -R www-data: /var/www/example.com

Vytvořit virtuální hostitele #

Na systémech Debian jsou konfigurační soubory Apache Virtual Hosts umístěny v /etc/apache2/sites-available adresář a lze jej povolit vytvořením symbolických odkazů na /etc/apache2/sites-enabled adresář.

Otevřete požadovaný textový editor a vytvořte následující základní konfigurační soubor virtuálního hostitele:

/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>
  • ServerName :Doména, která by měla odpovídat této konfiguraci virtuálního hostitele. Toto by měl být název vaší domény.
  • ServerAlias :Všechny ostatní domény nebo subdomény, které by měly tomuto virtuálnímu hostiteli odpovídat také, obvykle www subdoména.
  • DocumentRoot :Adresář, ze kterého bude Apache obsluhovat soubory domény.
  • Options :Tato směrnice řídí, které funkce serveru jsou dostupné v konkrétním adresáři.
    • -Indexes :Zabraňuje výpisům adresářů.
    • FollowSymLinks :Když je tato možnost povolena, Apache bude následovat symbolické odkazy.
  • AllowOverride :Určuje, které směrnice deklarované v .htaccess soubor může přepsat konfigurační direktivy.
  • ErrorLog , CustomLog :Určuje umístění souborů protokolu.

Konfigurační soubor virtuálního hostitele můžete pojmenovat, jak chcete, ale doporučuje se použít jako název konfiguračního souboru název domény.

Chcete-li povolit nový soubor virtuálního hostitele, vytvořte symbolický odkaz ze souboru virtuálního hostitele na sites-enabled adresář, který Apache čte během spouštění.

V systémech Debian můžete virtuálního hostitele povolit pomocí pomocného skriptu s názvem a2ensite :

sudo a2ensite example.com

Druhou možností je ručně vytvořit symbolické odkazy zobrazené níže:

sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/

Jakmile je konfigurace povolena, otestujte, zda je syntaxe správná, zadáním:

sudo apachectl configtest

Pokud nejsou žádné chyby, uvidíte následující výstup:

Syntax OK

Restartujte apache2 aby změny vstoupily v platnost:

sudo systemctl restart apache2

Chcete-li ověřit, že vše funguje podle očekávání, otevřete http://example.com ve vašem oblíbeném prohlížeči a uvidíte něco takového:


Debian
  1. Jak nastavit virtuální hostitele Apache na Ubuntu 18.04

  2. Jak nastavit virtuální hostitele Apache na CentOS

  3. Nastavit statickou IP na Debianu 11 – Jak na to?

  1. Jak nastavit virtuální prostředí Python na Debian 10 Buster

  2. Jak nastavit virtuální hostitele Apache na Ubuntu 20.04

  3. Jak nastavit virtuální hostitele Apache na CentOS 7

  1. Jak nastavit virtuální hostitele Apache na CentOS 8

  2. Jak nastavit bloky serveru Nginx na Debianu 9

  3. Jak nainstalovat webový server Apache na Debian 10 Linux