PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : lokaler Nameserver, aber wie?



Stolzi
11.12.03, 06:55
hallo,
ich habe bei mir lokal einige PHP Scripte zum testen unter Apache laufen. Dass das einwandfrei läuft bräuchte ich die selben Document Roots wie auf meiner HP. Mir wurde gesagt, dass ich dazu einen lokalen Nameserver installieren muss. Habe mal im Kontrollzentrum von Suse bei DNS reingeschaut bin da aber nicht schlüssig geworden... Da war ein Eintrag für . einer für localhost und eine komische domain wie 5698.hfk.localhost oder sowas. Wie kann ich da nun eine neue lokale Domain festlegen? Gibts da irgendwo eine Doku dazu?
Danke
Stolzi

Myst
11.12.03, 16:36
Ähh, mag ich jetzt falsch verstehen, aber was hat Dein Datei-System-Baum mit dem DNS zu tun?

Wenn Du das gleiche DocumentRoot wie auf dem Server brauchst, erstelle Dir mit "mkdir -p /pfad/wie/auf/anderm/server" das Verzeichnis und trage das in der httpd.conf Deines lokalen Apache ebenfalls bei DocumentRoot ein. Wie das DR beim Ziel-Server lautet weißt Du ja. Vermutlich hab ich Dich auch nur missverstanden.

fons
11.12.03, 16:43
wenn ich das richtig verstehe willst du nur deine php-scripts lokal ausführen. dazu brauchst du keinen DNS! einfach apache starten, und in /srv/www/htdocs/ die *.php speichern und dann mit nem browser http://localhost

fettich

Stolzi
12.12.03, 07:06
Zu fons:
Ich habe Apache schön laufen und er interpretiert meine PHP Scripts auch einmalig. An dem liegts nicht. Der Server gibt die Variable Document Root an PHP weiter die ich unterm Array $_SERVER abrufen kann. Meine Scripte schauen in dieser Variable wo sie umgehn. Habe ich nur eine HP mit PHP Scripts laufen wäre dies kein Prob! Ich müsste es einfach direkt unter /srv/www/htdocs/ ablegen das dann Apache als Document root angibt. Da ich aber mehrere habe und es auch angenehmer ist die Scripte unter /home/user/html/.... abzulegen geht das dann nicht mehr, da Document root dennoch /srv/www/htdocs/ ist, da nur mit Links Apache angewiesen wird auch das Verzeichnis /home/user/html/ zu interpretieren... Also habe ich mir sagen lassen in dem Fall muss ich mir einen Nameserver einrichten, um das unter Apache zu bewerkstelligen! So dass zB stolzi.localhost den Documentroot /home/user/html/stolzi und localhost weiterhin /srv/www/htdocs/.
Hoffe ich hab mich nun verständlicher ausgedrückt ;-)

zu Myst: Ich hoffe dass auch du nun verstehst was ich meine. Auf deine Variante kann ich ja nur den einen Document root auf ein anderes Verz ändern. Ich brauche aber mehrere unter mehreren Domains :-(

Dazu brauche ich schon einen lokalen Nameserver, oder?

fons
12.12.03, 08:49
aha so meinst du das also

so sollte es gehen:
virtual hosts anlegen
und entweder dann eine dns aufsetzten und das ganze mit /etc/hosts machen

so hab ich das ehrlich gesagt noch nie gemacht, reicht des ned wennst du unterordner erstellst?

Myst
12.12.03, 14:42
Alles klar!

Ok, also Du installierst als erstes mal Bind9. Dann musst Du (am besten mit webmin ) http://www.webmin.com/ ) eine Zone für Deine lokale Domäne anlegen (bsp: www.meine-localdomain.de, der Rechner, auf dem Apache läuft hat meinetwegen 192.168.1.1.

Als nächstes machst Du, wie schon erwähnt wurde, in Deiner httpd.conf Virtuelle Server. Wie das geht, steht ganz unten am Ende der Datei. Diese Virtuellen Server kannst Du genauso konfigurieren wie den Haupt-Server, sprich DocumentRoot setzen usw.

Die virtuellen Server trägst Du dann auch in den Bind ein, so das Dein Rechner weiß, welche IP (die IP des Rechners auf dem Apache läuft) die verschiedenen Server haben.

Beispiel:



<VirtualHost virtuell1.meine-localdomain.de:80>
[viel grimsgrams]
DocumentRoot /home/virtuell1/htdocs
[noch mehr grimsgrams]
</VirtualHost>
.
.
.
.
.


Im Bind muss dann auch "virtuell1" mit der IP 192.168.1.1 eingetragen werden (zusätzlich oder als Alias). Achtung! Es muss eine Forward und eine Reverse-Datei für die Zone angelegt werden. Ein gutes Beispiel für Bind findest Du bei http://www.pl-berichte.de/t_netzwerk/dns.html

Ich hoffe, das hilft Dir etwas weiter.

Stolzi
17.12.03, 21:08
Hmm, ja es hilft mir bedingt weiter. Genau so weit war ich eigentlich schon. Mir gings eben genau darum _wie_ ich diese Domaine anlege. Ich habe nämlich hier in YAST die DNS Server Verwaltung vor mir und blicke einfach nicht durch...
Bin in config der Zonen gegangen und hab mal geschaut wie das ganze für Localhost gemacht wurde. Das sieht aber so komisch aus, dass ich das nicht raffe!
Da ist der Eintrag
localhost master
wenn ich auf den Klicke sehe ich:
Zonenname localhost
--------------------------
SOA
Domain-Nameserver @
Domain-Mailserver
-------------------------
Wenn ich nun eine neue Zone hinzufüge namens stolzi. Was gebe ich dann für die anderen Werte an und warum, dass ich diese Domain als das gebrauchen kann was ich will?
Wäre echt dankbar für einen Lichtblick ;-)

Stolzi
17.12.03, 21:37
Hmm, also wenn ich davon ausgehe dass @ für meinen localen rechner 192.168.0.2 steht auf dem der Nameserver und Apache laufen, dann müsste ich einen Eintrag machen der genau gleich aussieht wie der für localhost, oder? Oder muss anstatt des @ meine IP eintragen?
Ich habs nämlich jetzt mal so probiert, aber leider kommt da dann nix unter der domain. Habs mal ohne subdomains versucht. Nur mit der Hauptdomaine.
Ich trage es allerdings nicht in der httpd.conf ein, sondern in apache2/vhosts.d weil ich Apache 2 laufen habe. Habe einfach die .template abgeändert und dann als .conf abgeändert. So wärs zumindest in der Beschreibung gestanden...

Stolzi
17.12.03, 22:39
Ahaa viell war das ein Fehler (hab ja echt keinen Plan):
Also ich fahre über einen im lokalen Netzwerk befindlichen Suse Router (192.168.0.3) ins Web. Auf diesem habe ich auch den Nameserver installiert. Der Apache2 läuft auf meinem rechner (192.168.0.2). Nun habe ich mal in dem nameserver des Routers die Domaine stolzi eingetragen mit
Domain-Nameserver 192.168.0.2
(Ist dieser Eintrag auch dafür da die IP anzugeben wo der Apache installiert ist?? Das war geraten...)
Nun gibt der Browser zumindest nicht sofort: unbekannte Domain zurück wenn ich die Domain eingebe, aber fängt nicht an zu laden :-(
Was könnte da noch fehlen?
Was müsste ich tun um die Domain im Nameserver meines Rechner einzutragen? Bei der Netzwerkkarte als 2. DNS Eintrag meinen Nameserver angeben? Das hätte ich schon probiert, hat aber nicht gefunzt!
Danke!