Linux - Server Administration
Linux Server mit Plesk
Plesk legt die Domains in eigenen vhosts an und liest und schreibt dort jeweils eine eigene httpd.conf für den Apache. Ändert man dort etwas kann das bei der nächste Änderung über Plesk wieder überschrieben werden.
hier gab es einen schönen Ansatz: Quelle: http://www.schreinert.com/eigenen-apache-config-anlegen-plesk-per-vhostconf-50/ (12.12.2008)
Eigenen Apache-Config anlegen: Plesk per vhost.conf
Plesk als Server-Management-Software schreibt und überschreibt die Konfugrationsdateien des Apache-Web-Servers mit jeder Änderung der entsprechenden Plesk-Einstellungen. Das heißt, dass es nicht ratsam ist, die Apache-Konfiguration httpd.conf nachträglich per Editor anzupassen. Damit doch eigene Änderungen an den Domain-Einstellungen möglich sind, bietet Plesk die vhost.conf - Datei an, welche aber nicht ohne weiteres aktiv ist.
Für ergänzende Konfigurations-Anweisungen des Apaches sind die folgenden beiden Schritte notwendig:
1. Anlegen der vhost.conf für die gewünschte Domain.
Im Konfigurations-Verzeichnis der Domain liegt von Haus aus die Datei httpd.conf, welche von Plesk gelesen und geschrieben wird. Das Konfigurationsverzeichnis für die Domain www.domain.de liegt beispielsweise bei SuSE Linux hier: /srv/www/vhosts/domain.de/conf/. In dieses Verzeichnis gehört nun die vhost.conf - Datei, in die die Apache-Einstellungen eingetragen werden können. Alle Einträge sind dabei automatisch innerhalb der <Virtual> Konfiguration enthalten. Anschließend noch daran denken, die vhost.conf für den Web-Server lesbar zu machen:
$> chmod go+r /srv/www/vhosts/domain.de/conf/vhost.conf
2. Plesk dazu bringen, die vhost.conf Datei einzubinden.
Auch wenn die eigenen Einstellungen in der Datei bereits korrekt eingetragen sind, so weiß der Apache noch nichts von der erweiterten Konfiguration. Plesk muss zuvor noch die Datei in die bestehende httpd.conf per Include einbinden. Dies kann hervorgerufen werden, indem die Einstellungen zu der Domain in Plesk aufgerufen und (unverändert) gespeichert werden.
Jetzt ist die vhost.conf in der httpd.conf inkludiert und dem Apache bekannt gegeben.
Noch ein Tipp für Änderungen an der Konfiguration: Die geänderte Konfiguration sollte immer überprüft werden, bevor der Apache neu gestartet wird — egal ob per rcapache restart oder apache2ctl graceful. Bei Fehlern droht sonst, dass der Apache seinen Dienst verweigert.
Daher immer ein apache2ctl configtest vor dem “reload” durchführen
Ende des Zitats
Praktische Anwendung - OpenBaseDir Restriction
Gerade bei der Installation von Typo3 gerät man manchmal an das Problem das man die Sourcen außerhalb des Webspace anlegen möchte aber der Zugriff scheitert. So gehts:
php_admin_value open_basedir "/var/www/vhosts/test.com/httpdocs:/tmp:/usr/bin"
Andere Beispiele:
<Directory /var/www/vhosts/xxx.de/httpdocs>
<IfModule sapi_apache2.c>
php_admin_value open_basedir "/var/www/vhosts/xxx.de/httpdocs:/tmp:/var/www/vhosts/webservices-seidel.de/subdomains/xxx/httpsdocs"
</IfModule>
<IfModule mod_php5.c>
php_admin_value open_basedir "/var/www/vhosts/xxx.de/httpdocs:/tmp:/var/www/vhosts/xxx.de/subdomains/xxx/httpsdocs"
</IfModule>
</Directory>
(Beispiel von : http://serversupportforum.de/forum/plesk/28938-php-5-2-6-open_basedir-auf-subdomain.html#post185565 12.12.2008)
Vhost mit Header 301 komplett weiterleiten
von http://www.robo47.net/faq/vhost--301-header-weiterleitung (12.12.2008)
Mit diesem Code in einem Vhost spart man sich unnötige Ordner auf der Festplatte, wenn man diese eh nur Weiterleiten will.
<VirtualHost *:80> ServerName subdomain.domain.tld RedirectMatch 301 (.*) http://www.domain2.tld </VirtualHost>
Es werden auch Aufrufe von subdomain.domain.tld/asdf/ oder anderen Dokumenten und unterordnern automatisch auf die andere Domain weitergeleitet an die passende URL weitergeleitet, sprich aus subdomain.domain.tld/asdf/ wird www.domain2.tld/asdf/. Wenn man das nicht will muss man nur das weglassen und alles auf die Hauptdomain weitergeleitet.
<VirtualHost *:80> ServerName subdomain.domain.tld RedirectMatch 301 (.*) http://www.domain2.tld </VirtualHost>
Plesk Infos
Ein paar gesammelte Infos (ungeprüft)
/opt/psa/admin/conf/php.ini die PHP Einstellungen für den Admin (nicht für die Kunden !!!)
Änderungen für die Kundeneinstellungen finden in der vhost.conf im Kundenverzeichnis statt