ownator 0 Zgłoś post Napisano Styczeń 14, 2008 Czy to jest w ogole mozliwe? nawet nie o restart mi chodzi ale o wykonanie apache2ctl graceful. Probowalem juz za pomoca exec("/usr/sbin/apache2ctl graceful"), shell_exec("/usr/sbin/apache2ctl graceful") , system("/usr/sbin/apache2ctl graceful") lecz za kazdym razem jedyne co uzyskiwalem to: httpd not running, trying to start. Udostępnij ten post Link to postu Udostępnij na innych stronach
pleple 0 Zgłoś post Napisano Styczeń 14, 2008 Możliwe jest ale raczej niezbyt dobre ze względu na bezpieczeństwo. Przede wszystkim raczej jedynym użytkownikiem, który może zrobić restart apache jest root natomiast skrypty PHP nie działają (a przynajmniej nie powinny) na takich wysokich prawach. Możesz więc ratować się jakimś sudo lub innymi wynalazkami. Powtórzę jednak raz jeszcze - nie polecam tego Udostępnij ten post Link to postu Udostępnij na innych stronach
ownator 0 Zgłoś post Napisano Styczeń 14, 2008 dobra wiec moze inaczej.. potrzbne te restarty ze wzgledu na to, ze mam vhosty apacza wpisane do mysql jednak zeby zatrybily musze robic chociaz apache2ctl graceful. jezeli da sie to robic bez retyartu to prosze o nakierowanie mnie chociaz na wlasciwy tor. Udostępnij ten post Link to postu Udostępnij na innych stronach
MasterNETpl 100 Zgłoś post Napisano Styczeń 14, 2008 Z pomysłu restartu apache z poziomu php lepiej zapomnij. Najprostszy sposób to chyba napisanie skryptu w bashu który sprawdzał będzie czy zostały wprowadzone zmiany w vhost'ach który to odpalany będzie z crona co XX minut? Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Styczeń 15, 2008 Najprostszy sposób to chyba napisanie skryptu w bashu który sprawdzał będzie czy zostały wprowadzone zmiany w vhost'ach który to odpalany będzie z crona co XX minut?...albo odpalenie w tym celu monit'a $ su - # cat >/etc/monitrc <<EOF >set daemon 30 >set logfile syslog facility log_daemon >set alert root@localhost > >check file httpd.conf with path /etc/apache2/httpd.conf > if changed checksum then exec "/usr/sbin/apachectl2 graceful" >EOF # chmod 600 /etc/monitrc # wget http://www.tildeslash.com/monit/dist/monit-4.10.1.tar.gz # tar -zxvf monit-4.10.1.tar.gz # cd monit-4.10.1 # ./configure # make && make install # monit ...do autostartu dodaj sobie sam Udostępnij ten post Link to postu Udostępnij na innych stronach
ownator 0 Zgłoś post Napisano Styczeń 15, 2008 tylko po co w takim razie meczylem sie zeby wrzucic te vhosty do bazy:D Udostępnij ten post Link to postu Udostępnij na innych stronach
pleple 0 Zgłoś post Napisano Styczeń 15, 2008 Skoro i tak trzeba restartować apache? Nie mam pojęcia... A tak serio to chyba jedyny plus płynie z ułatwionej konfiguracji vhostów (choć jak dobrze to zorganizować to używanie zwykłych plików konfiguracyjnych jest całkiem wygodne). Udostępnij ten post Link to postu Udostępnij na innych stronach
lesio 0 Zgłoś post Napisano Styczeń 15, 2008 #pleple no tak ale mając konfigurację vhostow w bazie danych można sobie nawet dla zabawy zrobic panelik do zarządzania nimi i będzie to chyba znacznie wydajniejsze niż na samych plikach .txt? Udostępnij ten post Link to postu Udostępnij na innych stronach
alien 345 Zgłoś post Napisano Styczeń 15, 2008 Nie bedzie wydajniejsze, gdyz apache i tak czyta konfiguracje w momencie startu. Wygoda tez niekoniecznie - mozna to fajnie zorganizowac na plikach. Udostępnij ten post Link to postu Udostępnij na innych stronach
lesio 0 Zgłoś post Napisano Styczeń 15, 2008 Jak mnie pamięć nie myli to kiedyś grzebiąc po modułach do apache widziałem jakiś który trzymał konfigurację vhostó tylko w bazie danych ale czy on sprawdza się w praktyce to nie mam pojęcia. Udostępnij ten post Link to postu Udostępnij na innych stronach
pleple 0 Zgłoś post Napisano Styczeń 15, 2008 Generalnie jak kto woli. Dla mnie dobrym rozwiązaniem jest używanie plików konfiguracyjnych. Apache całkiem wydajnie nimi zarządza choć tak na prawdę nie jest to jakieś szczególnie istotne bo chyba nikt nie zmienia konfiguracji vhostów kilkadziesiąt razy na sekundę. Udostępnij ten post Link to postu Udostępnij na innych stronach
ownator 0 Zgłoś post Napisano Styczeń 15, 2008 pomysl "p" nawet mi sie spodobal... co do bazy... coz zrobie sobie w takim razie generowanie pliku z vhostami z bazy i problem w sumie z glowy. Udostępnij ten post Link to postu Udostępnij na innych stronach
bold 0 Zgłoś post Napisano Styczeń 17, 2008 Dwie proste mozliwosci - 1) skrypt php ktory jak ma restartowac to zaklada plik restartuj 2) co minute z roota z krona skrypt ktory sprawdza czy jest plik restartuj - jak jest - kasuje go i restartuje Druga - rewrite - gotowa regółka - dopisz do httpd.conf to: LoadModule rewrite_module libexec/mod_rewrite.so AddModule mod_rewrite.c RewriteEngine on RewriteMap lowercase int:tolower RewriteMap vhost txt:/gdzies-tam-na-serwerze/vhosty.txt RewriteCond %{HTTP_HOST} !^$ RewriteCond ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$ RewriteCond ${vhost:%1} ^(/.*)$ RewriteRule ^/(.*)$ %1/$1 [E=VHOST:${lowercase:%{HTTP_HOST}}] Utworz plik: /gdzies-tam-na-serwerze/vhosty.txt a do pliku php niech juz sobie dopisuje wg wzoru: www.domena.pl /home/user/domena domena.pl /home/user/domena I masz online. Najwazniejsze - keep it simple stupid Udostępnij ten post Link to postu Udostępnij na innych stronach
pleple 0 Zgłoś post Napisano Styczeń 17, 2008 Druga - rewrite - gotowa regółka - dopisz do httpd.conf to: To już chyba prościej jest użyć VirtualDocumentRoot. Tylko, że to (jak i użycie mod_rewrite) często nie jest dopuszczalne rozwiązanie. Udostępnij ten post Link to postu Udostępnij na innych stronach