• Login
  • Register
  • Search
  1. Forum
    1. Unerledigte Themen
  2. FAQ
  3. Downloads
  4. Spenden
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • FAQ
  • Files
  • More Options
  1. Vailux n.e.V.
  2. Kommunikation
  3. Allgemein - Technikecke

Tutorial: Apache Domains & Virtual Hosts anlegen

  • King_AFK
  • April 13, 2025 at 6:22 PM
  • Closed
1st Official Post
  • Online
    King_AFK
    1. Vorsitzender
    Reactions Received
    20
    Points
    1,115
    Posts
    89
    Files
    23
    • April 13, 2025 at 6:22 PM
    • Official Post
    • #1

    Dieses Tutorial erklärt euch, wie ihr beim Apache-Server Domains hinzufügen könnnt. Dies ist möglich, indem in der Apache-Konfiguration je Domain ein sogenannter Virtual Host erstellt wird.

    Dieses Tutorial setzt voraus, dass Apache bereits installiert ist. Wie dies geht, ist im Tutorial Apache installieren auf Linux beschrieben.

    In diesem Tutorial nutze ich Ubuntu 18.04. Das Tutorial funktioniert aber für die meisten Linux-Betriebssysteme.

    Express-Setup – Alle Befehle im Überblick

    Nachfolgende eine Befehle im Überblick um einen Virtual Host für eine Domain anzulegen. Details der Schritte folgen in den nachfolgenden Abschnitten.

    Code
    # VirtualHost für Domain erstellen (falls noch nicht passiert)
    
    # Ersetzt eure-url.de durch die genutzte URL.
    
    # Per export DOMAIN setzen wir eine Umgebungsvariable, die wir später per $DOMAIN nutzen können
    
    export DOMAIN=eure-url.de
    
    # Schritt 1 - Verzeichnis erstellen und Rechte anpassen
    
    sudo mkdir /var/www/$DOMAIN
    
    sudo chown -R www-data:www-data /var/www/$DOMAIN
    
    # Schritt 2 - Apache Config-Datei für domain.de erstellen
    
    printf "
    
    <VirtualHost *:80>
    
    ServerAdmin admin@$DOMAIN
    
    ServerName $DOMAIN
    
    ServerAlias http://www.$domain
    
    DocumentRoot /var/www/$DOMAIN
    
    ErrorLog \${APACHE_LOG_DIR}/error.log
    
    CustomLog \${APACHE_LOG_DIR}/access.log combined
    
    </VirtualHost>
    
    <Directory /var/www/$DOMAIN/>
    
    AllowOverride All
    
    </Directory>" | sudo tee /etc/apache2/sites-available/$DOMAIN.conf
    
    # Schritt 3 - VirtualHost Konfiguration für Domain aktivieren
    
    sudo a2ensite $DOMAIN.conf
    
    sudo systemctl reload apache2
    Display More

    Schritt 1 – Ordnerstruktur

    Es empfiehlt sich, die Websites der verschiedenen Domains in einer übersichtlichen Ordnerstruktur abzulegen. Dazu empfehle ich, pro Domain einen entsprechenden Unterordner unter /var/www/ anzulegen:

    • /var/www/domain1.de

    • /var/www/domain2.com

    Für diese Ordner solltet ihr den Besitzer und die Gruppe anschließend noch auf www-data setzen. Die Erstellung des Ordners und die Anpassung des Benutzers / der Gruppe geht wie folgt:

    Code
    sudo mkdir /var/www/eure-domain.de
    
    sudo chown -R www-data:www-data /var/www/eure-domain.de

    Schritt 2 – Apache Virtual Host erstellen

    Damit ein Aufruf von http://www.eure-domain.de die entsprechenden Dateien von /var/www/eure-domain.de anzeigt, muss eine neue Konfigurationsdatei erstellt werden.

    Ich empfehle dazu die Datei /etc/apache2/sites-available/eure-domain.de.conf zu erstellen:

    Code
    sudo nano /etc/apache2/sites-available/eure-domain.de.conf

    Diese benötigt den folgenden Inhalt:

    Code
    <VirtualHost *:80>
    
    ServerAdmin [email='admin@eure-domain.de'][/email]
    
    ServerName eure-domain.de
    
    ServerAlias http://www.eure-domain.de
    
    DocumentRoot /var/www/eure-domain.de
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    
    </VirtualHost>
    
    <Directory /var/www/eure-domain.de/>
    
    AllowOverride All
    
    </Directory>
    Display More

    Dabei haben die Einträge folgende Bedeutungen:

    • ServerAdmin: Bei einem Fehler mit dem Webserver wird diese E-Mail-Adresse des Administrators angezeigt. Besuchern können diese dann z.B. kontaktieren um den Fehler zu melden.

    • ServerName: Dies ist die Domain die ihr für Apache anlegt. Für Aufrufe von http://eure-domain.de werden dann die Dateien aus DocumentRoot verwendet.

    • ServerAlias: Hier kann man alternative Domainnamen angeben. Wir haben es so definiert, das beim Aufruf von http://www.eure-domain.de ebenfalls die Dateien aus dem selben DocumentRoot verwendet wird.

    • DocumentRoot: Verzeichnis, dass für diese Domain genutzt werden soll.

    • ErrorLog & CustomLog: Fehler-Log-Datei und Aufruf-Log-Datei für diese Domain. Hier verwenden wir die Standard-Apache-Logdateien.

    Per AllowOverride All erlauben wir die Nutzung von .htaccess-Dateien im Verzeichnis /var/www/eure-domain.de . Ohne diesen Eintrag wäre es beispielsweise nicht möglich WordPress zu verwenden.

    Schritt 3 – Config-Datei aktivieren

    Nachdem wir die Datei /etc/apache2/sites-available/eure-domain.de.conf erstellt haben, muss diese noch aktiviert werden:

    Code
    sudo a2ensite eure-domain.de.conf

    Anschließend veranlassen wir Apache noch, die Konfigurationsdatei neu zu laden:

    Code
    sudo systemctl reload apache2

    Schritt 4 – Aufruf der Domain testen

    Zum zu testen ob alles geklappt hat, erstellt eine Index-Datei: /var/www/eure-domain.de/index.html und befüllt diese mit einem beliebigen Text.

    Sofern eure DNS-Einstellungen richtig konfiguriert sind und eure-domain.de auf die IP eures Servers verweist, sollte ihr die erstelle index.html sehen wenn ihr http://eure-domain.de aufruft.

    Spezialfall – Nur eine Hauptdomain in Apache konfigurieren

    Möchtet ihr mit eurem eigenem Webserver nur eine Domain betreiben, so ist die Erstellung eines neuen virtual Hosts nicht unbedingt erforderlich. Stattdessen kann man die existente Konfiguration anpassen:

    Code
    sudo nano /etc/apache2/sites-available/000-default.conf

    In dieser Datei könnt ihr nun eine Domain wie folgt hinzufügen (Zeilen 9 und 10):

    Code
    ServerName eure-url.de
    
    ServerAlias http://www.eure-url.de


    • ServerName: Definiert die Domain. Wenn diese Domain aufgerufen wird, werden die Dateien aus DocumentRoot dem Besucher angezeigt

    • ServerAlias: Hier können wir alternative Domains spezifizieren. Hier geben wir http://www.eure-domain.de an, damit diese Domain ebenfalls funktioniert.

    Anschließend muss die Konfiguration von Apache noch neu geladen werden:

    Code
    sudo systemctl reload apache2

    Wenn ihr mehrere Domains oder Subdomains auf dem Webserver mit verschiedenen Inhalten betreiben möchtet, dann ist es erforderlich für jede Domain einen entsprechenden Virtual Host zu erstellen. Folgt dazu den Schritten 1) – 4).

    Nächste Schritte – SSL-Schutz per Let’s Encrypt hinzufügen

    Let’s Encrypt bietet einen kostenlosen SSL-Schutz für Domains an. Dieser Schutz funktioniert nur für Domains, nicht für IP-Adressen.

    Wenn ihr den Virtual Host wie oben für eure Domain erstellt habt, könnt ihr als nächstes eure Seite per SSL schützen. Genaue Details sind im Artikel: Tutorial: Apache & Let’s Encrypt für SSL-Schutz beschrieben.

    Quelle: webhosterwissen.de

Monday
16:30 clock to 20:00 clock
16:30 clock to 20:00 clock
Tuesday
16:30 clock to 20:00 clock
Wednesday
16:30 clock to 20:00 clock
Thursday
16:30 clock to 20:00 clock
Friday
15:00 clock to 18:00 clock
Saturday
Closed
Sunday
Closed
No support on public holidays and outside of our opening hours.
We are closed!
Threads
81
Posts
276
Files
32
Members
55
Most Online Users
6
Latest Member
derzimmerer

Tags

  • install
  • Installieren
  • Linux
  • Debian
  • Apache
  • Virtual Hosts
  • Domains
  • Domain
  • Homepage
  • Webspace

Informationen

  1. Haftungsausschluss
  2. Privacy Policy
  3. Legal Notice
Powered by WoltLab Suite™
Style: Nero by cls-design
Stylename
Nero
Manufacturer
cls-design
Designer
Tom
Licence
Free styles
Help
Supportforums
Visit cls-design