Apache2 virtualhost config probleme

Dieses Thema im Forum "Hosting & Server" wurde erstellt von ChillingStream, 25. Juni 2012 .

Schlagworte:
  1. 25. Juni 2012
    Hi,

    benutze apache2 und habe folgendes Szenario: Ich möchte 3 websites auf einem server hosten, der 2 ips hat. Einmal eine externe aa.bb.cc.dd und einmal localhost (127.0.0.1).

    ich will 2 websites auf 127.0.0.1:80 und eine auf aa.bb.cc.dd:80 laufen lassen. Dass alle 3 auf aa.bb.cc.dd funktionieren geht easy mit den virtualhosts. alle 3 websites haben ihre eigene domain daher ist das alles np! Wenn ich per vpn mit dem server verbunden bin, will ich dass die anderen beiden websites funktionieren und nur auf localhost lauschen. aber immer wenn ich die ip auf 127.0.0.1 binde gibts errors ohne ende. hab als notlösung das hier eingebaut:

    <Directory /home/bla/www>
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    </Directory>

    und das scheint zu gehen, ist aber keine saubere lösung, weil wenn man den domainnamen im web eingibt erhält man:
    anstelle von nem timeout. ich hoffe das war verständlich (bin müde) und ihr könnt mir helfen. wenn mehr infos nötig sind -> np
     
  2. 25. Juni 2012
    Zuletzt bearbeitet: 25. Juni 2012
    AW: Apache2 virtualhost config probleme

    in der vhost config kannst du auch die ip angeben, auf der die seite erreichbar sein soll
    z.b.
    Code:
    <VirtualHost [B]127.0.0.1[/B]:80>
     ServerName asdf.info
     ServerAlias *.asdf.info
     DocumentRoot /home/asdf/htdocs
     <Directory />
     AllowOverride All
     Order allow,deny
     allow from all
     </Directory>
    </VirtualHost>
    
     <VirtualHost [B]aa.bb.cc.dd[/B]:80>
     ServerName blubber.com
     ServerAlias blubber.com
     DocumentRoot /var/www
     <Directory />
     Options -Indexes -FollowSymLinks -MultiViews
     AllowOverride None
     Order allow,deny
     allow from all
     </Directory>
    </VirtualHost>

    du sagst (falls ich das richti verstanden hab) dass du per vpn auf den server verbindest und dann auf diese quasi internen seiten zugreifen willst. dazu muss der vpn SERVER auch ne eigene ip haben, z.b. 10.1.2.3 oder sowas und du als client 10.1.2.66. dann wärs sinnvoll die listen ip von den internen seiten auf 10.1.2.3 zu setzen.
     
  3. 25. Juni 2012
    AW: Apache2 virtualhost config probleme

    hi,

    das problem ist wenn ich die ip spezifiziere in der vhost config, dann gibt mir apache2 beim restarten den fehler, dass 127.0.0.1 schon vergeben ist und die zweite seite kann nichtmehr auf die ip binden.

    Das mit dem VPN war nur ein vorbild. Was passiert ist, dass alle Verbindungen schlussendlich von 127.0.0.1 kommen.
     
  4. 25. Juni 2012
    AW: Apache2 virtualhost config probleme

    ok und was passiert, wenn du das ganze in die NameVirtualHost tags packst? also z.b. so

    Code:
    NameVirtualHost 127.0.0.1:80
    <VirtualHost 127.0.0.1:80>
     ServerName asdf.info
     ServerAlias *.asdf.info
     DocumentRoot /home/asdf/htdocs
     <Directory />
     AllowOverride All
     Order allow,deny
     allow from all
     </Directory>
    </VirtualHost>
    <VirtualHost 127.0.0.1:80>
     ServerName nochneseite.info
     ServerAlias *.nochneseite.info
     DocumentRoot /home/trottel/
    </VirtualHost>
    
    NameVirtualhost aa.bb.cc.dd:80
     <VirtualHost [B]aa.bb.cc.dd[/B]:80>
     ServerName blubber.com
     ServerAlias blubber.com
     DocumentRoot /var/www
     <Directory />
     Options -Indexes -FollowSymLinks -MultiViews
     AllowOverride None
     Order allow,deny
     allow from all
     </Directory>
    </VirtualHost>
    
    VirtualHost Examples - Apache HTTP Server
     
  5. 25. Juni 2012
    Zuletzt bearbeitet: 25. Juni 2012
    AW: Apache2 virtualhost config probleme

    Also was ich nun nicht verstehe ist, ob das was du grade geposted hast, nun in eine eigene config file muss oder in unterschiedliche. Ich hantiere meine vhosts mit a2ensite und sites-enabled etc. Ich finde das eigtl. ganz praktisch. Wäre doof wenn ich die configs da alle entfernen müsste und dann 1 große config hantiere.


    ports.conf

     
  6. 25. Juni 2012
    AW: Apache2 virtualhost config probleme

    das kannst du ruhig in mehrere dateien aufteilen, weil intern eh alles zusammengeworfen wird (die einzelnen dateien werden aus der httpd.conf bzw apache2.conf included).
    steht außer namevirtualhost und listen 80 noch irgendwas interessantes in der ports.conf oder nur kommentare?
    schmeiß mal dort das namevirtualhost*:80 raus und verwende es wie oben angegeben mal in deinen dateien. aber alle angaben wie immer ohne gewähr
     
  7. 25. Juni 2012
    AW: Apache2 virtualhost config probleme

    Ports conf hat nur das da stehen gehabt.

    also hab nun "NameVirtualHost *:80" aus ports.conf entfernt und dafür bei den einzelnen sites aus sites-available eingefügt.

    mit entweder 127.0.0.1 oder der echten ip. was ich bekomme ist das hier:

    und nun wird mir auf allen 3 domains die gleiche seite angezeigt
     
  8. 25. Juni 2012
    AW: Apache2 virtualhost config probleme

    ich hab das jetzt mal inner debian vm ausprobiert

    Code:
    #erste ip, intern oder extern wayne
    NameVirtualHost 192.168.1.41:80
    <VirtualHost 192.168.1.41:80>
     ServerName 192.168.1.41
     DocumentRoot /var/www/seite3
    </VirtualHost>
    #oben bei aufruf der ip-adresse, unten wenn man ne domain aufruft. jew. unterschiedliche ordner. wenn man was nicht braucht, 404 drauflegen.
    <VirtualHost 192.168.1.41:80>
     ServerName blub2.com
     DocumentRoot /var/www/seite2
    </VirtualHost>
    
    
    #zweite ip. das gleiche in gruen
    NameVirtualHost 192.168.1.40:80
    <VirtualHost 192.168.1.40:80>
     ServerName 192.168.1.40
     DocumentRoot /var/www/seite3
    </VirtualHost>
    <VirtualHost 192.168.1.40:80>
     ServerName blub1.com
     DocumentRoot /var/www/seite1
    </VirtualHost>
    
    
    
    #brauchen wir nicht.
    #NameVirtualHost *:80
    #<VirtualHost *:80>
    # DocumentRoot /var/www/seite2
    #</VirtualHost>
    über blub1.com und blub2.com in meiner hosts datei konnte ich auf die verzeichnisse zugreifen.
    jenachdem welche seite oder seiten über welche ip oder domain erreichbar sein sollen, müsstest du dir hier was zusammenstricken können.

    achja. namevirtualhost aus der ports.conf auskommentiern oder löschen.
     
  9. 25. Juni 2012
    AW: Apache2 virtualhost config probleme

    danke für die mühe schonmal. Ich weiß aber immer noch nicht wie ichs machen soll, wenn ich das oben angegebene Muster beibehalten will via sites-enabled mit verschiedenen dateien für die sites.
     
  10. 26. Juni 2012
    AW: Apache2 virtualhost config probleme

    Du speicherst die Datei pro vHost einfach in site-available und aktivierst das mit
    a2ensite blabla

    wobei die datei zb blabla.conf heißt
     
  11. 26. Juni 2012
    AW: Apache2 virtualhost config probleme

    es sei denn du bist eher der konventionelle wie ich, dann setzt du mit ln -s nen symlink ins sites-enabled und machst apachectl graceful oder mimst den cheater und packst die sachen direkt in sites-enabled ^^

    in der ersten datei wäre dann quasi das hier drin:
    seite1.conf
    Code:
    NameVirtualHost 192.168.1.41:80
    <VirtualHost 192.168.1.41:80>
     ServerName 192.168.1.41
     DocumentRoot /var/www/seite3
    </VirtualHost>
    #oben bei aufruf der ip-adresse, unten wenn man ne domain aufruft. jew. unterschiedliche ordner. wenn man was nicht braucht, 404 drauflegen.
    <VirtualHost 192.168.1.41:80>
     ServerName blub2.com
     DocumentRoot /var/www/seite2
    </VirtualHost>

    seite2.conf
    Code:
    NameVirtualHost 192.168.1.40:80
    <VirtualHost 192.168.1.40:80>
     ServerName 192.168.1.40
     DocumentRoot /var/www/seite3
    </VirtualHost>
    <VirtualHost 192.168.1.40:80>
     ServerName blub1.com
     DocumentRoot /var/www/seite1
    </VirtualHost>
    usw.
     
  12. 27. Juni 2012
    Zuletzt bearbeitet: 27. Juni 2012
    AW: Apache2 virtualhost config probleme

    heu,

    hab mir das alles nochmal durchgelesen. das ist prinzipiell das selbe was bei der apache2 documentation steht:

    Name-based Virtual Host Support - Apache HTTP Server

    das problem ist: ich will keine default site haben wo alle requests hingehen wenn sie nicht mit virtualhosts übereinstimmen. es müssen echt timeouts sein

    EDIT:

    Lese mir grade nochmal die apache2 documentation durch. Ich glaube das beste ist wenn ich für jede ip einen eigenen httpd laufen lasse. dann kann ich einfach in der ports.conf sagen: listen 127.0.0.1 und gut ist. dann hat die andere ports.conf aa.bb.cc.dd

    anscheinend ist das anders nicht möglich. zumindest nicht wenn ich timeouts will anstelle von nem reroute auf ne standard site. Um kurz deutlich zu machen warum:

    will nen par websites im TOR netzwerk hosten und will auf keinen fall, das falls jemand meine echte server ip hat, den tor hostname darauf binden kann per etc/hosts file und dann auf die website ohne tor kommt.

    wenn ich alle aufrufe außer von 127.0.0.1 blockiere, dann weiß die person das aufgrund der apache2 fehlermeldung. wenn ich reroute auf ne standard site die nichts besonderes aussagt, dann weiß die person auch dass da nen httpd läuft.

    jetzt kann man natürlich sagen wenn jemand meine server ID hat und nen whois macht und sieht dass die in nem DC steht, dann weiß er immernoch dass die site da drauf läuft, dann gebe ich demjenigen recht, aber es ist immernoch weniger auffällig bei nem timeout als bei nem reroute/block
     
  13. 27. Juni 2012
    AW: Apache2 virtualhost config probleme

    wenn es sich dabei nur im diese internen seiten handeln würde, bräuchtest du ja blos mit iptables nen drop auf die externe ip port 80 legen (bzw connection refused, damits wie ganz normaler non-firewalled geschlossener port aussieht). wäre in deinem fall auch die sicherste alternative.

    nachteil is halt, dass du auf der externen ip keine sachen mehr hosten kannst.
    ansonsten wie du gesagt hast nen zweiten httpd z.b. aus dem source mit prefix bauen, dann hast du alles in einem verzeichnis und den auf dem externen port lauschen lassen.
     
  14. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.