[apache] vhosts am Inet lauschen lassen

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

[apache] vhosts am Inet lauschen lassen

Beitrag von blackm » 16.10.2002 18:26:01

Hi,

ich hab hier Apche 1.3.26 der ein paar Namebased Vhosts hat. Ich würde das nun gern so einrichten, das die vom Internet aus erreichbar sind. Ich will die also an meine Internet IP binden und nicht an eine lokale Adresse.
Hat jemand dafür schon eine Lösung oder muß ich bei jeder neuen Einwahl die IP in die httpd.conf eintragen und apache reloaden?

by, blackm
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
feltel
Webmaster
Beiträge: 10366
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Re: [apache] vhosts am Inet lauschen lassen

Beitrag von feltel » 16.10.2002 18:59:03

blackm hat geschrieben:Hat jemand dafür schon eine Lösung oder muß ich bei jeder neuen Einwahl die IP in die httpd.conf eintragen und apache reloaden?
So spontan würde mir auch nur das dazu einfallen.

floschi
Beiträge: 791
Registriert: 17.09.2002 14:36:18
Wohnort: München
Kontaktdaten:

Re: [apache] vhosts am Inet lauschen lassen

Beitrag von floschi » 17.10.2002 13:14:31

feltel hat geschrieben:
blackm hat geschrieben:Hat jemand dafür schon eine Lösung oder muß ich bei jeder neuen Einwahl die IP in die httpd.conf eintragen und apache reloaden?
So spontan würde mir auch nur das dazu einfallen.
Geht meines Wissens nicht anders. ;)

Gruß

Olfi

Benutzeravatar
lx
Beiträge: 351
Registriert: 29.05.2002 20:01:00
Kontaktdaten:

Beitrag von lx » 17.10.2002 13:25:41

Ja das ist glaube ich der einzige Weg.

Tom

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 17.10.2002 13:33:35

Hm...na gut. Werd mal ein kleines Perl Scipt basteln für ip-up.d & ip-down.d Wenn ich was hab das funktioniert werd ich es mal posten.

by, blackm
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
acron
Beiträge: 147
Registriert: 03.05.2002 13:31:40
Wohnort: Aachen

Beitrag von acron » 17.10.2002 15:23:28

habe es zwar nicht ausprobiert (da ich z.Z. nur website "hoste" 8) ) aber funktioniert sowas nicht?

Code: Alles auswählen

<VirtualHost *>
    DocumentRoot /www/domain
    ServerName www.domain.tld
    ...
</VirtualHost>
    
<VirtualHost *>
    DocumentRoot /www/subdomain
    ServerName www.sub.domain.tld
    ...
</VirtualHost> 
das code-stück ist aus der apache-doku...

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 17.10.2002 17:00:31

Ja, das geht so auch (ist zur Zeit bei mir als Übergangslösung so). Aber aus irgendeinem mir noch nicht ganz klargewordenen Grund werde ich nun immer zum ersten Vhost umgeleitet wenn ich eine Adresse eingebe, die es nicht gibt...ist das bei dir auch so?

by, blackm
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
feltel
Webmaster
Beiträge: 10366
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 17.10.2002 17:30:12

blackm hat geschrieben:Aber aus irgendeinem mir noch nicht ganz klargewordenen Grund werde ich nun immer zum ersten Vhost umgeleitet wenn ich eine Adresse eingebe, die es nicht gibt
Das ist bei Name-based vhosts normal so. irgendwass muss der Apache ja anzeigen, und da nimmt er halt, wenn er keinen passenden vhost-Eintrag finden kann (oder der Client keinen korrekten Namen liefert), den ersten.

Benutzeravatar
Ilúvatar
Beiträge: 103
Registriert: 04.08.2002 13:03:33
Wohnort: Winterthur (CH)
Kontaktdaten:

Beitrag von Ilúvatar » 17.10.2002 18:32:35

hallo
also ich hatte genau dieses problem auch schon mal... leider hab ich vergessen wie die lösung war... :oops: tja, mein gedächnis wird auch nicht mehr besser...

hier ist ein auszug aus meiner httpd.conf... vielleicht hilft dir das was...

Code: Alles auswählen

NameVirtualHost *

# VirtualHost "www.thatrix.net"
<VirtualHost *>
        ServerName www.thatrix.net
        ServerAdmin webmaster@thatrix.net
        DocumentRoot /var/www/
</VirtualHost>

# VirtualHost "www.lioness.ch"
<VirtualHost *>
        ServerName www.lioness.ch
        ServerAdmin webmaster@lioness.ch
        DocumentRoot /home/pages/lioness/htdocs/
</VirtualHost>

# Webmail für "lioness.ch"
<VirtualHost *>
        ServerName webmail.lioness.ch
        ServerAdmin webmaster@lioness.ch
        DocumentRoot /usr/share/horde2/
</VirtualHost>

# Webmail für thatrix.net
<VirtualHost *>
       ServerName webmail.thatrix.net
       ServerAdmin webmail@thatrix.net
       DocumentRoot /usr/share/horde2/
</VirtualHost>
Put a Brain in the White House

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 17.10.2002 19:04:24

Naja, so ist das bei mir ja nun auch schon....
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
acron
Beiträge: 147
Registriert: 03.05.2002 13:31:40
Wohnort: Aachen

Beitrag von acron » 18.10.2002 09:16:08

feltel hat geschrieben:
blackm hat geschrieben:Aber aus irgendeinem mir noch nicht ganz klargewordenen Grund werde ich nun immer zum ersten Vhost umgeleitet wenn ich eine Adresse eingebe, die es nicht gibt
Das ist bei Name-based vhosts normal so. irgendwass muss der Apache ja anzeigen, und da nimmt er halt, wenn er keinen passenden vhost-Eintrag finden kann (oder der Client keinen korrekten Namen liefert), den ersten.
so ist es. Ich verstehe nicht ganz wo das Problem liegt :?: Wenn es dich so stört, trag halt als ersten vhost etwas ein, dass dir dann nur noch "Seite nicht gefunden" o.ä. anzeigt...

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 19.10.2002 18:45:30

Also ich hab nun so ein Script hinbekommen (was einen schwere Arbeit *g*), das mir die dynamische IP in die config aufnimmt.
Eine Datei hab ich in /etc/ppp/ip-up.d:

Code: Alles auswählen

#! /usr/bin/perl

$c_file = '/etc/apache/vhost.conf';
$lan_ip = '192.168.150.160';

sub inet_ip(){
    @out = `/sbin/ifconfig`;
# filter ip
    $c1 = 0;
    foreach $b (@out){
        $c1_1 = $c1 + 1;
        if($b =~ /ppp[0-9]+/){
            $out[$c1_1] =~ /^.*?:([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*$/;
            $inet_ip = $1;
        }
        $c1++;
    }
return $inet_ip;
}

$inet_ip = inet_ip();

# open config file and store in array
open(CONF, $c_file);
while(<CONF>){
    chomp;
    push(@conf, $_);
}
close(CONF);

# insert dynamic ip
$c1 = 0;
foreach $a (@conf){
    $c1_1 = $c1 + 1;
    if($a =~ /\#\ inet\ ip/){
        $conf[$c1_1] =~ s/.*/NameVirtualHost $inet_ip/i;
        $c1++;
        next;
    }
    if($a =~ /^\# answer/){
        $conf[$c1_1] =~ s/.*/<VirtualHost $inet_ip $lan_ip>/i;
    }

    $c1++;
}

# save config file
open(CONF_OUT, ">$c_file");
foreach $i (@conf){
    print CONF_OUT $i,"\n";
}
close(CONF_OUT);

# reload apache
`/usr/sbin/apachectl restart`;
Und eine Datei habich in /etc/ppp/ip-down.d:

Code: Alles auswählen

#! /usr/bin/perl

$c_file = '/etc/apache/vhost.conf';
$lan_ip = '192.168.150.160';

# open config file and store in array
open(CONF, $c_file);
while(<CONF>){
    chomp;
    push(@conf, $_);
}
close(CONF);

# remove dynamic ip
$c1 = 0;
foreach $a (@conf){
    $c1_1 = $c1 + 1;
    if($a =~ /\#\ inet\ ip/){
        $conf[$c1_1] =~ s/.*/\# NameVirtualHost /i;
        $c1++;
        next;
    }
    if($a =~ /^\# answer/){
        $conf[$c1_1] =~ s/.*/<VirtualHost $lan_ip>/i;
    }

    $c1++;
}

# save config file
open(CONF_OUT, ">$c_file");
foreach $i (@conf){
    print CONF_OUT $i,"\n";
}
close(CONF_OUT);

# reload apache
`/usr/sbin/apachectl restart`;
Die Konfiguration der Vhost ist bei mir getrennt in /etc/apache/vhost.conf gespeichert.

by, blackm
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
acron
Beiträge: 147
Registriert: 03.05.2002 13:31:40
Wohnort: Aachen

Beitrag von acron » 21.10.2002 12:01:52

mal ne doofe frage :oops: :
was bringt das? ich meine wo ist der unterschied zu deiner "Übergangslösung"?

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 21.10.2002 18:39:00

Hm...darf ich über die Frage noch ein bischen nachdenken *g*

Also so wirklich ist da kein Unterschie zu dem, was ich erst hatte. Naja, hatte ich mal wieder einen Grund mich mit perl zu beschäftigen *g*

by, blackm
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
acron
Beiträge: 147
Registriert: 03.05.2002 13:31:40
Wohnort: Aachen

Beitrag von acron » 22.10.2002 09:53:22

:lol:

Benutzeravatar
x-eniac
Beiträge: 660
Registriert: 12.03.2002 16:08:54
Wohnort: Wien
Kontaktdaten:

Beitrag von x-eniac » 22.10.2002 13:15:57

Die Lösung oben war schon recht gut:
Du sagst deinen Apachen einfach sie sollen auf allen Adressen Horchen.
ein NameVirtualHost *
Erreicht dann auch deinen Dynamische IP Adresse, du solltest den kleinen Inidianern einfach nur einen gracfull (oder wenn du es "hart" brauchst einen restart) zukommen lassen. Das er die IP Adressen auch merkt.

Btw: hat eine ISDN/Modem Verbinung nicht eine Interne IP die sich NICHT Ändert? Sozusagen ein Lokaler Gatway?
Dann kann der Apache ja einfach an der Schnittstelle horchen.
Traue niemanden der nicht einmal bis 2 zählen kann!
Meine Jabber ID: xeniac@jabber.at

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 22.10.2002 15:18:36

Naja, ich werd nochmal was anderen versuchen: Ich hab bei dyndns noch eine 2. Domain angemeldet und die trag ich dann einfach mal in das <VirtualHost > Directive ein, bei NameVirtualHost dann noch meine Internet IP. Mal schauen wie das dann funktioniert.

by, blackm
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Antworten