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]
No Comments