Strona 1 z 1

[+] VirtualHost konfiguracja

: 02 lipca 2010, 09:06
autor: rasik
Witam.
Mam problem z VirtualHostami, załóżmy, że mam użytkowników: użytkownik1 i użytkownik2, każdy z nich ma katalog public_html, w którym znajdują się podkatalogi, np. project1, project2 itd.

Do tej pory mam skonfigurowane takie VirtualHosty (pliku ,,default'' nie wklejam):

Kod: Zaznacz cały

<VirtualHost *:80>
    DocumentRoot /home/użytkownik1
    ServerName użytkownik1.serwer-testowy.pl
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /home/użytkownik2
    ServerName użytkownik2.serwer-testowy.pl
</VirtualHost>
Jak w przeglądarkę wklejam adres:

Kod: Zaznacz cały

[URL]http://użytkownik2.serwer-testowy.pl/[/URL]
to z katalogu /home/użytkownik2/public_html/ otwiera się index.html. Do tego momentu jest wszystko super. Teraz chciałbym aby po wpisaniu:

Kod: Zaznacz cały

[URL]http://project1.użytkownik2.serwer-testowy.pl/[/URL]
zobaczyć to co jest w katalogu /home/użytkownik2/public_html/project1/, wiem, że można wpisać kolejny VirtualHost:

Kod: Zaznacz cały

<VirtualHost *:80>
    DocumentRoot /home/użytkownik2/public_html/project1
    ServerName project1.użytkownik2.serwer-testowy.pl
</VirtualHost>
ale chciałbym tego uniknąć, da się jakoś to inaczej zrobić? Tzn. wiem, że się da, ale nie wiem jak?
Proszę o pomoc.

Ps. Serwer instalowałem według poradnika http://debian.linux.pl/content/132-Komp ... AMP-i-MAIL bez binda.

: 02 lipca 2010, 09:49
autor: lessmian2
Z pewnością mod_vhost_alias Cię zainteresuje.

: 02 lipca 2010, 23:00
autor: rasik
Dzięki, działa ;)

: 03 lipca 2010, 10:46
autor: Bastian
rasik, możesz wkleić rozwiązanie Twojego problemu. Tzn. wiem jak to zrobić, ale pewnie wielu przyda się na przyszłość, a i sam jestem ciekaw czy rozwiązałeś to tak:

Kod: Zaznacz cały

<VirtualHost *:80>
    UseCanonicalName Off
    DocumentRoot /home/użytkownik1
    VirtualDocumentRoot /home/uzytkownik1/%1
    ServerName użytkownik1.serwer-testowy.pl
</VirtualHost>

<VirtualHost *:80>
    UseCanonicalName Off
    DocumentRoot /home/użytkownik1
    VirtualDocumentRoot /home/uzytkownik1/%1
    ServerName użytkownik1.serwer-testowy.pl
</VirtualHost>

: 04 lipca 2010, 18:58
autor: rasik
Na obecną chwile mam coś takiego:

Kod: Zaznacz cały

NameVirtualHost *:80

<VirtualHost *:80>
      ServerName serwer-testowy.pl
      DocumentRoot /var/www
</VirtualHost>

<VirtualHost *:80>
      ServerName serwer-testowy.pl
      ServerAlias *.serwer-testowy.pl
      UseCanonicalName Off
      DocumentRoot /home/użytkownik1
      VirtualDocumentRoot /home/%-3/public_html/%-4
</VirtualHost>

Jeżeli w przeglądarkę wpiszemy adres np.

Kod: Zaznacz cały

 [url]http://project1.[b]użytkownik[/b]1.serwer-testowy.pl[/url]
to zostanie uruchomiony skrypt z lokalizacji

Kod: Zaznacz cały

/home/[b]użytkownik[/b]1/public_html/project1/
Mam tylko jeden problem jak próbujemy uruchomić:

Kod: Zaznacz cały

[url]http://[b]użytkownik[/b]1.serwer-testowy.pl[/url]
to wyświetla błąd, póki co nie wiem jak to pominąć. Podejrzewam, że jest problem z czwartym parametrem, którego w tym przypadku nie ma.
W dokumentacji znalazłem takie informacje:
If N or M is greater than the number of parts available a single underscore is interpolated.
lecz nie za bardzo rozumiem co należy zrobić.