Apache mit verschiedenen Adressen

Zur Navigation springen Zur Suche springen
Diese Seite ist nicht fertig, enthält aber trotzdem interessante Informationen.

Allgemeines

So kann man sich die vorhandenen Festplatten ansehen:

sed -ne 's/.*\([sh]d[a-zA-Z]\+$\)/\/dev\/\1/p' /proc/partitions

Das ergibt auf meinem System folgende Ausgabe:

sed -ne 's/.*\([sh]d[a-zA-Z]\+$\)/\/dev\/\1/p' /proc/partitions /dev/sda /dev/sdb /dev/sdc

Mehr Information zu Laufwerken gibt es hier. Wie man neue Datenträger in den Verzeichnisbaum einhängt (=mount), wird hier beschrieben.

So kann man sich die vorhandenen Laufwerke ansehen:

cat /etc/fstab

Die zentrale Konfigurationsdateien des Apache kann man hier ansehen:

cat /etc/apache2/apache2.conf cat /etc/apache2/sites-available/default-ssl.conf

Laufwerke über den Webserver erreichbar machen

Üblicherweise wird der Webserver auf der Linux-Systemplatte installiert. Das Standard-Root Verzeichnis DocumentRoot unter Ubuntu heißt /var/www/html/

Weitere Daten werden auf zusätzlichen Laufwerken gespeichert. Nun sollen diese Laufwerke über den Webserver eingebunden werden, weil man z.B. das Wiki nicht auf der Systemplatte laufen haben möchte. Wenn die zusätzlichen Laufwerke als Unterzeichernis des Web-Root-Verzeichnisses gemountet werden, sind sie ohne weitere Aktionen erreichbar, doch kann die Eingabe des Unterpfades unerwünscht lange Adressen erzeugen.
Wenn ich jedes Verzeichnis als eigene Domain im Heimnetzwerk einrichten möchte, muss ich einige Einträge vornehmen.

Kopieren der Standard-Konfigurationsdatei

Als Name der neu zu erstellenden Datei muss die gewünschte Domain gewählt werden, in diesem Beispiel aaa

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/aaa.conf

Bearbeiten der Konfigurationsdatei

sudo gedit /etc/apache2/sites-available/aaa.conf

Es müssen folgende Einträge gemacht werden, aaa-directory ist der Verzeichnisnamen, das das Document-Root-Verzeichnis für die neue Domain sein soll:

ServerName aaa ServerAlias aaa *.aaa DocumentRoot /var/www/html/aaa-directory <Directory /var/www/html/aaa-directory/> AllowOverride None Require all granted </Directory>

Die Einträge können überprüft werden mit

cat /etc/apache2/sites-available/aaa.conf

Das Ergebnis sollte ungefähr so aussehen:

root@Wiki:~# cat /etc/apache2/sites-available/aaa.conf <VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. ServerName aaa ServerAlias aaa *.aaa ServerAdmin webmaster@localhost DocumentRoot /var/www/html/aaa-directory <Directory /var/www/html/aaa-directory/> AllowOverride None Require all granted </Directory> # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf </VirtualHost> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet root@Wiki:~#

Aktivieren der Konfiguration

Nun müssen die Konfiguration aktiviert und der Apache-Server neu gestartet werden:

a2ensite aaa.conf service apache2 restart

Hosts-Verzeichnis editieren

Idealerweise kann man im Router die neue Domain bekanntgeben und mit der IP-Adresse des Servers verknüpfen. Derzeit habe ich keine Lösung für dieses Problem, man muss in jedem Rechner, der die Domain aufrufen soll, die IP-Adresse bekannt geben.

cat /etc/hosts

ergibt

root@Wiki:~# cat /etc/hosts 127.0.0.1 localhost xxx.xxx.xxx.xxx aaa

wobei xxx.xxx.xxx.xxx die IP-Adresse des Servers im Heimnetzwerk ist, überlicherweise von der Bauart 192.168.178.x

Hosts-Datei unter Windows

Windows 7-10 speichert die DNS-Adressen in der Datei hosts im Verzeichnis C:\Windows\System32\Drivers\etc</nowiki>, diese kann mit einem normalen Texteditor bearbeitet werden. Beim Speichern fordert Windows eine zusätzliche Bestätigung, weil für die Änderung Administratorrechte erforderlich sind.

Für jede Domain muss eine eigene Zeile mit der IP-Adresse und dem gewünschten Domainnamen eingefügt werden, dieses Vorgehen wird in de Hosts-Datei selber ausführlich beschrieben.

Die zusätzliche Zeile in der Hosts-Datei lautet also folgendermaßen:

192.168.178.x aaa

Alternative

Um nicht jeden Rechner im Heimnetzwerk editieren zu müssen, bietet sich als Alternative die Variante mit Subdomains[1] an.