VirtualHosts laufen nicht.

M

Mac Fly

Grünschnabel
Ich hab den Apache 1.3.33 und dich bekomme einfach keine VirtualHosts zum Laufen. Nicht mal mit webmin *schäm*

Ich hab eine IP und drei Domains.

Wenn ich nur die IP angebe, dann soll er in das voreingestellte DocumentRoot. Dort hab ich (mit .htaccess geschützt) phpmyadmin usw...

Gebe ich allerdings eine Domain an, dann soll er in das Document Root, das ich angegeben hab. Aber eben das funktioniert nicht. Er geht immer in den ersten definierten Virtualhost.

Meine /etc/apache/conf/apache.conf
Code:
ServerType standalone
ServerRoot /etc/apache
PidFile /var/run/apache.pid
ScoreBoardFile /etc/apache/apache.scoreboard
ErrorLog logs/error_log
LogLevel warn
ResourceConfig /dev/null
AccessConfig /dev/null
DocumentRoot /var/www/localhost/htdocs


LoadModule mmap_static_module modules/mod_mmap_static.so
LoadModule env_module         modules/mod_env.so
LoadModule config_log_module  modules/mod_log_config.so
LoadModule agent_log_module   modules/mod_log_agent.so
LoadModule referer_log_module modules/mod_log_referer.so
LoadModule mime_magic_module  modules/mod_mime_magic.so
LoadModule mime_module        modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule status_module      modules/mod_status.so
LoadModule info_module        modules/mod_info.so
LoadModule includes_module    modules/mod_include.so
LoadModule autoindex_module   modules/mod_autoindex.so
LoadModule dir_module         modules/mod_dir.so
LoadModule cgi_module         modules/mod_cgi.so
LoadModule asis_module        modules/mod_asis.so
LoadModule imap_module        modules/mod_imap.so
LoadModule action_module      modules/mod_actions.so
LoadModule speling_module     modules/mod_speling.so
LoadModule userdir_module     modules/mod_userdir.so
LoadModule proxy_module       modules/libproxy.so
LoadModule alias_module       modules/mod_alias.so
LoadModule rewrite_module     modules/mod_rewrite.so
LoadModule access_module      modules/mod_access.so
LoadModule auth_module        modules/mod_auth.so
LoadModule anon_auth_module   modules/mod_auth_anon.so
LoadModule dbm_auth_module    modules/mod_auth_dbm.so
LoadModule db_auth_module     modules/mod_auth_db.so
LoadModule digest_module      modules/mod_digest.so
LoadModule cern_meta_module   modules/mod_cern_meta.so
LoadModule expires_module     modules/mod_expires.so
LoadModule headers_module     modules/mod_headers.so
LoadModule usertrack_module   modules/mod_usertrack.so
LoadModule example_module     modules/mod_example.so
LoadModule unique_id_module   modules/mod_unique_id.so
LoadModule setenvif_module    modules/mod_setenvif.so
<IfDefine PHP4>
LoadModule php4_module    extramodules/libphp4.so
</IfDefine>
LoadModule vhost_alias_module	modules/mod_vhost_alias.so

ClearModuleList
AddModule mod_mmap_static.c
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_log_agent.c
AddModule mod_log_referer.c
AddModule mod_mime_magic.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_proxy.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
AddModule mod_auth_dbm.c
AddModule mod_auth_db.c
AddModule mod_digest.c
AddModule mod_cern_meta.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
AddModule mod_example.c
AddModule mod_unique_id.c
AddModule mod_so.c
AddModule mod_setenvif.c
<IfDefine PHP4>
AddModule mod_php4.c
</IfDefine>
AddModule mod_vhost_alias.c

Include conf/commonapache.conf
Port 80
Listen 80
CustomLog logs/access_log combined env=!VLOG
Include conf/vhosts/Vhosts.conf

Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 4
MaxSpareServers 10
StartServers 4
MaxClients 150
MaxRequestsPerChild 500
Include  conf/addon-modules/mod_php.conf

Meine /etc/apache/conf/vhosts/Vhosts.conf
Code:
Port 80
ServerRoot /etc/apache
ResourceConfig /dev/null
AccessConfig /dev/null

NameVirtualHost *

<VirtualHost *>
ServerAdmin webmaster@german-bash.de
ServerName german-bash.de
ServerAlias www.german-bash.de
DocumentRoot /home/gbo/public_html
CustomLog /home/gbo/logs/access.log vhost
ErrorLog /home/gbo/logs/error.log
</VirtualHost>

<VirtualHost *>
ServerAdmin webmaster@back2future-soundcrew.de
ServerName back2future-soundcrew.de
ServerAlias www.back2future-soundcrew.de
DocumentRoot /home/netkiffer/public_html
CustomLog /home/netkiffer/logs/access.log vhost
ErrorLog /home/netkiffer/logs/error.log
</VirtualHost>

Meine /etc/apache/conf/commonapache.conf
Code:
User nobody
Group nogroup

ServerAdmin webmaster@german-bash.org

<Directory />
  Options -All -Multiviews
  AllowOverride None
  Order deny,allow
  Deny from all
</Directory>

<IfModule mod_userdir.c>
    UserDir public_html
</IfModule>
    
<IfModule mod_dir.c>
    DirectoryIndex index.html index.php index.php3 index.shtml index.cgi index.pl index.htm Default.htm default.htm
</IfModule>

AccessFileName .htaccess

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

UseCanonicalName On

<IfModule mod_mime.c>
    TypesConfig conf/mime.types
</IfModule>

DefaultType text/plain

<IfModule mod_mime_magic.c>
    MIMEMagicFile conf/magic
</IfModule>

HostnameLookups Off

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
LogFormat "%v %h %l %u %t \"%r\" %>s %b %T" script
LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" VLOG=%{VLOG}e" vhost

ServerSignature On

<IfModule mod_alias.c>

    Alias /icons/ /var/www/localhost/icons/
    Alias /doc /usr/share/doc
    
    ScriptAlias /cgi-bin/ /var/www/localhost/cgi-bin/

</IfModule>


<IfModule mod_autoindex.c>

    IndexOptions FancyIndexing

    AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

    AddIconByType (TXT,/icons/text.gif) text/*
    AddIconByType (IMG,/icons/image2.gif) image/*
    AddIconByType (SND,/icons/sound2.gif) audio/*
    AddIconByType (VID,/icons/movie.gif) video/*

    AddIcon /icons/binary.gif .bin .exe
    AddIcon /icons/binhex.gif .hqx
    AddIcon /icons/tar.gif .tar
    AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
    AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip .bz2
    AddIcon /icons/a.gif .ps .ai .eps
    AddIcon /icons/layout.gif .html .shtml .htm .pdf
    AddIcon /icons/text.gif .txt
    AddIcon /icons/c.gif .c
    AddIcon /icons/p.gif .pl .py .php .php3
    AddIcon /icons/f.gif .for
    AddIcon /icons/dvi.gif .dvi
    AddIcon /icons/uuencoded.gif .uu
    AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
    AddIcon /icons/tex.gif .tex
    AddIcon /icons/bomb.gif core

    AddIcon /icons/back.gif ..
    AddIcon /icons/hand.right.gif README
    AddIcon /icons/folder.gif ^^DIRECTORY^^
    AddIcon /icons/blank.gif ^^BLANKICON^^
    
    DefaultIcon /icons/unknown.gif

    AddDescription "GZIP compressed document" .gz
    AddDescription "tar archive" .tar
    AddDescription "GZIP compressed tar archive" .tgz

    ReadmeName README
    HeaderName HEADER
    IndexIgnore .??* *~ *# HEADER* RCS CVS *,v *,t

</IfModule>

<IfModule mod_mime.c>

    AddEncoding x-compress Z
    AddEncoding x-gzip gz tgz

    AddLanguage da .dk
    AddLanguage nl .nl
    AddLanguage en .en
    AddLanguage et .ee
    AddLanguage fr .fr
    AddLanguage de .de
    AddLanguage el .el
    AddLanguage he .he
    AddCharset ISO-8859-8 .iso8859-8
    AddLanguage it .it
    AddLanguage ja .ja
    AddCharset ISO-2022-JP .jis
    AddLanguage kr .kr
    AddCharset ISO-2022-KR .iso-kr
    AddLanguage no .no
    AddLanguage pl .po
    AddCharset ISO-8859-2 .iso-pl
    AddLanguage pt .pt
    AddLanguage pt-br .pt-br
    AddLanguage ltz .lu
    AddLanguage ca .ca
    AddLanguage es .es
    AddLanguage sv .se
    AddLanguage cz .cz
    AddLanguage ru .ru
    AddLanguage zh-tw .tw
    AddLanguage tw .tw
    AddCharset Big5         .Big5    .big5
    AddCharset WINDOWS-1251 .cp-1251
    AddCharset CP866        .cp866
    AddCharset ISO-8859-5   .iso-ru
    AddCharset KOI8-R       .koi8-r
    AddCharset UCS-2        .ucs2
    AddCharset UCS-4        .ucs4
    AddCharset UTF-8        .utf8

    <IfModule mod_negotiation.c>
        LanguagePriority en fr de es it da nl et el ja kr no pl pt pt-br ru ltz ca sv tw
    </IfModule>

    AddType application/x-tar .tgz

    AddHandler cgi-script .cgi

    AddType text/html .shtml
    AddHandler server-parsed .shtml

    AddHandler imap-file map
   
</IfModule>

<Location /manual>
Options Multiviews
ErrorDocument 404 "The document you requested has not been installed on your system."
</Location>

<IfModule mod_setenvif.c>

    BrowserMatch "Mozilla/2" nokeepalive
    BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0

     BrowserMatch "RealPlayer 4\.0" force-response-1.0
    BrowserMatch "Java/1\.0" force-response-1.0
    BrowserMatch "JDK/1\.0" force-response-1.0

</IfModule>

<IfModule mod_status.c>
    <Location /server-status>
        SetHandler server-status
        Order deny,allow
        Deny from all
        allow from 127.0.0.1
    </Location>
</IfModule>

<IfModule mod_info.c>
    <Location /server-info>
	SetHandler server-info
	Order deny,allow
	Deny from all
	Allow from 127.0.0.1
    </Location>
</IfModule>

<IfModule mod_perl.c>
    <Location /perl-status>
	SetHandler perl-script
	PerlHandler Apache::Status
	Order deny,allow
	Allow from all
	Allow from 127.0.0.1
    </Location>
</IfModule>

<IfModule mod_dav.c>
     DavLockDB /var/lock/mod_dav
</IfModule>

<IfModule mod_include.c>
</IfModule>


<Directory /var/www/localhost/htdocs>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<Directory /var/www/localhost/cgi-bin>
    AllowOverride All
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

<Directory /home/*/public_html>
    AllowOverride All
    Options MultiViews -Indexes Includes FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>

<Directory /home/*/public_html/cgi-bin>
     Options +ExecCGI -Includes -Indexes
     SetHandler cgi-script
</Directory>

<IfModule mod_perl.c>
    <Directory /home/*/public_html/perl>
	SetHandler perl-script
	PerlHandler Apache::PerlRun
	Options -Indexes ExecCGI
	PerlSendHeader On
    </Directory>
</IfModule>

<Directory /var/www/localhost/icons>
    Options -Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<Directory /usr/share/doc>
    Options Indexes FollowSymLinks MultiViews
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

<Location /index.shtml>
    Options +Includes
</Location>

Weiss irgendjemand woran das liegen könnte? Ich weiss es echt nicht mehr, ich hab alles mögliche ausprobiert... :hilfe2:
 
Gib dem NameVirtualHost die Server-Ip, wobei XXX.XXX.XXX.XXX für deine Server-Ip stehen sollte.


NameVirtualHost XXX.XXX.XXX.XXX

<VirtualHost XXX.XXX.XXX.XXX>
ServerAdmin **********
ServerName german-bash.de
ServerAlias www.german-bash.de
DocumentRoot /home/gbo/public_html
CustomLog /home/gbo/logs/access.log vhost
ErrorLog /home/gbo/logs/error.log
</VirtualHost>
 
Funktionierte auch nicht, ich hab jetzt mal alle configs gelöscht und fang von vorn an. Irgendwo muss sich da ein Fehler eingeschlichen haben...
 
Virtualmin halte ich für überflüssig, da man die einträge alle wunderbar auf dem prompt machen kann. ist doch eigentlich nichts schweres bei. ich finde man braucht nicht für jeden quatsch nen interface zur administration
 
Mac Fly schrieb:
Gebe ich allerdings eine Domain an, dann soll er in das Document Root, das ich angegeben hab. Aber eben das funktioniert nicht. Er geht immer in den ersten definierten Virtualhost.

Spuckt das Log irgendwas aus, das damit zu tun hat?

Code:
<VirtualHost *>
ServerAdmin webmaster@german-bash.de
ServerName german-bash.de
ServerAlias www.german-bash.de
DocumentRoot /home/gbo/public_html
CustomLog /home/gbo/logs/access.log vhost
ErrorLog /home/gbo/logs/error.log
</VirtualHost>

Das einzige, das bei mir anders aussieht (neben Eintraegen fuer *:80 und *:443), ist
Code:
ServerName german-bash.de
ServerAlias german-bash.de *.german-bash.de

Der Rest sieht weitestgehend genauso aus, die restlichen Apache-Optionen habe ich nicht im Detail verglichen. Wenns damit aber nichts zu tun hatte, schaue ich meinen funktionierenden vhosts-Kram gerne nochmal durch - erinnere mich noch gut, wie lange es damals gebraucht hat, bis das hier lief...

-khs
 
evtl. ist es auch ein rechte-problem ...

was sagt denn ein ls -al /home oder ls -al /home/gbo/ ?
 
Funktioniert immer noch nicht. Am ServerAlias lags also auch nicht.
So siehts jetzt aus:
Code:
NameVirtualHost 213.239.214.167

<VirtualHost 213.239.214.167>
ServerAdmin webmaster@german-bash.de
ServerName german-bash.de
ServerAlias german-bash.de *.german-bash.de
DocumentRoot /home/gbo/public_html
CustomLog /home/gbo/logs/access.log vhost
ErrorLog /home/gbo/logs/error.log
</VirtualHost>

<VirtualHost 213.239.214.167>
ServerAdmin webmaster@back2future-soundcrew.de
ServerName back2future-soundcrew.de
ServerAlias back2future-soundcrew.de *.back2future-soundcrew.de
DocumentRoot /var/www/localhost/htdocs
CustomLog /home/netkiffer/logs/access.log vhost
ErrorLog /home/netkiffer/logs/error.log

Ach ja, die Rechte... Wem sollten denn die Files und Ordner gehören? Der Apache läuft mit user=nobody und group=nogroup

/home/gbo sieht so aus:
Code:
dedi conf # ls -la /home/gbo/
total 972
drwxr-xr-x   7 gbo  users   4096 Jan  4 09:25 .
drwxr-xr-x   6 root root    4096 Dec 30 22:53 ..
-rw-r--r--   1 gbo  users  10054 Jan  4 16:51 .bash_history
-rw-r--r--   1 gbo  users    232 Dec 18 15:05 .bash_profile
-rw-r--r--   1 gbo  users    812 Dec 18 15:05 .bashrc
-rw-r--r--   1 gbo  users     39 Jan  2 03:09 .htpasswd
drwxr-xr-x   3 gbo  users   4096 Dec 30 17:44 .mc
-rw-r--r--   1 gbo  users   5929 Jan  2 02:52 .viminfo
-rw-r--r--   1 gbo  users    726 Dec 29 02:36 2do.txt
-rw-r--r--   1 gbo  users 893274 Dec 28 04:12 DB92571.sql
drwxr-xr-x   9 gbo  users   4096 Dec 31 00:11 Mail
-rw-r--r--   1 gbo  users  16384 Dec 31 10:51 dns_cache.db
drwxr-xr-x   2 gbo  users   4096 Jan  4 03:48 logs
drwxr-xr-x  13 gbo  users   4096 Jan  4 09:24 public_html
drwxr-xr-x   2 gbo  users   4096 Dec 31 10:52 webalizer
-rw-r--r--   1 gbo  users   8615 Dec 27 22:57 webalizer.conf

Die Index darin:
Code:
dedi conf # ls -la /home/gbo/public_html/index.php
-rw-r--r--  1 gbo users 17787 Dec 31 10:51 /home/gbo/public_html/index.php

Also ich weiss nich... egal, welche Domain oder auch die IP, es wird immer alles nach /home/gbo/public_html/ gelenkt...
 
Zuletzt bearbeitet:
Ich habe jetzt mal die komplette Config verglichen - bis auf Sachen, die damit wirklich nichts zu tun haben duerften, unterscheidet sie sich an den relevanten Stellen nicht.

Mit dem Resolving (DNS) hat es aber nicht zufaellig was zu tun? Hast du einen eigenen DNS? Loest der alle Hostnamen lokal richtig auf?

Poste doch mal einen Logfile-Ausschnitt fuer Zugriffe auf die versch. vhosts.

-khs
 
Hi,
Versuch mal dem user gbo auch die gruppe nobody zu geben:

Code:
usermod -G users,nobody gbo

nun probier mal nen

Code:
chown -R gbo:nobody /home/gbo

vielleicht klappt das ja
 
Dem User noch die gruppe nobody zu geben hat auch nichts gebracht. Sollte das nicht nogroup sein?

Das is wirklich ganz komisch.
Der erste VHost (german-bash.de) zeigt ja auf /home/gbo/public_html
Der zweite (back2future-soundcrew.de) zeigt auf /var/www/localhost/htdocs

Und egal, welche URL ich nehme, er leitet immer zum ersten. Den soll er ja eigentlich nur nehmen, wenn er passt oder wenn kein anderer passt. Stimmt doch, oder?

/home/gbo/logs/access.log
Code:
Aufruf http://german-bash.de
german-bash.de 81.169.145.11 - - [05/Jan/2005:15:20:34 +0100] "GET / HTTP/1.1" 200 346 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041231 Firefox/1.0" VLOG=-

Aufruf back2future-soundcrew.de
german-bash.de 81.169.145.11 - - [05/Jan/2005:15:20:54 +0100] "GET / HTTP/1.1" 200 346 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041231 Firefox/1.0" VLOG=-

Aufruf http://$ip
german-bash.de 217.227.98.221 - - [05/Jan/2005:15:21:01 +0100] "GET / HTTP/1.1" 200 346 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041231 Firefox/1.0" VLOG=-

In der /var/log/apache/access_log sowie in den error logs ist nichts drin...
 
Zuletzt bearbeitet:
Mac Fly schrieb:
Dem User noch die gruppe nobody zu geben hat auch nichts gebracht. Sollte das nicht nogroup sein?

Wenn es fehlende Rechte waeren, wuerde es im $error_log stehen.

Setz mal
Code:
HostnameLookups Off

Ist zwar eher so ein Bauch-Tip, aber manchmal sind die ja nicht sooo weit hergeholt...

-khs
 
Ich hab den Fehler. Die Domains werden atm noch von Starto verwaltet. Und die schreiben die IP anstatt die Domain in HTTP_POST :(

Aber trotzdem vielen vielen Dank für eure Hilfe!
 
VHosts bei Strato

Also, dass vhosts bei Strato nicht funktionieren, kann ich nicht bestätigen. Ich habe auch einen Server bei Strato und die Vhosts laufen wunderbar. Allerdings habe ich mich für Debian entschieden und habe den Apache "per Hand" kompiliert (brauchte nen paar Features für PHP, die der Debian-Apache nicht bietet). Hier mal ein VHost-Beispiel, das bei mir laeuft.

Code:
<VirtualHost 123.123.123.123>
        ServerAdmin meine@email.org
        DocumentRoot /home/www/theton
        ServerName meine-domain.org
        ServerAlias host.meine-domain.org
</VirtualHost>

Apache compilieren ist nicht allzu schwer (eine kleine Anleitung findet sich zum Beispiel in der INSTALL-Datei der PHP-Sourcen). Dadurch kann man alles, was mit Apache zu tun hat, schön in einem Verzeichnis unterbringen und behält die Übersicht über die installierten Server-Programme).
 

Ähnliche Themen

Nginx als Reverse Proxy für Nextcloud und Emby

Probleme mit virtual hosts

Apache2 mod_proxy

Apache für lokale Web-Entwicklung einrichten

Repository-Freigabe funktioniert nicht

Zurück
Oben