PDA

Bekijk Volledige Versie : Apache, ik ben de weg kwijt.



m2ARundnG3kQXZ94pzVu
05/08/05, 01:52
Overal zijn er oplossingen te vinden, iedereen adviseert weer iets anders..

..maar geen een die werkt zoals de bedoeling is. Hopenlijk kunnen jullie me helpen.

-- De bedoeling --

De hoofdwebsite
www.soep.nl
is ondergebracht onder gebruikersaccount:
/home/alex/public_html

Iedere gebruiker die een account krijgt op de server, krijgt automatisch een subdomein. Ofwel: Bert krijgt automatisch subdomein
bert.soep.nl dat verwijst naar /home/bert/public_html

cees.soep.nl -> /home/cees/public_html ..etc

Dan zijn er uiteraard ook nog speciale subdomeinen, als het MySQL interface dat de gebruikers gebruiken om hun databases te beheren:
mysql.soep.nl -> /var/www/localhost/htdocs/phpmyadmin

En dan zijn er mensen die een eigen domein hebben en dat verwijzen naar het ip van de webserver.
www.voetbal.org -> /home/pieter/public_html

En dan nu mijn vraag: Hoe configureer ik dit?

Waar moet ik DocumentRoot in de apache config naar laten verwijzen, en hoe zorg ik ervoor dat iedereen zijn subdomein automatisch krijgt, terwijl dat niet in de war komt met de statische domeinen als www., mysql., en hun eigen domeinen?

Maar dan vooral, hoe ik statisch domeinen aan accounts koppel
statische subdomeinen aan directories koppel
de rest automatisch laat gaan

WH-Tim
05/08/05, 12:58
Ik denk dat je het beste eens je httpd.conf kunt openen en de VirtualHosts doet bestuderen, dan is het opeens allemaal niet zo moeilijk meer.

m2ARundnG3kQXZ94pzVu
05/08/05, 17:58
Dat heb ik al gedaan, en de volgende dingen heb ik al geprobeerd..

Wat ik nu gebruik..
RewriteEngine On

# Hoofd domein

RewriteCond %{HTTP_HOST} ^soep\.nl
RewriteRule ^(.*)$ /home/alex/public_html$1

RewriteCond %{HTTP_HOST} ^www\.soep\.nl
RewriteRule ^(.*)$ /home/alex/public_html$1

# Speciale Subdomeinen

RewriteCond %{HTTP_HOST} !^(www\.)
#RewriteCond %{HTTP_HOST} !^(mrtg\.)
RewriteCond %{HTTP_HOST} !^(mysql\.)
RewriteCond %{HTTP_HOST} !^(mail\.)
RewriteCond %{HTTP_HOST} ^([^.]+)\.soep\.nl
RewriteRule ^(.*)$ /home/%1/public_html$1

RewriteCond %{HTTP_HOST} ^mrtg\.soep\.nl
RewriteRule ^(.*)$ /home/alex/public_html/mrtg$1

RewriteCond %{HTTP_HOST} ^mysql\.soep\.nl
RewriteRule ^(.*)$ /var/www/localhost/htdocs/phpmyadmin$1

RewriteCond %{HTTP_HOST} ^mail\.soep\.nl
RewriteRule ^(.*)$ /var/www/localhost/htdocs/squirrelmail$1

# Andere domeinen

RewriteCond %{HTTP_HOST} ^www\.superman\.org
RewriteRule ^(.*)$ /home/erik/public_html$1

#RewriteCond %{HTTP_HOST} ^superman\.org
#RewriteRule ^(.*)$ /home/erik/public_html$1

RewriteCond %{HTTP_HOST} ^www\.voetbal\.org
RewriteRule ^(.*)$ /home/pieter/public_html$1

RewriteCond %{HTTP_HOST} ^voetbal\.org
RewriteRule ^(.*)$ /home/pieter/public_html$1

RewriteCond %{HTTP_HOST} ^eieren\.avondeten\.com
RewriteRule ^(.*)$ /home/karel/public_html/hokforum$1Maar dat is zo omslachtig, en wil niet werken zoals ik het graag heb.

Wat als een een gebruiker van een domein, als voetbal.org, een subdomein naar een speciale directory wil laten wijzen?

Het allereerste wat ik ooit gebruikte, enb een enorm bestand werd omdat er voor ieder subdomein eent regel aangemaakt werd..


<VirtualHost *:80>
ServerName soep.nl
#ServerAlias soep.nl *.soep.nl
DocumentRoot /home/alex/public_html
</VirtualHost>

<VirtualHost *:80>
ServerName mrtg.soep.nl
DocumentRoot /home/alex/public_html/mrtg
</VirtualHost>

<VirtualHost *:80>
ServerName mysql.soep.nl
DocumentRoot /var/www/localhost/htdocs/phpmyadmin
</VirtualHost>

<VirtualHost *:80>
ServerName superman.org
DocumentRoot /home/erik/public_html
</VirtualHost>

<VirtualHost *:80>
ServerName www.superman.org
DocumentRoot /home/erik/public_html
</VirtualHost>En hier had elk domein dus een mooie DocumentRoot, iets wat ik nu, dus in de vorige code, niet heb. Omdat dat nu niet werk, heb ik diverse websites die niet meer willen werken omdat ze afhankelijk zijn van de DocumentRoot..

Wat ik daarna geprobeerd heb en weer terug gezet heb, is het gebruik van herkenning van het domein met behulp van VirtualDocumentRoot..


<VirtualHost *:80>
Servername soep.nl
VirtualDocumentRoot /home/%-3.0/public_html
ServerAdmin admin@soep.nl
ServerAlias soep.nl *.soep.nl
Options FollowSymLinks
ErrorLog /var/log/apache2/soep.nl-error_log
CustomLog /var/log/apache2/soep.nl-access_log common
</VirtualHost>Maar dit werkte niet.

Zoals je ziet, ik kan wel wat hulp gebruiken.. en het doel is nog altijd wat ik in het eerste bericht schreef.

Ik hoop dat jullie me kunnen vertellen wát ik moet gebruiken om dat te realiseren, en ieder domein en subdomein zijn eigen DocumentRoot krijgt. Ik heb de config files gelezen, ik heb op internet diverse pagina's gevonden en de help van Apache doorgelezen.. maar ik kom er echt geen wijs uit..

Sander-
05/08/05, 18:54
Ik zou kijken in hoeverre je je subusers dmv includes in je httpd.conf zelf subdomains kan laten maken. Mochten ze hier niet technisch genoeg voor zijn dan denk ik toch dat je eens moet gaan kijken naar een hostingpaneltje... Zijn genoeg gratis dingen te krijgen.

http://www.web-cp.net/

Verder ben ik over het subdomain verhaal zelf ook nog niet helemaal uit, denk dat je die vaste subs zelf moet doen, en die dynamische dmv rewrite rules

m2ARundnG3kQXZ94pzVu
05/08/05, 19:30
Ja t probleem is dat als ik het op de volgende manier doe..
<VirtualHost *:80>
Servername soep.nl
VirtualDocumentRoot /home/%-3.0/public_html
ServerAdmin admin@soep.nl
ServerAlias soep.nl *.soep.nl
Options FollowSymLinks
ErrorLog /var/log/apache2/soep.nl-error_log
CustomLog /var/log/apache2/soep.nl-access_log common
</VirtualHost>..De statische hosts niet meer werken.. en dat is eigenlijk het grootste probleem.

WH-Tim
05/08/05, 22:37
VirtualDocumentRoot /home/%-3.0/public_html

:

DocumentRoot /home/%-3.0/public_html

m2ARundnG3kQXZ94pzVu
06/08/05, 12:42
Bij het gebruik van Documentroot in plaats van VirtualDocumentRoot in combinatie met %-3.0 krijg ik
Warning: DocumentRoot [/home/%-3.0/public_html] does not existBij beide de vhost configuratie als in apache.conf.

Dan werkt de apache server ook niet.

Ik gebruik nu weer VirtualHosts..
<VirtualHost *:80>
Servername soep.nl
VirtualDocumentRoot /home/%-3.0/public_html
ServerAdmin hosting@bit.nl.eu.org
ServerAlias *.soep.nl
Options FollowSymLinks
ErrorLog /var/log/apache2/subdomains.soep.nl-error_log
CustomLog /var/log/apache2/subdomains.soep.nl-access_log common
</VirtualHost>..en heb het ook voor elkaar dat de statische subdomeinen ook werken door voor elk statisch subdomein gewoon een aparte VirtualHost aan te maken.

Maar nog steeds krijgen de automatische subdomeinen géén goeie DocumentRoot, maar de hoofddocumentroot.. wat dus /home/alex/public_html is.

m2ARundnG3kQXZ94pzVu
06/08/05, 13:59
Ik kom er net achter, na een paar testen, dat apache helemaal niet luisterd naar VirtualDocumentRoot!

Ik zette in alle VirtualHost's de DocumentRoot om naar VirtualDocumentRoot, en apache vond alleen nog maar de default document root.

Terwijl mod_vhost_alias geladen is..
LoadModule vhost_alias_module modules/mod_vhost_alias.so

Iemand een idee hoe dit kan?

mind
06/08/05, 18:03
Staat het volgende al ergens in jou .conf file

UseCanonicalName Off

Mvgr,

Kees

Tuinslak
06/08/05, 18:50
Volgt apache wel links?
Doe anders ln -s /home/user/www-ofzo /var/www/www.soep.nl ?
Dus user/www linken naar soep.nl, en niet soep.nl naar /home?

m2ARundnG3kQXZ94pzVu
07/08/05, 05:17
@mind: UseCanonicalName stond inderdaad Off

@Tuinslak: Daar gaf ie altijd problemen, dus dat werkte ook al niet hoe het moest.

K, hij luisterd nu wel, maar geeft het nog niet goed door: maak een php file met daarin de code..
<?php print("Current DocumentRoot: ".$_SERVER['DOCUMENT_ROOT']); ?>..en zet deze in een subdomein van je, en zie of het subdomein overeen komt met de DocumentRoot.

Dat hoort wel te werken bij een VirtualDocumentRoot lijkt me, maar werkt niet. Tenminste niet bij mij.

Zie hier het subdomein, geparsed met de VirtualDocumentRoot: http://lcidw.onedot.nl/DocumentRoot.php

En hier het domein, geparsed met de DocumentRoot: http://www.onedot.nl/DocumentRoot.php

En hier mijn configuratie van deze 2 VirtualHosts (misschien niet veilig om te posten, maargoed)..
<VirtualHost *:80>
Servername www.onedot.nl
DocumentRoot /home/lcidw/public_html
ServerAdmin hosting@bit.nl.eu.org
ServerAlias onedot.nl
Options FollowSymLinks
ErrorLog /var/log/apache2/onedot.nl-error_log
CustomLog /var/log/apache2/onedot.nl-access_log common
</VirtualHost>

<VirtualHost *:80>
Servername *.onedot.nl
VirtualDocumentRoot /home/%-3.0/public_html
ServerAdmin hosting@bit.nl.eu.org
ServerAlias *.onedot.nl
Options FollowSymLinks
ErrorLog /var/log/apache2/subdomains.onedot.nl-error_log
CustomLog /var/log/apache2/subdomains.onedot.nl-access_log common
</VirtualHost>

Ofwel, waarom werkt ie bij DocumentRoot wel en VirtualDocumentRoot niet? Hebben jullie dat ook?

Oh, en als jullie een manier weten om deze 2 VirtualHosts mooi samen te voegen zou dat ook super zijn :)

mind
07/08/05, 15:02
Origineel geplaatst door odnl
En hier mijn configuratie van deze 2 VirtualHosts (misschien niet veilig om te posten, maargoed)..
<VirtualHost *:80>
Servername www.onedot.nl
DocumentRoot /home/lcidw/public_html
ServerAdmin hosting@bit.nl.eu.org
ServerAlias onedot.nl
Options FollowSymLinks
ErrorLog /var/log/apache2/onedot.nl-error_log
CustomLog /var/log/apache2/onedot.nl-access_log common
</VirtualHost>

<VirtualHost *:80>
Servername *.onedot.nl
VirtualDocumentRoot /home/%-3.0/public_html
ServerAdmin hosting@bit.nl.eu.org
ServerAlias *.onedot.nl
Options FollowSymLinks
ErrorLog /var/log/apache2/subdomains.onedot.nl-error_log
CustomLog /var/log/apache2/subdomains.onedot.nl-access_log common
</VirtualHost>

Niet veilig, ach wat staat hier nou voor spannends in ;)
Het maak jou probleem wel duidelijk voor mij. In de tweede virtualhost sectie moet je de servenaam wissen. Vraag me niet waarom, maar in deze constructie is alleen een Serveralias genoeg.

Mvgr,

Kees

bohawk
24/01/09, 00:44
De weg kwijt?
Iedereen adviseerd wat anders?
Er is maar 1 weg.

Bohawk

systemdeveloper
24/01/09, 01:05
Een Apache die de weg kwijt is? Dat is best triest... dacht dat die wel goede spoorzoekers waren..

®on
24/01/09, 01:28
De weg kwijt?
Iedereen adviseerd wat anders?
Er is maar 1 weg.

Bohawk
Dahuh? Onder welke steen kom jij vandaan?

{xx}