Debian-Server einrichten, Symlink von / var / www / dir in ein anderes Verzeichnis

0

Was ich versuche zu erreichen, ist Folgendes:

Anfrage kommt in: sub.mydomain.co.uk

Ich muss DocumentRoot als / var / www / common einrichten

Ich erstelle einen symbolischen Link in / var / www / common wie "ln -s / home / user / folder / sub.mydomain.co.uk"

Wie kann ich Apache dazu bringen, das als Benutzerverzeichnis zu erkennen und ihm zu folgen?

Matt256
quelle

Antworten:

1

Ich bin mir nicht sicher, ob dies genau das ist, was Sie brauchen, aber es sollte ausreichen, um zu beginnen. Zunächst muss der Benutzer www-data (Standardeinstellung von Debian für Apache) Zugriff auf / home / user / folder haben

Sie können dann eine neue Konfiguration für Apache in Datei erstellen /etc/apache/sites-available/virtuals

<VirtualHost *:80>
    DocumentRoot /var/www/common/default/
    VirtualDocumentRoot /var/www/common/%0

    <Directory />
            Options FollowSymlinks
            AllowOverride All
    </Directory>
</VirtualHost>

Dann musst du diese Konfiguration mit aktivieren

a2ensite virtuals
service apache2 reload

Es ist wahrscheinlich besser, die Standardkonfiguration mit zu deaktivieren

a2dissite default
service apache2 reload

Es /var/www/common/defaultsollte eine Standardseite sein, wenn eine nicht vorhandene Seite angefordert wird.

Mit dieser Konfiguration können Sie einfach erstellen Verzeichnis für jede Domain , die Sie auf dem Server zu handhaben wollen , /var/www/commonso http://one.simple.domain.comwird zur Verfügung gestellt von/var/www/common/one.simple.domain.com directory

Auch sicherer ist das Einstellen SymLinksIfOwnerMatchstatt FollowSymlinks, siehe entsprechende Dokumentation.

Käppi
quelle
Hallo danke für diese Antwort, obwohl ich den Fehler bekomme - Ungültiger Befehl 'VirtualDocumentRoot', möglicherweise falsch geschrieben oder durch ein Modul definiert, das nicht in der Serverkonfiguration enthalten ist
Matt256