PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : brauche unbedingt hilfe!!!



dsplauen
20.10.02, 12:40
hallo

angenommen ich habe 10 windows 98 computer und eine suse linux 8.0 server. ich habe es so konfiguriert das server die ip 192.168.17.1
und die 10 win computer 192.168.17.2 usw.jetzt habe ich mit samba eine verbindung hergestelt. das fintionier ja auch alles.
jetzt habe ich einen Webserver Apache auf meinem server installiert. jetzt will ich wie ein kleines Internet in meine intranet haben.

z.b.


Server
pc1 user: user1
pc2 user: user2
pc3 user: user3
pc4 user: user4
usw.
jeder benutzer kann sich in seinem profil auf dem server eine website gestallten und die dann unter /home/user1/public_html für pc2 /home/user2/public_html usw. speichern
jetzt soll ich wenn ich in den internet explorer auf pc1 eingebe http://user1 das er dann die dateien aus /home/user1/public_html in form von einem webserver
holt. genauso wenn ich auf pc1 http://user2 eingebe.

im moment habe ich meinen apache folgendermaßen konfig.

NameVirtualHost 192.168.17.1

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#


<VirtualHost 192.168.17.1>
DocumentRoot /home/user1/public_html
ServerName user1
<Directory "/home/user1/public_html">
AllowOverride ALL
Options FollowSymLinks Indexes
</Directory>
DirectoryIndex index.php index.html index.htm
IndexOptions FancyIndexing FoldersFirst
UseCanonicalName off
</VirtualHost>

<VirtualHost 192.168.17.1>
DocumentRoot /home/user2/public_html
ServerName user2
<Directory "/home/user/public_html">
AllowOverride ALL
Options FollowSymLinks Indexes
</Directory>
DirectoryIndex index.php index.html index.htm
IndexOptions FancyIndexing FoldersFirst
UseCanonicalName off
</VirtualHost>

usw.
auch in der datei /etc/host habe ich alles eingetragen

wenn ich aber jetzt an pc1 gehe und user1 eingebe sagt er mir seite nicht gefunden ganauso wie mit user2.
wenn ich aber den name von dem server eingebe findet er den ordner von user1 oder wenn ich die ip des servers eingebe. ich musste ja ganz oben
in der http.conf auch einen documentroot eingeben der steht auf /home/user1/public_html

wenn ich aber auf meine server in den browser gehe und dann http://user1 eingebe bringt er mir das richtige genauso mit user2 und http://user3 usw.

was habe ich denn da falsch gemacht oder liegt das vieleicht sogar an meine windows?

Samba funktuniert toll apache von meinm server auch aber von windows nicht


Danke

netlinker
20.10.02, 14:29
Hi,

wenn ich das richtig sehe hast du versucht mehmals den VirtualHost 192.168.17.1 anzulegen.
Das geht so ja nicht. Wo soll der Apache dan hin, wenn du http://192.168.17.1 eingibst ???
(http://192.168.17.1 ist das gleiche wie http://user1 oder http://user2, außerdem müßtest du die Namen in allen hosts oder im DNS eintragen)

Entwerder vergibst du für jeden virt. Host ne eigene IP.
Ich würde es jedoch anders machen und nen Symbolischen link im Web-Root zu den Useren legen:
Im Web-root
ln -s /home/user1/public_html user1
ln -s /home/user2/public_html user2 ....

Dann kannst man die Ganzen HP unter http://wie_auch_immer/user1 erreichen.

Bye Björn

Gaert
20.10.02, 14:39
Hallo!

Versuch doch einfach mal Testweise

NameVirtualHost *

und

<VirtualHost *>
DocumentRoot /home/user1/public_html
ServerName user1
<Directory "/home/user1/public_html">
AllowOverride ALL
Options FollowSymLinks Indexes
</Directory>
DirectoryIndex index.php index.html index.htm
IndexOptions FancyIndexing FoldersFirst
UseCanonicalName off
</VirtualHost>

<VirtualHost *>
DocumentRoot /home/user2/public_html
ServerName user2
<Directory "/home/user/public_html">
AllowOverride ALL
Options FollowSymLinks Indexes
</Directory>
DirectoryIndex index.php index.html index.htm
IndexOptions FancyIndexing FoldersFirst
UseCanonicalName off
</VirtualHost>

Funktioniert bei mir in der Art und weise Einwandfrei!

@netlinker:
wenn du 192.168.17.1 geht er in das Verzeichnis, daß ausserhalb der VirtualHosts in der httpd.conf als DocumentRoot ist!

MfG Gaert

PS: Mit aussagekräftigen Betreffzeilen wie z.B. "brauche unbedingt hilfe!!!" sollte eigentlich keiner Hilfe bekommen!

Pingu
20.10.02, 15:19
Hi,

lange habe ich überlegt was Du willst und was nicht funzt. Jetzt ist es mir aufgefallen. Das Problem ist DNS.

Auf dem Server gibst Du http://user2 ein. Was macht der Server? Er schaut in die /etc/hosts und findet die passende IP (192.168.17.1). Dann wird der Apache gefragt und der antwortet richtig.

Auf dem Client gibst Du http://user2 ein. Was macht der Client? Er fragt beim DNS Server nach der IP für 'user2'. Jetzt die Frage: Kennt Dein DNS Server die IP oder nicht? D.h. entweder muß Du deinem DNS Server alle 'userx' beibringen oder bei Windows gibts es glaube ich auch soetwas wie eine host Datei.

-= Pingu =-

dsplauen
20.10.02, 19:31
Starting httpd [ PERL PHP4 ][Sun Oct 20 20:25:14 2002] [warn] _default_ VirtualHost overlap on port 80, the first has precedenc

dieser fehler kommt wenn ich das mit * mache

wie soll ich denn meinem server alle userx beibringen ich habe doch alle schon in meine datei /etc/hosts geschreiben

Danke

Gaert
20.10.02, 21:42
Sicher dass du NameVirtualHost * davor geschrieben hast?

Wenn ich das weglasse kommt der Fehler bei mir auch... wenn ichs dazuschreibe dann funktioniert es!

netzmeister
20.10.02, 21:58
Hallo,

wenn Ihr es so wie oben beschrieben haben möchtet, müsst Ihr zuerst DNS richtig konfigurieren.

Wozu aber der Aufwand. ;)

Mit einen einzigen Direktive in der Apache-Konfigurationsdatei ist schon geholfen.

Einfach das User Directory, public_html aktivieren!

Viele Grüße

Eicke

Pingu
20.10.02, 22:31
Original geschrieben von dsplauen
wie soll ich denn meinem server alle userx beibringen ich habe doch alle schon in meine datei /etc/hosts geschreibenDie Windows Clients werden ja wohl schwer Zugriff auf /etc/hosts haben. Ja wie denn auch? Denn /etc/hosts ist nur eine lokale Möglichkeit Namen IP-Adressen zu zuordnen. Eine zentrale Möglichkeit gibt es nur über den DNS Server. D.h. Du brauchst im lokalen Netz einen eigenen DNS Server den alle Clients nutzen können. Dann mußt Du für jeden Nutzer einen DNS Eintrag anlegen mit der IP-Adresse des Server .... Ich finde zuviel Aufwand.

Das ist kein Apache Problem. Das ist ein DNS Problem.

Warum nicht gleich das Standardverhalten: http://netz.local/~user/ ?

-= Pingu =-