Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Virtual Host

Alles rund um das Internet, Internet-Anwendungen (E-Mail, Surfen, Cloud usw.) und das Einrichten von Netzwerken einschl. VPN unter Linux

Moderator: Moderatoren

Antworten
umbroboy
Newbie
Newbie
Beiträge: 25
Registriert: 4. Jun 2005, 13:44

Virtual Host

Beitrag von umbroboy »

Hallo,

endlich hab ich ein posted gefunden, wo ich vielleicht weiter komm oder ihr mir helfen könnt.

Ich habe PLESK mit SUSE 9.2.

Würde gern eine Subdomain mit webmailer einrichten, welche auf folgendes Verzeichnis zeigt:

Code: Alles auswählen

/home/httpd/vhosts/horde/horde/index.php
Habe jetzt in der :

Code: Alles auswählen

/etc/apache2/conf.d
eine eigene *.conf Datei die über die httpd.include eingebunden wird.

Sie sieht wie folgt aus:

Code: Alles auswählen

<VirtualHost xxx.xxx.xxx.xxx:80>

DocumentRoot /home/httpd/vhosts/
Alias /horde/ /home/httpd/vhosts/horde/

ServerName webmailer
ServerAlias webmailer.*
UseCanonicalName Off
<Directory /home/httpd/vhosts/horde/horde>

<IfModule sapi_apache2.c>
php_admin_flag engine on
php_admin_flag magic_quotes_gpc off
php_admin_flag safe_mode off
php_admin_value open_basedir "/home/httpd/vhosts/horde:/usr/share/php:/usr/local/psa/admin/plib:/usr/local/psa/admin/javascripts:/usr/local/psa/admin/plib/locales:/usr/local/psa/admin/auto_prepend:."
php_admin_value include_path "/home/httpd/vhosts/horde:/usr/share/php:/usr/local/psa/admin/plib:/usr/local/psa/admin/javascripts:/usr/local/psa/admin/plib/locales:/usr/local/psa/admin/auto_prepend:."
</IfModule>
Options +Includes +ExecCGI FollowSymLinks
</Directory>
</VirtualHost>
Allerdings ging es gestern noch, heute nciht mehr und entweder kommt der 403 fehler oder er findet den Pfad nicht.

Dass sagt zu mindest der apache log.

Was mach ich falsch...

suche schon seit tagen nach dem fehler.

:(

VIelen Dank schonmal.
Zuletzt geändert von umbroboy am 18. Aug 2005, 12:51, insgesamt 1-mal geändert.
Benutzeravatar
nobbiew
Hacker
Hacker
Beiträge: 497
Registriert: 1. Mär 2004, 23:26

Beitrag von nobbiew »

Bitte mach nen eigenen Thread ist auf. Das ist ein eigenen Problem.

Kriegst du deine IP-Adresse evtl. über DHCP?. Dann ist ein
<VirtualHost IP:80> gefährlich. Dort sollten dann <VirtualHost DNSNAME:80> stehen.
umbroboy
Newbie
Newbie
Beiträge: 25
Registriert: 4. Jun 2005, 13:44

Beitrag von umbroboy »

Hallo nobbiew,

ich denke nicht dass ich es über DHCP bekomme, da wenn ich mir die httpd.conf anschaue sind alle Virtual Hosts so progammiert.


Hier mal ein Bespiel aus der httpd.conf.

Code: Alles auswählen

<VirtualHost \
			XXX.XXX.XXX.XXX:80 \
			>
	ServerName default
	UseCanonicalName Off
	DocumentRoot /home/httpd/vhosts/default/htdocs
	ScriptAlias /cgi-bin/ "/home/httpd/vhosts/default/cgi-bin/"
	<IfModule mod_ssl.c>
		SSLEngine off
	</IfModule>
	<Directory "/home/httpd/vhosts/default/cgi-bin/">
		AllowOverride None
		Options None
		Order allow,deny
		Allow from all
	</Directory>
	<Directory /home/httpd/vhosts/default/htdocs>
	<IfModule sapi_apache2.c>
		php_admin_flag engine on
		php_admin_value open_basedir "/home/httpd/vhosts/default/htdocs:/tmp"
	</IfModule>
	</Directory>
</VirtualHost>
Benutzeravatar
Dakuan
Hacker
Hacker
Beiträge: 282
Registriert: 30. Jul 2004, 09:46
Wohnort: Hamburg

Beitrag von Dakuan »

... wenn ich mir die httpd.conf anschaue sind alle Virtual Hosts so progammiert.
Heisst das jetzt das du für jeden Virtual Host eine eigene IP hast oder benutzt du eine IP für alle?

Wenn du nur eine IP hast dann schreibe:
<VirtualHost *:80>

sonst geht alles auf die erste Definition.

Dakuan
Es ist zwar schon alles gesagt, aber eben noch nicht von jedem.
Benutzeravatar
nobbiew
Hacker
Hacker
Beiträge: 497
Registriert: 1. Mär 2004, 23:26

Beitrag von nobbiew »

Und wenn du nur eine IP hast, dann gilt die Anleitung von mir

Und wenn du problem hast hilft i.d.R. die durchsicht der Logdateien (/var/log/apache2/access_log, u. /var/log/apache2/error_log) Das ist der default bei Suse, ansonsten halt do wo du sie hinlegst. Und wenn du überhaupt nicht weiterweist die vom Hauptserver, bzw. 1. VirtualHost, denn da landen alle Sachen, die nicht durch einen spezielleren Host angesprochen werden.
umbroboy
Newbie
Newbie
Beiträge: 25
Registriert: 4. Jun 2005, 13:44

Beitrag von umbroboy »

Heisst das jetzt das du für jeden Virtual Host eine eigene IP hast oder benutzt du eine IP für alle?
nein ich habe nur eine IP....

Hier mal ein Ausschnitt aus der httpd.conf
  • <VirtualHost \
    XXX.XXX.XXX.XXX:80 \
    >
    ServerName default
    UseCanonicalName Off
    DocumentRoot /home/httpd/vhosts/default/htdocs
    ScriptAlias /cgi-bin/ "/home/httpd/vhosts/default/cgi-bin/"
    <IfModule mod_ssl.c>
    SSLEngine off
    </IfModule>
    <Directory "/home/httpd/vhosts/default/cgi-bin/">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
    </Directory>
    <Directory /home/httpd/vhosts/default/htdocs>
    <IfModule sapi_apache2.c>
    php_admin_flag engine on
    php_admin_value open_basedir "/home/httpd/vhosts/default/htdocs:/tmp"
    </IfModule>
    </Directory>
    </VirtualHost>


    <IfModule mod_ssl.c>

    <VirtualHost XXX.XXX.XXX.XXX:443 >
    ServerName default-80-237-160-106
    UseCanonicalName Off
    DocumentRoot /home/httpd/vhosts/default/httpsdocs
    ScriptAlias /cgi-bin/ "/home/httpd/vhosts/default/cgi-bin/"
    SSLEngine on
    SSLVerifyClient none
    SSLCertificateFile /usr/local/psa/var/certificates/certEc29952
    <Directory "/home/httpd/vhosts/default/cgi-bin/">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
    </Directory>
    <Directory /home/httpd/vhosts/default/httpsdocs>
    SSLRequireSSL
    </Directory>
    </VirtualHost>

    </IfModule>

    <VirtualHost \
    XXX.XXX.XXX.XXX:80 \
    >
    DocumentRoot /usr/share/psa-horde/
    Alias /horde/ /usr/share/psa-horde/
    Alias /imp/ /usr/share/psa-horde/imp/
    ServerName webmail
    ServerAlias webmail.*
    UseCanonicalName Off
    <Directory /usr/share/psa-horde>
    <IfModule sapi_apache2.c>
    php_admin_flag engine on
    php_admin_flag magic_quotes_gpc off
    php_admin_flag safe_mode off
    php_admin_value open_basedir "/usr/share/psa-horde:/etc/psa-horde:/etc/psa:/tmp:/var/log:/usr/share/doc"
    php_admin_value include_path "/usr/share/psa-horde:/usr/share/psa-horde/pear:."
    </IfModule>
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>


    <IfModule mod_ssl.c>
Und wenn du nur eine IP hast, dann gilt die Anleitung von mir
leider geht dies nicht. Da ich die httpd.conf nicht ändern kann, dass heisst ändern könnte ich Sie schon nur PLESK ändert dass permenatn wieder und überschreibt alles. Habe dann das selbe auch mal mit der subdomain phpmyadmin probiert welche auch in dem

/home/httpd/vhosts/phpmyadmin/

liegt probiert, welche über die HTTPD.include über eine separte Conf Datei eingebunden wird, probiert.

Aber der Server mag einfach nicht.

Ja die Server Logs habe ich auch schon durchgeschaut.

Entweder geht er auf das falsche Verzeichnis:

Code: Alles auswählen

[Wed Aug 17 15:21:40 2005] [error] [client 82.135.8.114] File does not exist: /home/httpd/vhosts/horde/horde/horde
oder

Code: Alles auswählen

[Wed Aug 17 15:19:16 2005] [error] [client 82.135.8.114] Directory index forbidden by rule: /home/httpd/vhosts/
er hat keine rechte.

Irgendwie ist dass einfach meiner meinung nach ein pfad problem.

:?

Ist der documenten Root gleich dem Directory?

Viele Grüße und Danke
Zuletzt geändert von umbroboy am 19. Aug 2005, 13:19, insgesamt 1-mal geändert.
Benutzeravatar
nobbiew
Hacker
Hacker
Beiträge: 497
Registriert: 1. Mär 2004, 23:26

Beitrag von nobbiew »

Sofern du keine NameVirtualHost-direktive irgendwo stehen hast solltest du mit der conf ein Problem haben. Denn du hast unter 80.237.160.106:80 zwei Virtual Hosts. Ganz nach dem Motte Highlander "Es kann nur einen geben" würde er in dem Fall den letzten nehmen, wenn ich mich recht erinnere. Das müsste er dir aber schon beim Starten vom Apache mitteilen.

Ach ja noch was. Was willst du mit ServerName default erreichen? Ist das ein gültiger Name?. Denn das hat nichts mit dem _default_ von Apache zu tun.
umbroboy
Newbie
Newbie
Beiträge: 25
Registriert: 4. Jun 2005, 13:44

Beitrag von umbroboy »

Hallo,

also ich habe ja auch PLESK drauf und von PLESK wird das eben so konfiguriert. Es sind auch nur AUsschnitte, ich wollte auch nicht alles aus der HTTPD.conf posten.

Default ist einfach ein leeres Template. Sobald ich eine Subdomain neukonfiguriere über PLESK ergänzt er die restlichen Daten.

Allerdings möchte ich ja die subdomain übergeordnet anlegen. Sprich für mehrere Domäns.

/home/httpd/vhosts/horde

Die weitere Verzeichnisstruktur ist:

/home/httpd/vhosts/Domain1
/home/httpd/vhosts/Domain2

etc

Eine Fehlermeldung von Apache folgt nicht.
umbroboy
Newbie
Newbie
Beiträge: 25
Registriert: 4. Jun 2005, 13:44

Beitrag von umbroboy »

Hallo nobbiew,

also ich hab jetzt mal folgendes gemacht wie nach deiner Anleitung:

In dem Verzeichnis:

Code: Alles auswählen

/etc/apache2/vhosts.d
habe ich eine

Code: Alles auswählen

webmailer.conf 
reinkopiert die aussieht wie folgt:

Code: Alles auswählen

<VirtualHost XXX.XXX.XXX.XXX:80> 
   ServerName webmailer
   ServerAlias webmailer.* 
   DocumentRoot /home/httpd/vhosts/horde/horde
   ErrorLog /home/httpd/vhosts/horde/horde/error_log 
   # Wenn schon, denn schon, aber ggf auch /etc/logrotate.d/apache2 anpassen 
   CustomLog "/home/httpd/vhosts/horde/horde/access_log" common 
<IfModule sapi_apache2.c>
php_admin_flag engine on
php_admin_flag magic_quotes_gpc off
php_admin_flag safe_mode off
php_admin_value open_basedir "/home/httpd/vhosts/horde:/usr/share/php:/usr/local/psa/admin/plib:/usr/local/psa/admin/javascripts:/usr/local/psa/admin/plib/locales:/usr/local/psa/admin/auto_prepend:."
php_admin_value include_path "/home/httpd/vhosts/horde:/usr/share/php:/usr/local/psa/admin/plib:/usr/local/psa/admin/javascripts:/usr/local/psa/admin/plib/locales:/usr/local/psa/admin/auto_prepend:."
</IfModule>
   <Directory "/home/httpd/vhosts/horde/horde> 
      Options None 
      AllowOverride None 
      Order allow,deny 
      Allow from all 
   </Directory> 
</VirtualHost> 
Dann habe ich in die httpd.include folgenden Pfad hinzugefügt:

Code: Alles auswählen

Include /etc/apache2/vhosts.d/*.conf
Danach den Apache neugestartet:

Code: Alles auswählen

httpd2 -t && rcapache2 reload
Diese Meldung kam:

Syntax OK
Reload httpd2 (graceful restart) done


wenn ich jetzt webmailer.xxx.de eingebe, kommt ein neues Fenster mit Datei speichern unter.

Der Accesslog gab dass aus:

82.135.71.235 - - [19/Aug/2005:13:33:17 +0200] "GET / HTTP/1.1" 200 2225


Der Errorlog blieb leer.
Benutzeravatar
nobbiew
Hacker
Hacker
Beiträge: 497
Registriert: 1. Mär 2004, 23:26

Beitrag von nobbiew »

Sorry, aber jetzt muss ich die Flügel strecken. Nachdem ich nicht wusste was PLESK ist, hab ich mich jetzt mal schlau gemacht.

Das greift ziemlich in deinen WEB-Server ein und ist derzeit (zumindest habe ich nichts anderes gefunden) nur für SuSE 9.1 freigegeben. Bei SuSE 9.1 ist aber noch der Apache 1.3 als Standard vorgeben. Ich weiß daher nicht wie PLESK auf den Apache2 reagiert.

mir ist auch nicht ganz klar was bei

Code: Alles auswählen

<IfModule sapi_apache2.c>
php_admin_flag engine on
php_admin_flag magic_quotes_gpc off
php_admin_flag safe_mode off
php_admin_value open_basedir "/home/httpd/vhosts/horde:/usr/share/php:/usr/local/psa/admin/plib:/usr/local/psa/admin/javascripts:/usr/local/psa/admin/plib/locales:/usr/local/psa/admin/auto_prepend:."
php_admin_value include_path "/home/httpd/vhosts/horde:/usr/share/php:/usr/local/psa/admin/plib:/usr/local/psa/admin/javascripts:/usr/local/psa/admin/plib/locales:/usr/local/psa/admin/auto_prepend:."
</IfModule>
Alles geschieht.

Hast du schon mal bei SwSoft angefragt, wie es mit SuSE 9.2 u. Apache2 aussieht?
umbroboy
Newbie
Newbie
Beiträge: 25
Registriert: 4. Jun 2005, 13:44

Beitrag von umbroboy »

Hallo,

laut SW Soft sieht es wie folgt aus:

httpd.include wird immer von Plesk generiert, deshalb es ist sinnlos in dieser Datei etwas zu aendern. Sie muessen die Datei httpd.conf aendern:
Sie koennen den benoetigten Eintrag (Virtual Host) aus httpd.include kopieren und in httpd.conf nach der Zeile
--
Include /etc/httpd/conf/httpd.include
--
hinzufuegen. Dann wird es nicht ueberschrieben.

Also man sollte am Ende von der Httpd.include den Satz mit dem Virtual Host hinzufügen.

Aber ich denke dass es so auch gehen müsste.

Bei diesem Code:

Code: Alles auswählen

<IfModule sapi_apache2.c> 
php_admin_flag engine on 
php_admin_flag magic_quotes_gpc off 
php_admin_flag safe_mode off 
php_admin_value open_basedir "/home/httpd/vhosts/horde:/usr/share/php:/usr/local/psa/admin/plib:/usr/local/psa/admin/javascripts:/usr/local/psa/admin/plib/locales:/usr/local/psa/admin/auto_prepend:." 
php_admin_value include_path "/home/httpd/vhosts/horde:/usr/share/php:/usr/local/psa/admin/plib:/usr/local/psa/admin/javascripts:/usr/local/psa/admin/plib/locales:/usr/local/psa/admin/auto_prepend:." 
</IfModule>
Werden nur die Pfade gesetzt für das Verzeichnis dass z.b. php dateien ausgeführt werden können.Etc...

Nur ich denke das müsste soweit schon konfiguriert sein, nur kommt halt jetzt gleich das speichern unter fenster wenn ich die subdomain aufrufe.
Benutzeravatar
nobbiew
Hacker
Hacker
Beiträge: 497
Registriert: 1. Mär 2004, 23:26

Beitrag von nobbiew »

Sorry umbroboy, ich steh im Wald und seh die Bäume nicht.

Der Fehler passiert eigentlich immer dann, wenn ein falscher MIME-Type vom Apache o. der Anwendung mitgegeben wird. Ist auch etwas schwierig zu suchen, denn in den Logs sind keine Fehler zu entdecken.

Im Grunde müsstest du dir mal den Datenstrom ansehen und schauen, welche MIME-Informationen mitgeliefert werden. Es reicht nicht die Datei abzuspeichern und dann anzusehen, da der MIME-Type i.d.R. nicht mit abgelegt wird.

Ich denke der beste weg ist noch mal jungfräulich anzufangen und die Sachen Schritt für Schritt einzutragen. Wie gesagt, ich habe keine Ahnung wie sich PLESK mit apache2 u. SuSE 9.2 verhält, da es auch nicht in der Supportliste steht.
umbroboy
Newbie
Newbie
Beiträge: 25
Registriert: 4. Jun 2005, 13:44

Beitrag von umbroboy »

Hallo,

okay also nochmal von vorn: :)

ICh hab in der

Code: Alles auswählen

/etc/apache2/httpd.include
Folgenden Eintrag angefügt:

Code: Alles auswählen

<VirtualHost XXX.XXX.XXX.XXX:80>

DocumentRoot /home/httpd/vhosts/horde/horde
ServerName webmailer
ServerAlias webmailer.*
UseCanonicalName Off
<Directory /home/httpd/vhosts/horde/horde>
<IfModule sapi_apache2.c>
php_admin_flag engine on
php_admin_flag magic_quotes_gpc off
php_admin_flag safe_mode off
php_admin_value open_basedir "/home/httpd/vhosts/horde/horde:/usr/share/php:/tmp:/usr/local/psa/admin/plib:/usr/local/psa/admin/javascripts:/usr/local/psa/admin/plib/locales:/usr/local/psa/admin/auto_prepend:."
php_admin_value include_path "/home/httpd/vhosts/horde/horde:/usr/share/php:/tmp:/usr/local/psa/admin/plib:/usr/local/psa/admin/javascripts:/usr/local/psa/admin/plib/locales:/usr/local/psa/admin/auto_prepend:."
</IfModule>
Options +Includes +ExecCGI FollowSymLinks
</Directory>
</VirtualHost>
Diese lädt der Apache2 mit.

Gebe ich jetzt ein:

webmailer.XXX.de

Kommt die 403 Meldung, Objekt nicht gefunden.

In der Adressleiste vom IE steht dann allerdings das drin:

http://webmailer.XXX.de/horde/login.php ... 56c1e11758

Die Daten befinden sich allerdings im Verzeichnis

/home/httpd/vhosts/horde/horde


Der Errorlog gibt aber folgendes aus:

Code: Alles auswählen

[Tue Aug 23 11:18:25 2005] [error] [client 82.135.69.65] File does not exist: /home/httpd/vhosts/horde/horde/horde
Und greift komishcerweise auf ein anderes Verzeichnis.

Nur ich versteh einfahc nicht warum.

Viele Grüße
Benutzeravatar
nobbiew
Hacker
Hacker
Beiträge: 497
Registriert: 1. Mär 2004, 23:26

Beitrag von nobbiew »

Schau dir mal alle Vezeichniseinträge durch.
Das ist etwas zu viel horde.

Offensichtlich gibt es im DokumentRoot eine datei index.html, die dich umleitet auf horde/login.php...

Ich Denke mal dein DokumentRoot sollte /home/httpd/vhosts/horde heißen. Dann musst du aber auch die Directory-Anweisung anpassen.
Gruß

nobbiew
umbroboy
Newbie
Newbie
Beiträge: 25
Registriert: 4. Jun 2005, 13:44

Beitrag von umbroboy »

Hallo,

also eine Umleitung find ich ned.

Der richtige Pfad wo die Daten drin liegen ist aber:

/home/httpd/vhosts/horde/horde/index.php

ich schau mal weiter..

Viele Grüße
Antworten