Virtual Host für Apache auf Ubuntu

Thema: Ubuntu – MariaDB – WordPress – Apache – CleanBlogg Theme.


Neuen Virtual Host für  Apache unter Ubuntu anlegen

Unter Ubuntu ist Apache so konfiguriert, dass einzelne Web-Domains und Subdomains in je einer Konfigurationsdatei definiert sind. Sie müssen in einem anderen Verzeichnis verlinkt sein und anschliessend muss der Webserver noch neu geladen werden.

Konfigurationsdatei einer WordPress-Domain

Der Code-Block zeigt eine einfache Konfigurationsdatei:

root@server/etc/apache2 # cd /etc/apache2/sites-available/
root@server/etc/apache2 # vim newblog.domain.tdl.conf
<VirtualHost *:80>
  ServerName www.newblog.domain.tdl
  ServerAlias newblog.domain.tdl
  DocumentRoot /home/user/www/newblog.domain.tdl
  ServerAdmin user@domain.tdl
  AddDefaultCharset utf-8
  ErrorLog /var/log/apache2/newblog.domain.tdl-error.log
  CustomLog /var/log/apache2/newblog.domain.tdl-access.log combined
  <IfModule mod_rewrite.c>
    <Directory /home/user/www/newblog.domain.tdl/>
      Options +FollowSymLinks
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
    </Directory>
  </IfModule>
</VirtualHost>

Die (grünen) verzeichnisbezogene “RewriteRule” stammt aus der .htaccess-Datei, welche mit der WordPress-Einrichtung angelegt wird. Ich habe diese Angaben lieber unter der Apache-Konfiguration und nicht im File-System verteilt. Die .htaccess-Datei kann in diesem Fall anschliessend gelöscht werden. Blau die Ergänzung um ggf. gesperrte RewriteRules im  betreffenden Bereich zu ermöglichen.

Das Prinzip

Unter Ubuntu ist Apache so konfiguriert, dass einzelne Web-Domains und Subdomains in je eine Konfigurationsdatei unter /etc/apache2/sites-available/ definiert sind. Damit diese für Apache verfügbar sind muss eine Datei

/etc/apache2/sites-available/newblog.domain.tdl.conf

noch unter

/etc/apache2/sites-enabled/newblog.domain.tdl.conf

verlinkt werden. Das  geht so:

root@server /etc/apache2/sites-available # ln -s newblog.domain.tdl.conf ../sites-enabled/newblog.domain.tdl.conf

oder einfacher so:

root@server /etc/apache2/sites-available # a2ensite newblog.domain.tdl

Zuletzt muss der Webserver die zusätzliche Konfigurationsdatei einlesen, dazu zwei Varianten:

root@server # /etc/init.d/apache2 restart
root@server # systemctl reload apache2

Es gehen reload und restart. Meldet der Server Fehler beim Neustart, so sind sie wahrscheinlich in der/den soeben editierten .conf-Dateien zu suchen.

Strenge DNS

Arbeitet man wie oben angegeben mit Subomains (also vom Typ blog.domain.tdl), so muss der DNS welcher domain.tdl steuert, auch diese Subdomain zulassen. Je nach Konfigurationsinterface für die Domain Namen bei seinem Serverhost kann beim Hauptdomain auch der Eintrag *.domain.tdl vergeben werden, dann werden alle Subdomain-Anfragen an den Server bzw. seinen VirtualHosts weitergeleitet.

Bei Zone Files kann man das nicht immer so eintragen, man muss also eine neue Zeile wie diese anlegen:

@         IN A [IP-Adresse]
localhost IN A 127.0.0.1
www       IN A [IP-Adresse]
blog      IN A [IP-Adresse]

Alter Schalter und stoffumwickelter Stromleitung

Alter Schalter und stoffumwickelte Stromleitung

No Comments

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.