Tworzenie subdomen

Konfiguracja serwerów, usług, itp.
spikeneo
Posty: 70
Rejestracja: 14 listopada 2007, 14:15

Tworzenie subdomen

Post 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.
wielokropek
Posty: 9
Rejestracja: 24 stycznia 2008, 23:02

Post autor: wielokropek »

A to nie wystarczy?
Alana
Posty: 27
Rejestracja: 03 lutego 2008, 03:31
Lokalizacja: Gdañsk

Post 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.
spikeneo
Posty: 70
Rejestracja: 14 listopada 2007, 14:15

Post 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".
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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?
ODPOWIEDZ