Unterordner von root soll eine Subdomain sein

Supercomputer

New Member
Guten Tag,

ich versuche mich nun schon seit längerem an einer ordentlichen Webpräsenz, jedoch habe ich noch so das ein oder andere Problem.

So konnte ich auch nach Stunden langem Gebrauch von Google nicht herausfinden, wie ich jedem Unterordner in dem Rootverzeichnis eine automatisch eine Subdomain zu ordne.

Hier ein Bsp.

Ich habe im Rootverzeichnis folgende Ordner:

www
forum

nun soll www nur über www.meinedomain.com erreichbar sein,
der Ordner forum nur über forum.mainedomain.com usw.

und das am liebsten so, dass sobald ein neues Verzeichnis im Root angelegt wird, dieses sofort über die Subdomain erreichbar ist.

Unter anderem bin ich auch auf diesen drweb Beitrag gestoßen, doch dieser hilft mir so wie viele Andere nicht weiter. :(

Ich freue mich über jede Antwort, die mir hilft das Problem zu lösen.

Noch kurz zum Server, ich habe bei diesem vollen root Zugriff, so dass ich von der httdp.config Datei bis hin zu .htaccess alles verändern kann.


Mit freundlichen Grüßen
Supercomputer
 
Warum erstellst du nicht einmal für www.meinedomain.example und einmal für forum.meinedomain.example je eine eigene vhost.conf?
Da kannst du doch dann bei DocumentRoot das jeweilige Unterverzeichnis angeben.
Dann brauchst du doch keine .htaccess.
 
Danke für die schnelle Antwort, wo finde ich die vhost.conf und was muss ich da ändern/eintragen?

DocumentRoot "/opt/lampp/htdocs..." ist mir klar, muss dann dort noch etwas weiteres Stehen?
 
Nein, ich habe es extra durch gerechnet, mit einem Rootserver komme ich am günstigsten weg. (Dieser ist noch nicht bestellt, aber ich habe zu Hause einen Server exakt so eingerichtet, wie ich ihn dann bekomme)
 
Aktuell lese ich mir dieses durch http://httpd.apache.org/docs/2.2/de/vhosts/

Wenn ich es richtig sehe, muss ich dann einfach nur folgendes in die Datei rein schreiben, oder?
Code:
 NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.meinedomain.com
ServerAlias meinedomain.com *.meinedomain.com
DocumentRoot /www/www
</VirtualHost>

<VirtualHost *:80>
ServerName forum.meinedomain.com
DocumentRoot /www/forum
</VirtualHost>


Oder verstehe ich da irgendetwas falsch?
 
Die Angaben bei Documentroot sind Verzeichnisse, also mit / am Ende.
Was du noch brauchst für deine Websoftware, wissen wir nicht.
Angaben von Hosts mit *.... sind Catchall-Domains, die müssen zum Schluss stehen, sonst greifen die Einstellungen für forum.... nicht.
 
Last edited by a moderator:
Ok, danke.

Mir geht es darum:

Anfang nächsten Jahres bestelle ich mir einen Rootserver und ich möchte jetzt bereits Erfahrungen sammeln, um später keine Probleme zu bekommen.


Mit freundlichen Grüßen

Supercomputer
 
Ich habe jetzt folgendes in die httpd-vhosts.conf geschrieben:

Code:
<VirtualHost *:80>
ServerName forum.testdomain.com
DocumentRoot /opt/lampp/htdocs/forum/
</VirtualHost>

<VirtualHost *:80>
ServerName www.testdomain.com
ServerAlias testdomain.com
DocumentRoot /opt/lampp/htdocs/www/
</VirtualHost>


Doch ich lande immer im htdocs Verzeichnis. :(
 
Schau dir mal an was
Code:
apache2ctl -S
sagt. Dann siehst du ob apache die vhosts überhaupt berücksichtigt.

Grüße
 
Der Befehl
Code:
apache2ctl -S

spricht leider einen falschen Server an.

Ich habe auf meinem Computer einen Apache2 Server (den ich aus irgendwelchen Gründen nicht entfernt bekomme)
Und die Lampp installation, aktuell mache ich alles über die Lampp installation.
 
Verstehe ich das richtig, dass Du auf deinem Linux? Rechner daheim mit graphischer Oberfläche deine Tests durchführst? Oder sowas wie xamp oder wamp?

Am einfachsten und fürs Lernen sinnigsten wäre, zB mit Virtualbox ein System aufzusetzen welches dem entspricht, welches Du später auch im Realbetrieb nutzt.
Dort kannst du praktischerweise Snapshots anlegen zu welchen Du jederzeit zurückkehren kannst. So kannst du auch mal unterschiedliche Webserver testen, mit den Configs spielen und jederzeit zum Ausgangspunkt zurückkehren.

Dort kannst Du auch mal Weboberflächen ala ispconfig usw spielen.

Gruß Sven
 
Ja, ich starte den Server nach JEDER Änderung neu.

Aktuell nutze ich ein auf Ubuntu basierendes System, leider läuft aufgrund eines Fehlers die Serverversion nicht richtig, so dass ich zumindest versuche mich in die Materie ein zu arbeiten.

Hier der Link zu dem Beitrag bei Ubuntuusers dazu.
 
spricht leider einen falschen Server an.

Ich habe auf meinem Computer einen Apache2 Server (den ich aus irgendwelchen Gründen nicht entfernt bekomme)

Dann würde ich mich erstmal um dieses Problem kümmern. Du kannst nicht erwarten, dass der Fahrstuhl fährt, während die Stromversorgung im Gebäude rumzickt.
Woran machst du das fest, dass du einen Apache2 laufen hast den du nicht entfernt bekommst?
 
Daran, dass ich mit Hilfe von
Code:
sudo apt-get remove apache2
einen Fehler bekomme, dass es nicht vorhanden sei, ich aber erst einen apache, der auf port 80 hört killen muss, damit ich den Lammp apache starten kann.

Und dass nach jedem Computer neustart.
Seit einem Update des Apache, den ich nicht installiert bekomme, habe ich unter folgenden IPs eine Servererreichbarkeit.
einmal 127.0.1.1 // keine Ahnung wo dieser liegt.
dann auf 127.0.0.1 // den muss ich killen, um den Lampp apache auf 127.0.0.1 und port 80 zu legen.


Hätte ich eine schnellere Internetverbindung, würde ich das System einfach neu aufsetzen und gut, jedoch ist dies nicht der Fall, so dass ich mich damit begnüge.
 
Dann zeig mal folgende Ausgaben her

Code:
dpkg -l | grep apache
um zu verifizieren, dass das Paket wirklich nicht drauf ist.

Als root
Code:
netstat -tulpen
nach einem neustart um zu sehen, welcher Dienst da läuft.

Grüße

Edit:
Hätte ich eine schnellere Internetverbindung, würde ich das System einfach neu aufsetzen und gut
Man soll auch vor den Problemen nicht weglaufen, man soll sie lösen. Und über Probleme wirst du noch genug stolpern.
 
Last edited by a moderator:
Die Ausgabe von dgkp:
Code:
ii  apache2-mpm-prefork                    2.2.22-1ubuntu1.7                                   Apache HTTP Server - traditional non-threaded model
ii  apache2-utils                          2.2.22-1ubuntu1.7                                   utility programs for webservers
ii  apache2.2-bin                          2.2.22-1ubuntu1.7                                   Apache HTTP Server common binary files
ii  apache2.2-common                       2.2.22-1ubuntu1.7                                   Apache HTTP Server common files
ii  libapache2-mod-auth-mysql              4.3.9-13ubuntu3                                     Apache 2 module for MySQL authentication
ii  libapache2-mod-php5                    5.3.10-1ubuntu3.14                                  server-side, HTML-embedded scripting language (Apache 2 module)
Scheint doch ein apache2 drauf zu sein, muss ich jedes Paket einzeln deinstallieren?
Da bei mir sudo apt-get remove apache2 nicht funktioniert.

Die Ausgabe von netstat:
Code:
Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      104        9883        1408/mysqld     
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      0          8756        1021/smbd       
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      0          9861        1703/apache2    
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      0          10467       1821/dnsmasq    
tcp        0      0 127.0.0.1:8182          0.0.0.0:*               LISTEN      1000       15429       2776/firefox    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      0          7473        618/cupsd       
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      0          8754        1021/smbd       
tcp        0      0 127.0.0.1:4001          0.0.0.0:*               LISTEN      118        12707       1466/mix        
tcp6       0      0 :::139                  :::*                    LISTEN      0          8752        1021/smbd       
tcp6       0      0 :::445                  :::*                    LISTEN      0          8749        1021/smbd       
udp        0      0 0.0.0.0:59946           0.0.0.0:*                           107        7407        612/avahi-daemon: r
udp        0      0 127.0.0.1:53            0.0.0.0:*                           0          10466       1821/dnsmasq    
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          9006        1086/dhclient   
udp        0      0 192.168.42.255:137      0.0.0.0:*                           0          10842       2125/nmbd       
udp        0      0 192.168.42.198:137      0.0.0.0:*                           0          10841       2125/nmbd       
udp        0      0 0.0.0.0:137             0.0.0.0:*                           0          10838       2125/nmbd       
udp        0      0 192.168.42.255:138      0.0.0.0:*                           0          10844       2125/nmbd       
udp        0      0 192.168.42.198:138      0.0.0.0:*                           0          10843       2125/nmbd       
udp        0      0 0.0.0.0:138             0.0.0.0:*                           0          10839       2125/nmbd       
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           107        7405        612/avahi-daemon: r
udp6       0      0 :::5353                 :::*                                107        7406        612/avahi-daemon: r
udp6       0      0 :::52575                :::*                                107        7408        612/avahi-daemon: r



Habe den Hauptfehler mit dem Ubuntuserver lösen können, dieser läuft jetzt ohne Probleme. :)
 
Back
Top