Strona 1 z 1

Tworzenie subdomen

: 04 lutego 2008, 13:25
autor: spikeneo
Witam serdecznie.

Mam problem i nie wiem jak się za to zabrać. Otóż mam zrobić kilka subdomen na naszym serwerze. Łatwiej byłoby mi zrobić poprzez apache vhosta ale się uparli... i mają być subdomeny. Więc podam przykładzik:

Na serwerze jest użytkownik, Tomek który ma swoją stronę w katalogu public_html i teraz po wpisaniu w przeglądarce:

Kod: Zaznacz cały

tomek.domena.pl
ma się pojawić jego strona.

Od czego mam zacząć, czego szukać? Wszystko chciałbym najlepiej zrobić sam ale to już chyba za dużo jak na mnie. Dodam, że apache rozpoznaje mi katalogi public_html użytkowników i można się do nich dostać poprzez:

Kod: Zaznacz cały

domena.pl/~użytkownik
Pozdrawiam.

: 04 lutego 2008, 13:34
autor: wielokropek
A to nie wystarczy?

: 04 lutego 2008, 14:49
autor: Alana
Zrób te vhosty w apache i podlinkuj je do odpowiednich public_html w konfiguracji domeny albo zrób dzikie karty (ang. wildcards) na domena.pl albo po prostu porób te subdomeny i skieruj je na ip serwera.

: 04 lutego 2008, 15:42
autor: spikeneo
Od strony binda sprawa wygląda prosto. Wystarczy do pliku strefy w miejsce wszystkich subdomen utworzyć jeden rekord CNAME:

Kod: Zaznacz cały

#	CNAME mojserwer.pl
Znak # oznacza, że serwer DNS będzie teraz akceptować dosłownie wszystkie nadchodzące subdomeny. Restartujemy demona named i już nie musimy bawić się w modyfikowanie konfiguracji binda przy dodawaniu nowego użytkownika. Pozostał nam serwer Apache. Tu z pomocą przychodzi nam moduł mod_vhost_alias. Na początek upewniamy się, że dyrektywa UseCanonicalNames ustawiona jest na "Off". Następnie pod dyrektywą NamedVirtualHost dopisujemy:

Kod: Zaznacz cały

VirtualDocumentRoot /home/%-3/www
Usuwamy stare wpisy wirtualnych hostów, restartujemy serwer i gotowe. Ciąg %-3 oznacza odwołanie się do odpowiedniej części wpisanego przez internautę adresu strony www. W tym przypadku loginu zawartego w domenie:

Kod: Zaznacz cały

login.mojserwer.pl
Ciąg %0 przechowuje całą nazwę domeny. Teraz cała zabawa z wirtualnymi hostami ogranicza się jedynie do utworzenia systemowego użytkownika oraz jego katalogu domowego. Wszystko odbyło się bez napisania ani jednej linijki kodu, czy to w bashu, czy w C.

Głównie o to mi chodzi.

[Dodano: 2008-02-05, 11:48]
Według tego opisu powinienem zobaczyć stronę użytkownika, zamiast tego pojawia się błąd, a logi pokazują mi, że nie mam katalogu /home/office/public_html

Dlaczego po ustawieniu:

Kod: Zaznacz cały

VirtualDocumentRoot /home/%-3/public_html
serwer przekwierowuje na /home/office/public_html?

Sądzę, że błąd tkwi w "%-3".

: 22 września 2010, 13:44
autor: Bastian
Mam pytanie poboczne związane z mod_vhost_alias. Posługując się powyższym przykładem. Załóżmy, iż mamy już subdomeny tomek.domena.pl adam.domena.pl artur.domena.pl założone wg powyższego. Gdzie konfiguruje się dyrektywy dotyczące tych subdomen? Trzeba dalej pisać <VirtualHost *:80> i określać tam dalsze parametry? A Jeśli chciałbym aby każda z subdomen miała trochę inne ustawienia?