VMware - Windows Host, Ubuntu Gast - Subdomains

Hallo!

Ich habe mir auf Windows Vista mit VMware Server 2.0 einen netten Ubuntu Server eingerichtet.

Dies ist schon eine sehr nette "Plattform" um neue Websites aufzubauen und zu Testen..

Aber ich habe das Problem, dass ich keine Subdomain unter Windows besuchen kann.

Wenn ich in Linux in der /etc/apache2/sites-enabled/drupal folgendes Eintrage, ist unter Linux per SSH Konsole ping drupal.localhost erreichbar, unter Windows nicht.


Nehme ich aber z.B unter Linux einen Textbasierten Browser wie links2 (Ja X brauch kein Mensch *g*) kann ich damit ganz normal besuchen, mit komme ich auch zur richtigen "Stelle"
Code:
        <VirtualHost 127.0.0.2>
        DocumentRoot /var/drupal/
        ServerName drupal.localhost

        <Directory /var/drupal/>
            Options Indexes FollowSymLinks MultiViews +Includes
            AllowOverride None
            Order allow,deny
            allow from all
        </Directory>
    </VirtualHost>

Wenn ich unter Windows den Apache erreichen möchte muss ich die URL eingeben - warum auch immer kein Plan.

Unter Linux die host schaut so bei mir zur Zeit aus:
Code:
127.0.0.1	localhost
127.0.0.2	drupal.localhost
192.168.178.105	ubuntu


# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Ich kann aber weder die URL noch localhost noch drupal.localhost unter Windows benutzen... (alles nicht anpingbar, ausser localhost aber der hat da was ganz komisches stehen (Ipv6????))
Code:
C:\Users\Simon>ping localhost

Ping wird ausgeführt für Welt [::1] von ::1 mit 32 Bytes Daten:
Antwort von ::1: Zeit<1ms
Antwort von ::1: Zeit<1ms
Antwort von ::1: Zeit<1ms
Antwort von ::1: Zeit<1ms

Ping-Statistik für ::1:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0 (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms

Kann es sein das ich unter Windows in die Hosts noch Eintragungen machen muss? Falls ja welche?

So sieht die Hosts bei Windows aus:
Code:
127.0.0.1       localhost
::1             localhost

Falls dies noch hilft Hostname für Linux muss wohl Ubuntu sein, bei Windows ist es Welt (ja ich weiss sehr kreativ *g*)
 
Naja, woher soll denn der Windows-Host wissen, dass drupal.localhost überhaupt existiert, mal abgesehen davon, dass localhost unter Windows ja ein anderes Ziel hat als localhost unter dem Ubuntu (sind ja effektiv zwei getrennte Rechner)?

Probier mal folgendes:
Verwend als ServerName mal drupal.ubuntu, trag ubuntu in die hosts in Windows ein (mit der IP des Linux-Guests), und ruf das dann mal auf (Neustart vom Apache net vergessen).
Es kann auch sein, dass du den kompletten Namen drupal.ubuntu in die (Windows-)hosts schreiben musst.
 
Klappt nicht so ganz ich schlag mich jetzt mit einem DNS Server rum ist glaubich besser, wenn einmal eingerichtet (bind9)
 
Zuletzt bearbeitet:
Und wie soll das dann gehen? Du musst den als Standard-DNS von deinem Windows eintragen, und verlierst damit den Zugriff aufs DNS, wenn die VM nicht läuft...
Und jedesmal wieder umstellen ist wahrscheinlich auch net das, was du willst.

Zeig jetzt nochmal deine hosts von Windows, und die Apache cfg, das muss so auch gehen.
 
Da nochmal neu aufgesetzt, bissel andere Config gleiches Problem *g*
Linux hosts
Code:
127.0.0.1	localhost
127.0.1.1	simonsserver
127.0.1.1     drupal.simonsserver

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Windows hosts
Code:
127.0.0.1       localhost
::1             localhost
192.168.178.20	simonsserver
192.168.178.20	drupal.simonsserver
192.168.178.20	movie.simonsserver

/etc/apache2/sites-available/drupal
Code:
<VirtualHost 127.0.1.1>
        ServerName drupal.simonsserver        
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/drupal/
        <Directory /var/www/drupal/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
        ServerSignature On
</VirtualHost>

/etc/apache2/sites-available/default
Code:
<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	
	DocumentRoot /var/www/
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all		
		AddHandler mod_python .py
		PythonHandler mod_python.publisher
		PythonDebug on	
	</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

    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>
 
Ersetz mal in der /etc/apache2/sites-available/drupal die IP oben im VirtualHost durch *:80, wie bei der default.
Außerdem die richtige IP eintragen in die Linux Hosts (also
192.168.178.20 simonsserver
192.168.178.20 drupal.simonsserver
192.168.178.20 movie.simonsserverauch unter Linux eintragen)
Danach Apache neustarten und testen.



Wenns immernonet geht:
Kannst du von Windows aus Ubuntu anpingen, mit dem Hostnamen (simonsserver)?
Was gibt ' hostname ' unter Linux aus?
Was gibt ' grep VirtualHost /etc/apache* -R ' aus?
 
Ja, aber nur weil der Hostname in der hosts von Windows mit der IP drin steht.

Hostname gibt simonsserver aus

Grep das hier:
Code:
/etc/apache2/sites-available/drupal:<VirtualHost *:80>
/etc/apache2/sites-available/drupal:</VirtualHost>
/etc/apache2/sites-available/default:<VirtualHost *:80>
/etc/apache2/sites-available/default:</VirtualHost>
/etc/apache2/sites-available/default-ssl:<VirtualHost _default_:443>
/etc/apache2/sites-available/default-ssl:</VirtualHost>
/etc/apache2/sites-available/movie:<VirtualHost *:80>
/etc/apache2/sites-available/movie:</VirtualHost>
/etc/apache2/sites-enabled/drupal:<VirtualHost *:80>
/etc/apache2/sites-enabled/drupal:</VirtualHost>
/etc/apache2/sites-enabled/000-default:<VirtualHost *:80>
/etc/apache2/sites-enabled/000-default:</VirtualHost>
/etc/apache2/sites-enabled/movie:<VirtualHost *:80>
/etc/apache2/sites-enabled/movie:</VirtualHost>
/etc/apache2/apache2.conf:# If you do not specify an ErrorLog directive within a <VirtualHost>
/etc/apache2/apache2.conf:# logged here.  If you *do* define an error logfile for a <VirtualHost>
/etc/apache2/apache2.conf:# Define an access log for VirtualHosts that don't define their own logfile
/etc/apache2/apache2.conf:# even on a per-VirtualHost basis.  The default include files will display
/etc/apache2/ports.conf:# have to change the VirtualHost statement in
/etc/apache2/ports.conf:NameVirtualHost *:80
/etc/apache2/ports.conf:    # NameVirtualHost statement here

Edit: Geht wohl jetz aber ich habe mit mod_rewrite und so jetzt probleme vorher war bei einem Script
RewriteBase /movie
enthalten was ja nun nicht mehr gilt, habe ich auskommentiert?!

Also in der htaccess türlich ^^

Nochmal edit: Einstellung AllowOverride All musst ich noch machen xD

Aber per web.acti0n.ath.cx bzw movie.acti0n.ath.cx nicht erreichbar nur zum Root-Verzeichnis kommt ihr dann oder????
 
Zuletzt bearbeitet:
Jo, kommt ein dir-index, wenn man auf web klickt, gehts.

mod_rewrite musste wahrscheinlich erst aktivieren, is normal aus.

Ansonsten musst du auch noch nen VirtualHost mit dem ServerName web.acti0n.ath.cx anlegen, und noch einen für movie.acti0n.ath.cx, sonst landen die auf dem Verzeichnis, das bei default eingestellt ist.

Ich kenn mich mit drupal ansich net aus... aber was die Fehler angeht, das Apache log is meistens recht hilfreich...
 
Das mit mod_rewrite hab ich ja gelöst ..

Meinst du bei dyndns.com noch 2 holen??

Und woher weiss dann der dyndns dass er den V-Host benutzen soll hmmm


EDIT (autom. Beitragszusammenführung):


Mir kommt da grade ne Idee müsste es nicht per Port forwarding gehen??
 
Zuletzt bearbeitet:
Also, du hast da paar verschiedene Baustellen...

1. DynDNS
es reicht, wenn du einen DynDNS-Host hast (acti0n.ath.cx), bei dem du die Wildcard Funktion einschaltest (damit landet <ALLES>.acti0n.ath.cx bei der gesetzten IP)
Die IP ist normalerweise dann die externe IP deines Routers.

2. Router/Port-Forwarding:
Um dann von der externen IP auf den Apache in der Box zu kommen, muss der Router Port 80 TCP weiterleiten an die IP des Webservers, wie die genau lautet und ob da evtl. noch ein Zwischenschritt nötig ist, kommt auf deine genaue VM-Netzwerkconfig an.

Nachdem aber der Aufruf soweit geht, nehm ich an, dass du diese Schritte bereits richtig durchgeführt hast.

bleibt noch

3. Apache/VirtualHosts
Jede HTTP-Anfrage wird erstmal nur an eine IP😛ort Kombi geschickt (eben deine IP:80). Zusätzlich beinhaltet jede Anfrage auch den Hostnamen, über den diese IP abgefragt wurde (da steht dann z.B. music.acti0n.ath.cx drin).
Das verwendet der Apache, um mehrere virtuelle Webserver-Configs auseinanderzuhalten. So kann ein Server auf einem Port mehrere unterschiedliche Domains/Hostnamen bedienen.
Es muss also für jede gewünschte Adresse xyz.acti0n.ath.cx ein entsprechender <VirtualHost> Eintrag angelegt werden. In diesem kannst du dann alle Config-Parameter, wie z.B. das Verzeichnis, das aufgerufen wird, extra einstellen.

An dem Punkt dürfte bei dir grad das Problem liegen.


Hier mal eine beispielhafte Config, basierend auf deiner geposteten:
Dein Drupal o.Ä. muss dann direkt in /var/www/music liegen, damit kein weiterer Index angezeigt wird, sondern gleich eine vernünftige Webseite.
Code:
<VirtualHost *:80>
        ServerName music.acti0n.ath.cx
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/music/
        <Directory /var/www/music/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
        ServerSignature On
</VirtualHost>

Glaub wenn wir hier fertig sind, können wirs fast als HowTo rausgeben ^^
 
Zuletzt bearbeitet:

Online-Statistiken

Zurzeit aktive Mitglieder
1
Zurzeit aktive Gäste
59
Besucher gesamt
60

Beliebte Forum-Themen

Zurück
Oben Unten