Przemysław 'Repcio' Gubernat napisał(a):
On Wed, Jun 29, 2005 at 02:20:02PM +0200, konrad rzentarzewski wrote:
24/06/05, messie from [ A.L.E.C ] ...
ja. potrzebny do tego perl i mod_perl + mały demon w perlu, który wyśle sigint1 do apache'a kiedy w bazie zajdą zmiany. backend mam zrobiony, jak ktoś zrobi UI do wirtualek to mogę się podzielić :)
pomysł był taki, żeby lmsowe Konta to załatwiały i tam to trzeba trzymać, czy czegoś im brakuje (oprócz linku do przeładowania apache'a)? a jakim UI myślałeś?
nie da się. pomiędzy użytkownikiem a wirtualką może zachodzić relacja 1:N. apache do wirtualek potrzebuje (wg. mnie):
- fqdn (nazwa wirtualki, odpowiednik ServerName)
- aliases (odpowiednik ServerAlias
- server_ip (na podstawie tych dwóch można wpisywać od razu dane dla dnsa)
- docroot (wiadomo, w przypadku /^https?:/ odpalane jest mod_proxy)
- snippet (możliwość dodania własnego kawałka kodu, np. autoryzacja sql dla jakiegoś forum czy czego sobie użytkownik zażyczy, bez potrzeby dawania mu uprawnień do tworzenia .htaccess) - tak, wiem że dodanie złego snippetu może wywalić apache'a i tak, mam zrobioną walidację.
less /etc/httpd/httpd.conf/20_mod_vhost_alias.conf
VirtualDocumentRoot /home/services/httpd/virtual/%0
zapytując o www.test.pl szuka katalogu: /home/services/httpd/virtual/www.test.pl można też (odpowiednio używając %1,%2, itd) dostosować do swoich potrzeb.
Tzn wiecie mi się na prawdę wydaje że nie ma co aż tak kombinować bo na pewno są ludzie którzy mają virtualki z różnymi ip i kilka wirutalek pod jedną oraz np wirtualki z SSL i trzymają pliki z kluczem "gdzieś". Imvho coś na kształt lms-mgc, do apache można spiąć np perla albo plik db w którym by umieszczona konfiguracja była bo odpytywanie sqla per www hit to khem... no jednak maile się smtp/pop3 -uje rzadziej niż WWW.
Jakiś międzymordź generujący plik apachea i tyle...a właściwie generujący np 50_clientid/domainname_lms_automagic.conf w httpd jest przecież -t i jeśli jest "zły" jeden conf to apache może go olać...
jest też moduł mod_vhost_alias_sql (nie używałem)
Jak i nawet log_sql :>
kd.