Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podpinanie domeny z poziomu php
Forum PHP.pl > Forum > PHP
jerry89
Witam,
ostatnio zastanawiałem się jak podpiąc daną domenę pod serrwer WWW z poziomu php. Czy ktoś już robił cos takiego? Czy musimy posiadać specjalny serwer(powiedzmy dedyk czy vps) ? Raczej jest to wykonalne tylko nie mam pojęcia jak sie za to zabrac. Założmy ze domena posiada prawidłowo wpisane dnsy dla naszego serwera.
Prosze o sugestię/pomoc.
erix
Z poziomu PHP? A jak chcesz dodać vhosta do demona?

No chyba, że po prostu nasłuchuje na IP, to wtedy możesz przez np. mod_rewrite tworzyć wirtualne hosty, czy nawet już via PHP.
NuLL
Musisz miec serwer gdzie mozesz z poziomu PHP zmieniac dowolne pliki albo z dostepna komenda exec, system etc smile.gif no i serwer musi chodzic na odpowiednich prawach :]
darex
Jak ty chcesz podpiąć z poziomu php ? Na np. home.pl ustawiasz dns i wpisujesz je w Konfiguracja Domeny i masz podpięty serwer. Hmm ... ale jak z php :/
pgrzelka
głupie pytania zadajecie... jak z php ?
może Jerry robi serwis z udostępniający możliwość założenia własnej strony/bloga, i chce aby userzy mogli podpinać własne domeny...

musisz napisać skrypt w bashu (ewentualnie program) modyfikujący pliki konfiguracyjne i wywoływać go exec() z php,
taki program i plik wywołujący program musi mieć odpowiednie uprawnienia / odpowiedniego właściciela

które pliki modyfikować? sam nie wiem winksmiley.jpg poszukaj
na pewno musisz dopisać domenę do dnsów, no i potem przekierować na odpowiedni folder w konfiguracji serwera

oczywiście musisz mieć dedyka / vps


jeśli chcesz zrobić serwis taki jak opisałem wyżej to możesz delikatnie oszukać userów ... smile.gif
user dodaje domenę, dostaje komunikat że jego domena 'ustawi' się w ciągu 24h, Ty dostajesz maila, i ręcznie podpinasz domenę
erix
Ale po co w ten sposób...?

Wystarczy ustawienie listen na port, a nie na konkretną domenę, vhost na jeden katalog i można dynamicznie sterować domenami...
jerry89
Wydaje mi się że sposób ze skryptem shell'owym nie bylby zly. Jednak wlasnie głównie chodiz mi o to, gdzie i jakie wpisy powinienem dodac by to wszysto śmigało.

@erix
Czy móglbys dokladniej opisać swoj sposób?? Nie mam zielonego pojęcia o czym mowisz niestety.
erix
Cytat
Czy móglbys dokladniej opisać swoj sposób?

Ustawiasz konfigurację tak, aby nasłuchiwał na konkretnym porcie (nie na domenę; ew. na IP). Potem dajesz DocumentRoot na jeden folder jako ustawienie globalne. To spowoduje, że wszystkie żądania będą leciały do jednego katalogu, niezależnie od domeny.

Wtedy nazwę możesz sobie wyciągnąć albo w mod_rewrite, albo z tablicy $_SERVER.
jerry89
Cytat(erix @ 24.06.2009, 23:24:22 ) *
Ustawiasz konfigurację tak, aby nasłuchiwał na konkretnym porcie (nie na domenę; ew. na IP). Potem dajesz DocumentRoot na jeden folder jako ustawienie globalne. To spowoduje, że wszystkie żądania będą leciały do jednego katalogu, niezależnie od domeny.

Wtedy nazwę możesz sobie wyciągnąć albo w mod_rewrite, albo z tablicy $_SERVER.


Rozumiem że to wykonalne jest raczej jedynie na dedyk/VPS ? Jestem trochę zielony co do konfiguracji serwera . Wiesz może dokladniej jak to zrobić? W mod_rewrite mialbym wyciągac nazwe domeny i kierowac ją na okreslony podfolder?
Yacho
Starczy że konfiguracja twojego Apache będzie kietować widcardem np taki vhost *.mojadomena.pl na jeden document root.

Wtedy niezależnie od tego czy ktoś wejdzie na :

jaś.mojadomena.pl
malgosia.mojadomena.pl
zenek.mojadomena.pl


to apache przekieruje na twoj documnt root. Wtedy masz 2 wyjscia :

1. Z poziomu php URI parsować.
2. mod_rewrite i kierować gdzie trzeba.

wariant 2 powinien być szybszy....
pgrzelka
@erix: czy przy Twoim rozwiązaniu przewidziałeś że domenę trzeba wydelegować na serwer czyli najpierw podpiąć pod dns'y, szczerze to nawet nie wiem czy da się zrobić aby wszystkie domeny dało się delegować bez podpinania, mam nadzieje że wystarczająco wyraźnie to napisałem

@jerry89: co do plików to zależy od konfiguracji serwera, np u mnie taka konfiguracja apache jest w /etc/apache2/sites-enabled/000-default, zainteresuj się sposobem opisanym przez erix'a bo to dość ciekawe rozwiązanie,

Cytat
jedynie na dedyk/VPS ?
tak, tylko i wyłącznie dedyk/vps smile.gif
erix
Cytat
, szczerze to nawet nie wiem czy da się zrobić aby wszystkie domeny dało się delegować bez podpinania, mam nadzieje że wystarczająco wyraźnie to napisałem

Większość registrarów udostępnia własne DNS-y, to raz. Dwa - w standardzie jest tak, że możesz po prostu przekierować wszystkie żądania domeny na dane IP. [;

Cytat
W mod_rewrite mialbym wyciągac nazwe domeny i kierowac ją na okreslony podfolder?

No na przykład.
jerry89
Cytat(Yacho @ 25.06.2009, 00:27:06 ) *
Starczy że konfiguracja twojego Apache będzie kietować widcardem np taki vhost *.mojadomena.pl na jeden document root.

Wtedy niezależnie od tego czy ktoś wejdzie na :

jaś.mojadomena.pl
malgosia.mojadomena.pl
zenek.mojadomena.pl


to apache przekieruje na twoj documnt root. Wtedy masz 2 wyjscia :

1. Z poziomu php URI parsować.
2. mod_rewrite i kierować gdzie trzeba.

wariant 2 powinien być szybszy....


Zeby była jasnosc. Na pewno nie chodiz mi o subdomeny z ktorymi sprawa jest zdecydowanie łatwiejsza. Tylko konkretne domeny.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.