PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache2: nach neuer IP nicht mehr erreichbar



clumsy
10.06.04, 15:50
Hi,

ich nutze nen dyndns.org-Service (clumsy.is-a-geek.net). Habe mehrere Vhosts laufen. Klappt auch. Aber wenn ich von meinem Provider ne neue IP bekomm, dann muss ich den Apache neu starten, damit er wieder erreichbar ist und nicht ein "Forbidden" liefert!
Wie kann ich das Problem beheben?

clumsy

RichieX
10.06.04, 16:33
Deine httpd.conf wäre interessant.

RichieX

clumsy
10.06.04, 17:09
hier mal die httpd2.conf



ServerRoot /etc/httpd/2.0
ServerName 192.168.1.1:80
#ServerName clumsy.is-a-geek.net:80
#LockFile /etc/httpd/httpd.lock
PidFile /var/run/httpd.pid
ErrorLog logs/error_log
LogLevel warn
DocumentRoot /var/www/html/
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
.....schnipp
der rest ist denk ich unwichtig.

Hier noch die vhosts.conf



NameVirtualHost clumsy.is-a-geek.net:80
NameVirtualHost clumsy.is-a-geek.net:443

<VirtualHost clumsy.is-a-geek.net:80>
ServerAdmin admin@clumsy.is-a-geek.net
DocumentRoot /var/www/html/main
ServerName clumsy.is-a-geek.net
ErrorLog /var/log/httpd/error_log
</VirtualHost>

<VirtualHost clumsy.is-a-geek.net:80>
ServerAdmin admin@clumsy.is-a-geek.net
DocumentRoot /var/www/html/phpSysInfo
ServerName phpSysInfo.clumsy.is-a-geek.net
ErrorLog /var/log/httpd/phpSysInfo_error_log
</VirtualHost>

<VirtualHost clumsy.is-a-geek.net:80>
ServerAdmin admin@clumsy.is-a-geek.net
DocumentRoot /var/www/html/phpMyAdmin
ServerName phpMyAdmin.clumsy.is-a-geek.net
ErrorLog /var/log/httpd/phpMyAdmin_error_log
</VirtualHost>

<VirtualHost 192.168.1.1:80>
ServerAdmin admin@clumsy.is-a-geek.net
DocumentRoot /var/www/html/netjuke
ServerName muffel
ErrorLog /var/log/httpd/netjuke_error_log
</VirtualHost>

<VirtualHost clumsy.is-a-geek.net:80>
ServerAdmin admin@clumsy.is-a-geek.net
DocumentRoot /var/www/html/typo3/
ServerName typo3.clumsy.is-a-geek.net
ErrorLog /var/log/httpd/typo3_error_log
</VirtualHost>

<VirtualHost clumsy.is-a-geek.net:80>
ServerAdmin admin@clumsy.is-a-geek.net
DocumentRoot /var/www/html/webmail
ServerName webmail.clumsy.is-a-geek.net
ErrorLog /var/log/httpd/webmail_error_log
</VirtualHost>

<VirtualHost clumsy.is-a-geek.net:443>
ServerAdmin admin@clumsy.is-a-geek.net
DocumentRoot /var/www/html/webmail
ServerName webmail.clumsy.is-a-geek.net
ErrorLog /var/log/httpd/webmail_error_log
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSL v2:+EXP:+eNULL
SSLCertificateFile /etc/httpd/conf/server.crt
SSLCertificateKeyFile /etc/httpd/conf/server.key
</VirtualHost>

<VirtualHost clumsy.is-a-geek.net:80>
ServerAdmin admin@clumsy.is-a-geek.net
DocumentRoot /var/www/html/wohnheim
ServerName wohnheim.clumsy.is-a-geek.net
ErrorLog /var/log/httpd/wohnheim_error_log
</VirtualHost>


in der /etc/hosts steht nur localhost drin....

Roger Wilco
10.06.04, 17:32
Aus deiner httpd2.conf


ServerName 192.168.1.1:80

Hier sollte eigentlich der Hostname deines Rechners stehen, nicht die IP.
Wenn du tatsächlich nur auf 192.168.1.1:80 lauschen willst, musst du "Listen" verwenden.

Aus deiner vhosts.conf

NameVirtualHost clumsy.is-a-geek.net:80
NameVirtualHost clumsy.is-a-geek.net:443

<VirtualHost clumsy.is-a-geek.net:80>
...
</VirtualHost>
"clumsy.is-a-geek.net" wird nur beim Start von Apache aufgelöst. Daher ist der Apache nach Wechsel der IP nicht mehr erreichbar.
Lies dir mal den entsprechenden Abschnitt (http://httpd.apache.org/docs-2.0/mod/core.html#namevirtualhost) aus der Apache Doku durch.
Besser wäre hier "NameVirtualHost *".

clumsy
10.06.04, 18:09
hab ich gemacht
wenn ich jetzt mein dsl neu starte und damit ne neue ip bekomm bringt er mir nen "connection refused"...also wieder das selbe

RichieX
11.06.04, 08:50
Mit dieser config sollte es funktionieren:



Listen *
...

NameVirtualHost *
...

<VirtualHost *>
ServerAdmin admin@clumsy.is-a-geek.net
DocumentRoot /var/www/html/main
ServerName clumsy.is-a-geek.net
ErrorLog /var/log/httpd/error_log
</VirtualHost>

<VirtualHost *>
ServerAdmin admin@clumsy.is-a-geek.net
DocumentRoot /var/www/html/phpSysInfo
ServerName phpSysInfo.clumsy.is-a-geek.net
ErrorLog /var/log/httpd/phpSysInfo_error_log
</VirtualHost>

...


... jedenfalls tut es bei mir.

RichieX

whyte
11.06.04, 09:35
oder er geht hin und schreibt in die hosts die rechnernamen rein, dann startet Apache wenigstens ohne Fehler ... die Zugriffe von aussen müssten dann auch aufgelöst werden

clumsy
11.06.04, 12:02
@RichieX
Danke, jetzt funktionierts. Aber nicht ganz so wie du geschrieben hast, sondern mit:


Listen *:80
NameVirtualHost *:80
NameVirtualHost *:443
....
Den Listen-Teil in der httpd2.conf musste ich auskommentieren.

@whyte
dann würde aber da stehen, dass clumsy.is-a-geek.net zur IP 192.168.1.1 gehört. Das macht dann wiederum Probleme bei meinen anderen Diensten wie den JabberServer.

RichieX
11.06.04, 12:18
Die Ports, auf die er horchen soll, kannst du natürlich zudem noch mit angeben. Ich habe meinen Apache ohne SSL laufen.

RichieX