Plesk und Domainverzeichnis

thomas65

Registered User
Hallo @all,
in Plesk kann man für die Domains ja leider kein Verzeichnis angeben. Deshalb habe ich für meine Subdomain eine vhost.conf Datei angelegt und per DocumentRoot auf das gewüschte Verzeichnis verwiesen. Jetzt werden dort aber keine PHP-Skripte ausgeführt. Woran kann das liegen?
 
Hallo!
Eventuell liegt es daran, dass im Verzeichnis darüber die PHP Engine explizit von Plesk eingeschaltet wird.
Code:
<IfModule sapi_apache2.c>
   php_admin_flag engine on
   ...
</IfModule>
Dies ist jeweils in der httpd.include Datei geregelt.

mfG
Thorsten
 
Hallo Thorsten
vielen Dank für die schnelle Antwort !

Also, die Subdomain zeigt auf ein Unterverzeichnis eines httpdocs-Verzeichnisses einer Domain (/home/httpd/vhosts/domain.de/httpdocs/unterverzeichnis). Und da wird natürlich in der http-include der Domain die PHP-Engine eingeschaltet. Was muss ich denn jetzt machen? Kann ich dann die Subdomain überhaupt auf ein Verzeichnis einer Domain leiten?
 
Hallo!
Prinzipiell hast du unter Plesk zwei Möglichkeiten:
1. Hinzufügen einer echten Subdomain bei Plesk
Diese zeigt dann auf das Verzeichnis /home/httpd/vhosts/domain.tld/subdomains/...
2. Neuanlage der Domain ohne www Präfix
Beim anlegen einer komplett neuen Domain kannst du den Präfix www auch abwählen.

Möglichkeit 2 hat den Vorteil, dass wirklich jede (Sub-)domain ihre eigene Verzeichnisstruktur bekommt.
/home/vhosts/httpd/domain.de <- www.domain.de
/home/vhosts/httpd/sub1.domain.de <- sub1.domain.de
/home/vhosts/httpd/sub2.domain.de <- sub2.domain.de
...

Voraussetzung ist, das die entsprechende Domain einen Catch-All Eintrag hat (*.domain.tld IN A xxx.xxx.xxx.xxx).

mfG
Thorsten

mfG
Thorsten
 
Ich habe die 1. Variante gewählt und eine echte Subdomain angelegt. Diese Subdomain soll nun auf ein Verzeichnis der Hauptdomain zeigen. Dies habe ich mittels DocumentRoot Eintrag in der Datei /home/httpd/vhosts/meine_domain.de/subdomains/meine_subdomain/conf/vhost.conf gemacht. Nun zeigt die Domain auf /home/httpd/vhosts/meine_domain.de/httpdocs/mein_unterverzeichnis. Soweit ist alles OK!

Rufe ich www.meine_domain.de/mein_unterverzeichnis auf, wird das PHP-Skript ganz normal ausgeführt. Wenn ich das Verzeichnis aber über meine_subdomain.meine_domain.de aufrufe (die Subdomain zeigt ja per DocumentRoot auf das Verzeichnis), kommt immer der "Speichern unter"-Dialog.
 
Hallo!
Kannst du die entsprechende vhosts.conf mal posten?

mfG
Thorsten
 
Hallo Thorsten,
hier die /home/httpd/vhosts/meine_domain.de/subdomains/meine_subdomain/conf/vhost.conf:

Code:
DocumentRoot /home/httpd/vhosts/meine_domain.de/httpdocs/unterverzeichnis
 
Auch wenn der Thread schon etwas älter ist, ich stehe gerade vor einem ähnlichen Problem.

Ich habe einen Domain-Alias angelegt, der standardmäßig auf das Hauptverzeichnis der Hauptdomain zeigt (.../vhosts/domain.tld/httpdocs).
Nun möchte ich den Domain-Alias auf ein anderes Verzeichnis leiten, z.B. .../vhosts/domain.tld/httpdocs/neues_verzeichnis.

Ich habe es schon mit einem neuen VirtualHost in der vhost.conf probiert, doch da meckert Apache, dass man VirtualHosts nicht verschachteln kann.
Aber ich wüsste sonst keine andere Möglichkeit, wie ich den Domain-Alias auf ein anderes Verzeichnis leiten sollte.

Bitte um Hilfe :)
 
>>Draco<< said:
Ich habe es schon mit einem neuen VirtualHost in der vhost.conf probiert, doch da meckert Apache, dass man VirtualHosts nicht verschachteln kann.
Das liegt daran, daß die vhost.conf in der httpd.include innerhalb von <VirtualHost> eingebunden wird
Code:
<VirtualHost x.x.x.x:80>
...
include var/www/vhosts/domain.tld/conf/vhost.conf
</VirtualHost>
ggf. könnte man den Indianer austricksen, indem man in der vhost.conf als ersten ein </VirtualHost> eingibt, um den in der httpd.include zu schließen. Dann Deine <VirtualHost x.x.x.x:80> Definition, aber ohne den schließenden </VirtualHost>, denn der steht ja noch in der httpd.include.

Gruß flyingoffice
 
>>Draco<< said:
Diese Variante funktioniert leider nicht
Sorry, aber einen Versuch war's ja wert.
>>Draco<< said:
In dem Ordner ist keine httpd.include
Dann ergründe dir Konfiguration Deines Indianers. Bei mir (Suse, Plesk) gibt es zB. einen Ordner /etc/apache2/vhosts.d und jede *.conf Datei die sich dort befindet wird automatisch verwendet. Da würde ich das definieren. Vielleicht gib es den Ornder ja auch bei Dir.

Gruß flyingoffice
 
Es funktioniert nun soweit, dass die Domain auf das richtige Verzeichnis leitet.
Allerdings scheint der PHP-Interpreter nun nicht mehr aktiviert, ich bekomme die Dateien zum Download angeboten.

Außerdem kann ich so die Domain auch nicht fürs Emailen nutzen.

Ich glaube, ich lass es jetzt einfach...
 
>>Draco<< said:
Allerdings scheint der PHP-Interpreter nun nicht mehr aktiviert, ich bekomme die Dateien zum Download angeboten.
Dann schalte in ein.
Code:
<IfModule sapi_apache2.c>
<Directory /var/www/vhosts/domain.tld/httpdocs/neues_verzeichnis/>
php_admin_flag engine on
php_admin_value open_basedir "/var/www/vhosts/domain.tld/httpdocs/neues_verzeichnis:/tmp"
</Directory>
</IfModule>

Gruß flyingoffice
 
Last edited by a moderator:
So, jetzt bin ich schon der dritte, der diesen Thread wiederbelebt... :eek:

Ich hab genau das gleiche Problem: Unter meiner Subdomain funktioniert plötzlich kein PHP, obwohl ich natürlich "PHP-Unterstützung" aktiviert habe.

Hat inzwischen jemand eine Lösung?
 
AAAAAAAHHHHHHHHHH
Problem durch Zufall gelöst: Irgendwie hatte der Proxy-Server die Datei im Cache... Erst als ich den Cache des Proxy-Servers von Hand gelöscht hatte, wurde die php-Datei ausgeführt...
Sehr seltsam, bei anderen Dateien war das Problem nicht, nur bei einer einzigen Datei...
 
Hallo,

ich habe seit vorgestern einen Hoster mit Plesk, davor war ich Confixx gewöhnt. Ich finde es jedoch sehr unpraktisch, dass ich eine Domain nicht auf ein Verzeichnis zeigen lassen kann (oder auch weiterleiten). Ich möchte ja nicht jedes mal einen Rattenschwanz an der Domain haben. Wie sieht das mit dieser vhost aus? Gibt es dafür Anleitungen? Ich habe die Suchfunktion benutzt und bin auf diesen Thread gestoßen, aber hier wird es nur angerissen. Wo finde ich eine detailierte Angabe zu den Schritten? Bzw. brauche ich nur wissen was ich wo ändern muss, mehr brauche ich sogar gar nicht.

Gruß
 
Die Lösung

Hiho,

ich bin hier der neue und komme ab und zu zum Putzen :D

Also die Lösung ist ganz einfach, aber anscheind wollte niemand diese seit dem das Thema besteht (das Jahr 2005 lang lang ist her) preisgeben.

Lösung:
  1. vhost.conf wie folgt öffnen mit vi /srv/www/vhosts/*domain*/subdomains/*subdomain*/conf/vhost.conf


    Folgendes eintragen und entsprechend anpassen, mehr muss eigentlich nicht in der vhost.conf stehen:
    HTML:
    ServerName   subdomain.domain.de:80
    ServerAdmin  "deine-email@adresse.de"
    DocumentRoot /srv/www/vhosts/domain.de/httpdocs/dein-verzeichnis
    CustomLog  /srv/www/vhosts/domain.de/statistics/logs/access_log plesklog
    ErrorLog  /srv/www/vhosts/domain.de/statistics/logs/error_log
    <IfModule mod_ssl.c>
         SSLEngine off
    </IfModule>
    <Directory  /srv/www/vhosts/domain.de/httpdocs/dein-verzeichnis>
         <IfModule sapi_apache2.c>
                 php_admin_flag engine on
         </IfModule>
         <IfModule mod_php5.c>
                 php_admin_flag engine on
         </IfModule>
    </Directory>

  2. folgendes in die Konsole eintragen ./usr/local/psa/admin/bin/websrvmng -a -v
  3. und den Apache2 neustarten mit ./etc/init.d/apache2 restart
  4. und nun freuen das es funkioniert :)

Liebe Grüße,

Christian
 
Back
Top