Apache2 virtual host probleem

Pagina: 1
Acties:
  • 112 views sinds 30-01-2008
  • Reageer

  • raswic
  • Registratie: November 2002
  • Laatst online: 10:39
Ik ben hier apache aan het configgen met virtual hosts.
Een host heet www.localdomain en de andere webmail.localdomain. Mijn probleem is dat ik altijd de webmail krijg en niet de www. Na een tijdje verwoed proberen met de VirtualHost variable kom ik er niet meer uit.
Dit gebeurt overigens bij poort 80 als 443 (secure).

Mijn config-file ziet er als volgt uit. Wat is hier nu mis mee?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName www.localdomain

        DocumentRoot /home/http/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
                Order allow,deny
                deny from all
        </Directory>
        <Directory /home/http/www>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

<VirtualHost webmail.localdomain:80>
        ServerAdmin webmaster@localhost
        ServerName webmail.localdomain

        DocumentRoot /usr/share/squirrelmail
        <Directory />
                Options FollowSymLinks
                AllowOverride None
                Order allow,deny
                deny from all
        </Directory>
        <Directory /usr/share/squirrelmail>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

</VirtualHost>

<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        ServerName www.localdomain
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.pem
        DocumentRoot /home/http/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
                Order allow,deny
                deny from all
        </Directory>
        <Directory /home/http/www>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

<VirtualHost webmail.localdomain:443>
        ServerAdmin webmaster@localhost
        ServerName webmail.localdomain
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/webmail.pem
        DocumentRoot /usr/share/squirrelmail
        <Directory />
                Options FollowSymLinks
                AllowOverride None
                Order allow,deny
                deny from all
        </Directory>
        <Directory /usr/share/squirrelmail>
          php_flag register_globals off
          Options Indexes FollowSymLinks
          allow from 172.25.34.9
          <IfModule mod_dir.c>
            DirectoryIndex index.php
          </IfModule>

          # access to configtest is limited by default to prevent information leak
          <Files configtest.php>
            order deny,allow
            deny from all
            allow from 172.25.34.9
          </Files>
        </Directory>



        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On


</VirtualHost>

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Ik heb het zelf zo staan:
code:
1
2
3
4
5
6
<VirtualHost _default_:80>
</VirtualHost>

<VirtualHost *:80>
  ServerName blaat
</VirtualHost>

En dat werkt hier prima :)

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • weijl
  • Registratie: Juli 2002
  • Niet online
Waarom 2 virtualhosts in 1 file?
Voorzover ik weet is het juist de bedoeling dat je met apache2 in /sites-enabled/ tig bestanden hebt staan met virtualhosts, om de reden dat dit iets overzichtelijker is dan in 1 config file. (when I'm wrong, correct me people!)

Afgezien daarvan, je config.
Ik zie er niets raars aan, ik zie wel verschillen met mijn config. (wel nog onder Apache 1.3.xx overigens)
ik heb bij elke VH "*:80" of "*:443", en niet zoals jij een domein daarin staan.
je zou dit eens kunnen proberen?

  • raswic
  • Registratie: November 2002
  • Laatst online: 10:39
Ik heb het nu veranderd zoals hier boven staat. Ik heb beide opties geprobeerd en het resultaat is hetzelfde.

Als ik apache nu start krijg ik de volgende melding

code:
1
2
3
4
Apache2[Wed Nov 02 21:10:05 2005] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
[Wed Nov 02 21:10:05 2005] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Wed Nov 02 21:10:06 2005] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
[Wed Nov 02 21:10:06 2005] [warn] _default_ VirtualHost overlap on port 80, the first has precedence



Het eindresultaat is dat ik alleen de default als output krijg.

[ Voor 8% gewijzigd door raswic op 02-11-2005 21:15 ]


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

gupje schreef op woensdag 02 november 2005 @ 21:06:
Waarom 2 virtualhosts in 1 file?
Voorzover ik weet is het juist de bedoeling dat je met apache2 in /sites-enabled/ tig bestanden hebt staan met virtualhosts, om de reden dat dit iets overzichtelijker is dan in 1 config file. (when I'm wrong, correct me people!)
Overzichtelijk, ach.. Ik heb files weer er een stuk of 10 instaan, en zolang je goed gebruik maakt van de zoekfunctie van je editor levert dat geen problemen op ;)
Sowieso zou dat betekenen dat ik in 1 directory 10 files zou krijgen, waarbij ik het doorzoeken van een enkel bestand, waar ik bijna nooit aankom, toch de voorkeur geef.

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • weijl
  • Registratie: Juli 2002
  • Niet online
True, maar dat is wel de gedachte van Apache v2 als ik het goed heb.

Heb zelf overigens ook 1 config file hor ;)

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
is dit wel correct <VirtualHost webmail.localdomain:80> ?

volgens mij gebruik ik altijd <VirtualHost *:80>

webmail.localdomain is de servername, voor de :80 dient toch het ip te staan waarop apache listened, niet de servername bij mijn weten.

Mijn rig


  • BlaTieBla
  • Registratie: November 2000
  • Laatst online: 09-02 16:00

BlaTieBla

Vloeken En Raak Schieten

even een opmerking in het algemeen voor wat webservers betreft en het gebruik van SSL (ik heb overigens de ballen verstand van Apache config);
Wanneer je een webserver inricht met meerdere websites kan er gebruik gemaakt worden van de zogenaamde 'host-headers' om onderscheidt te maken tussen de websites.
Een alternatief is dat je meerdere IP adressen aan die machine toekent en dat je iedere webserver een eigen IP adres geeft (dit heeft overigens ook de voorkeur, maar is logistiek niet altijd mogelijk).

Bij het gebruik van SSL werkt het host-header gedeelte niet meer omdat die nml in het data veld zit opgeslagen. Dit dataveld is versleuteld met SSL. De webserver kan dus niet bepalen op welke website hij het verkeer moet afleveren.

Daarom met SSL altijd een ip adres koppelen aan een website. Als je ueberhaupt geen ssl gebruikt is dit uiteraard niet aan de orde, omdat dan alles op basis van de hostheaders gaat werken.

leica - zeiss - fuji - apple | PSN = Sh4m1n0


  • raswic
  • Registratie: November 2002
  • Laatst online: 10:39
Ik denk dat hier de spijker op zijn kop geslagen wordt. Dit herken ik.
Vaak doet het unsecured gedeelte het wel en de ssl geeft maar 1 site.

Even proberen

Nu dus weer niet. Even verder kijken dus

[ Voor 13% gewijzigd door raswic op 02-11-2005 21:43 ]


Verwijderd

Begin simpel zou ik zeggen. Voor apache 2.0:


code:
1
2
3
4
5
6
7
8
9
10
11
NameVirtualHost 192.168.5.11:80

<VirtualHost 192.168.5.11:80>
ServerName foo.example.com
DocumentRoot /var/www/html/foo
</VirtualHost>

<VirtualHost 192.168.5.11:80>
ServerName bar.example.com
DocumentRoot /var/www/html/bar
</VirtualHost>


Uiteraard IP adres, domeinnamen en directories vervangen met je eigen waardes.

  • weijl
  • Registratie: Juli 2002
  • Niet online
SSL realiseer ik hier dmv mod_rewrite.
2 VirtualHosts voor 1 subdomein.

bijvoorbeeld mail.domain.com.
<VirtualHost *:80>
DocumentRoot /document/root
ServerName mail.domain.com
ServerAdmin webmaster@domain.com
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /document/root
*SSL zut aan*
</VirtualHost>

dan in de documentroot in een htaccess een modrewrite naar https://%{SERVER_NAME}/ op port 443. werkt perfect.

SSL certificaat selfsigned overigens.

  • koffiedrinker
  • Registratie: September 2002
  • Laatst online: 05-02 21:05

koffiedrinker

Archlinux werkt dagelijks

Bij het gebruik van SSL mag je maar een virtualhost per IP adres gebruiken.
Hier is een document te vinden van Apache.org zelf, waarin is uitgelegt waarom meerdere vhosts met SSL niet (gaan) werken.
Helaas zul je daar een andere oplossing voor moeten vinden :'(

Koffie werkt echt!


  • weijl
  • Registratie: Juli 2002
  • Niet online
very true.
met meerdere domeinen/vhosts ga je wel een "domain mismatch' krijgen.
voor thuis gebruik niet zo'n punt, maar voor andere doeleinden niet erg proffesioneel, imo.
Pagina: 1