Apache2 Virtualhost einrichten

hitman

hitman

Jungspund
Hallo Leute,

möchte gerne unter Apache2 zwei neue Virtualhost einrichten, das Problem besteht darin, dass zwei Verzeichnisse vrhanden sind wo die virtuellenhost eingetragen werden können.
Also die Verzeichnisse sind sites-available und sites-enable
Meinen Frage ist die : Im welchem Verzeichnis erstelle ich die Virtualhost???

Hat jemand schon Erfahrungen damit ???
Also danke schon mal für die Antworten

MFG :think:
 
das ganze sieht in etwa folgendermaßen aus und wird in /etc/apache/httpd.conf¹ eingetragen:
(siehe am besten im google unter "name virtual host")

NameVirtualHost 192.168.1.125
<VirtualHost 192.168.1.125>
ServerName public.segger.net
ServerAlias public
DocumentRoot /export/share/httpd/public.segger.net/htdocs
ScriptAlias /cgi-bin/ /export/share/httpd/public.segger.net/cgi-bin/
</VirtualHost>
<VirtualHost 192.168.1.125>
ServerName segger.segger.net
ServerAlias segger
DocumentRoot /export/share/httpd/www.segger.net
ScriptAlias /cgi-bin/ /export/share/httpd/www.segger.net/cgi-bin/
</VirtualHost>

darunter kannst du noch mehrere eintragen
.
.
.
.
zu 1) die apache-konfigurationsdatei -> der ort ist abhängig von der distribution! (kann in /etc/, /etc/apache o.ä. sein).
 
Hallo dramen,

habe ich das richtig verstnden die Virtualhost wird ausschließlich in der httpd.conf eingetragen!!!
Also trage ich im Verzeichnis "ites-enable und sites-available" nicht ein.
Die Apache Version die ich nutze ist die 2.0.52 unter Debian.
Hier ist in der httpd.conf nichts eingetragen.

Werde es = mal versuchen.

Danke
 
also diese verzeichnisse habe ich bei mir gar nicht (slackware)! ich weiß nicht wie das speziell bei debian ausschaut aber in der regel wird das nur in der httpd.conf eingetragen.

NOCH ETWAS: die einzelnen "virtuellen hosts" müssen aber auch im DNS (named) bzw. /etc/hosts eingetragen sein, sonst sind die virtuellen namen unbekannt!
 
Zuletzt bearbeitet:
Hallo Dramen,

habe die eintäge in der Httpd.conf durchgeführt jedoch ohne Erfolg, gehe davon aus das in der sites-available und site-enable die Virtualhost eingetragen werden müssen. Nicht desto trotzt Danke.

MFG
 
Hallo Dramen,

Habe den eintrag in /etc/hosts durch geführt soweit sogut!
Habe auch den Apache neugestartet und aufgerufen.
Also die Virtualhost kann ich aufrufen, doch meine Homepage wird mir nicht angezeigt sonder die APACHE-Default seite. Meine Homepage befindet sich im eingetragenen Verzeichnis.
Also gehe ich der Anahme das noch eine Kleinigkeit fehlt :think:

MFG
 
ja, wahrscheinlich DocumentRoot-Einstellung (auch in httpd.conf).
wichtig sind dann in weiterer folge auch die zugriffsrechte auf das verzeichnis bzw. die dateien. auf diese würde ich nur das leserecht-bit setzen, damit es andere eben (nur) lesen können (sicherheitsfrage!).
 
Also ich interessiere mich auch dafür wie ich einen Vhost auf Apache2 unter Debian Sarge hinbekomme.Versuche das auch schon seit nen paar Tagen was ist denn
sites-available und site-enable ??? Wäre gut wenn mir das jemand erklären könnte.
 
sites-available und site-enable, steht doch was das ist.

available = zur verfügung stehend
enable = aktiv

Gruss Style
 
@StyleWarZ,

das habe ich schon verstanden.

:oldman
Mein Problem ist, das ich zwei .Conf dateien habe und möchte das diese unter den jeweiligen Name präsentiert werden.
habe die erste Präsentation auch schon zum laufen bekommen.
Nun möchte ich das auch die zweite funktioniert, bin so vorgegangen wie bei der ersten Präsentation, aber es funktioniert nicht.
Also mein Beispiel:
ln -s /etc/apache2/sites-available/test.conf /etc/apache2/sites-enabled/
danach mit ls -s (symbolischen link) /etc/apache2/sites-available/test.conf
eingegeben und ich konnte die erste Präsentation aufrufen.
Nun wollte ich die zweite auch so durchführen jedoch ohne Erfolg.
Aus diesem Grund wollte ich wissen was die Verzeichnisse so machen :hilfe2: :rtfm: 8)
Nicht desto trotzt danke für die Übersetzung :D

MFG
 
Hallo,

also wenn ich das so mache kommt erstmal folgendes:


Code:
VirtualHost XXX.XXX.XXX.XXX:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
Warning: DocumentRoot [/export/share/httpd/www.segger.net] does not exist
[Mon Nov 14 23:54:27 2005] [error] VirtualHost XX.237.XXX.XXX:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results

Was ist denn mit dieser 000-default die mitgeladen wird? kann ich die rausschmeisen? ja wohl nicht oder?
 
Vielleicht bin ich zu spät...
Die Variante mit sites-available und -enabled ist Apache2 nicht die´1er Version.
Vorgehen:

* /etc/apache2/sites-available/default kopieren,umbenannt,Pfade angepasst (Ich habe die Kopfzeile “NameVirtualHost *:80” jeweils gelöscht.)
* Symlink in sites-enabled
* /etc/init.d/apache2 restart
* # Das ganze habe ich wiederholt für weitere vhosts. (default1,default2,default3...).

Anmerkung:
* unnötiges löschen; vorallem der redirect aus default
* würde empfehlen getrennte logs noch einzutragen

so long Tim

P.S. hier mal eine vhostconf
ServerAdmin misterx
ServerName domain.de
#Aliase können mehere benutzt werden, so dass mit und ohne www oder - etc richtig weiter #geleitet wird
ServerAlias www.domain.de
DocumentRoot /var/www/site1/web
DirectoryIndex index.php index.html index.htm
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/site1/web>
Options FollowSymLinks
AllowOverride AuthConfig
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /var/www/site1/cgi-bin
<Directory "/var/www/site1/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews -Indexes +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/www/site1/log/error_site1.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/www/site1/log/access_site1.log combined
ServerSignature On
</VirtualHost>
 
Zuletzt bearbeitet:
Hallo TInux,

zwei kl. Fragen noch:

Belasse ich eine kopie von der 000-default, so dass diese immer mitgeladen wird?

du hast die Namevirtualhost einträge alle raus?

weil wenn ich keinen drin hab und mehrer vhosts mache kommt immer diese meldung:

Code:
VirtualHost XXX.XXX.XXX.XXX:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
Warning: DocumentRoot [/export/share/httpd/www.segger.net] does not exist
[Mon Nov 14 23:54:27 2005] [error] VirtualHost XX.237.XXX.XXX:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results

würde jetzt gern einfach erstmal mit der normalen IP auf

/var/www kommen

und eine subdomain einrichten mit

/var/www/sub1

Also gib mir bitte doch noch kurz infor zu meinen fragen, dann probier ich das heut abend mal aus.

Danke dir
 
Apache geht so vor:
Apache bekommt eine Anfrage mit sub.domain.de und sucht nun ob sie zu geordnet werden kann oder nicht. Das geht folgender Maßen.Zunächst wird der default gelesen und alles weitere geht von ihm aus, ob Du nun in default die vhost rein schreibst oder versymlinkst ist egal (außer aufgrund der Übersichtlichkeit und Flexibilität vielleicht), deshalb kannst Du Dir 'NameVirtualHost' in folgenden vhost sparen... (ich gehe natürlich von namensbasierten vhost aus)

Zunächst hier der Standardaufbau eines vhosts:
#DIES kannst du wie gesagt auskommentieren, außer beim ersten natürlich
# NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
</VirtualHost>

Hier ein rudimentäres Beispiel für default und eine Subdomain:
---Datei:default----
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld # '*.domain.tld' muss weg weil er sonst nicht auf deine subdomain reagiert
DocumentRoot /www/domain
</VirtualHost>
--Datei:subdomain----
<VirtualHost *:80>
ServerName www.sub.domain.tld
ServerAlias sub.domain.tld *.sub.domain.tld
DocumentRoot /www/domain
</VirtualHost>
----
GANZ WICHTIG:
http://httpd.apache.org/docs/2.0/
http://httpd.apache.org/docs/2.0/vhosts/name-based.html

so ich denke das wars! Viel Spaß mit Deinen Vhosts :)
so long Tim
 
Danke Tinux,

es geht.

Mh ich hatte es eigentlich nur sogemacht, dass ich eine vhost.conf erstellt habe und in das conf.d verzeichnis geschoben habe oder
ein neues verzeichnis gemacht habe mit vhost.d und durch die httpd.conf included hab.

puhh geschaft..
 
mh mal was anderes noch..habe einen provider über den ich immer die Subdomains einrichten muss. also über das kundenmenu und erst dann wird ja zu meinem server die Verbindung aufgebaut.

sagen wir mal ich hab sfdf.domain.de

und diese ist nicht hinterlegt.

kommt diese Meldung:

The requested URL could not be retrieved

Ist diese message dennoch von meinem server und kann ich diese beeinflussen oder kommt diese dann von meinem anbieter?
 
hi! Deine Subdomain / Domain (anyway) wird ja bei einem DNS-Server eingetragen (,der mit allen anderen DNS-Server im Netz sich austauscht etcpp.) und dieser DNS-Eintrag muss auf die IP deines Apche-Servers zielen.
Ein Browser fragt den DNS nach MisterX.de - der DNS sagt ihm die IP - der Browser fragt bei der IP auf Port 80 (bzw 443 für SSL) nach und siehe da Dein Apache bekommt die Anfrage nach MisterX.de, die er kennt (VHost... servername: misterx.de documentroot: /...) und leitet auf DocumentRoot mit Deiner index.html (oder was auch immer eingestellt unter Apache bzw. im Verzeichnis ist) - und siehe da der Browser überträgt bzw. zeigt die MisterX-HP.
Lange Rede kurzer Sinn: Der DNS-Eintrag bei Deinem Provider muss auf Deinen Server lauten! Übrigens die Umsetzung eines solcher Eintrages kann schon mal etwas dauern.
Ich hoffe ich konnte Dir und anderen die vHost in die SuFu eingeben helfen.
so long Tinux
 
Also Ich habe das anders gemacht


sondern ind der httpd2 conf mit Include eine sub.conf geladen

z.b include /etc/apache2/sub.conf

File: sub.conf
#SUBDOMAIN test.otto.com
<VirtualHost *:80>
DocumentRoot /home/b/bodybuilding-kampfsport.com/public_html/hotti/
ServerName test.otto.com
IndexOptions
DirectoryIndex index.htm index.html index.shtml start.htm start.html start.shtm
index.php
CustomLog "|/usr/local/visas/cronolog/cronolog --symlink=/usr/local/visas/logfil
es/test.otto.com/access_log --prev-symlink=/usr/local/visas/logfil
es/test.otto.com/current_access_log /usr/local/visas/logfiles/body
test.otto.com/%Y/%m/%d/access_log" combined
</VirtualHost>
 

Ähnliche Themen

openn SuSE 13.1 - 64-BIt erlaubt nicht mehr als 20GB für /root

Apache /var/www zu /home/ich/www wechseln

RT5390 Lösung?

Terminal Server Client behält die eingestellten Verbindungen nicht

Squid als RPCoHTTPS Proxy für Outlook Anywhere

Zurück
Oben