Portál AbcLinuxu, 16. července 2025 12:42


Dotaz: Restart apache

7.9.2010 19:08 caszo
Restart apache
Přečteno: 553×
Odpovědět | Admin
Zdravím, mám napsaný systém v php pro kompletní správu webhostingu a systém generuje sobory s virtual hostama. A když ho vytvořím potřebuju restartovat apache aby se načetl...

Abych nemusel furt po každém přidání přes www rozhraní lízt na putty a dávat rr apache tak bych potřeboval nějkou alternativu... Napadly mě 2 věci... Aktualizovat každých x minut apache přes rcon (ale řekl bych že to bude zbytečně zátěžový? Možná ne? nevím? A nebo nějak přes php spouštět script který to resetne...

Díky za rady

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jendа avatar 7.9.2010 19:36 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Restart apache
Odpovědět | | Sbalit | Link | Blokovat | Admin
PHP funkce exec() a syystem() + sudo. A lepší než restart je reload, protože neuřízne aktuální HTTP spojení.
10.9.2010 11:31 caszo
Rozbalit Rozbalit vše Re: Restart apache
a nešlo by prostě nastavit /etc/init.d/apache2 chmod 777 abych nemusel mít v php napsaný sudo heslo?pak by stačilo jen system("/etc/init.d/apache2 reload");

? Díky
10.9.2010 11:36 Erbureth | skóre: 21
Rozbalit Rozbalit vše Re: Restart apache
Nepříliš vhodný nápad.
  • Bylo by třeba, aby ten skript měl nastavený setuid bit a pouštět ho přes "super".
  • Mohl by to pak udělat kdokoli.
10.9.2010 11:39 caszo
Rozbalit Rozbalit vše Re: Restart apache
nenapadá mě jak to udělat přes system() a sudo dohromady...
10.9.2010 11:39 Erbureth | skóre: 21
Rozbalit Rozbalit vše Re: Restart apache
Lepší by bylo změnit jeho skupinu (třeba na "admin"), vlastníka PHP skriptu dát do té skupiny, nastavit /etc/init.d/apache2 setuid bit a pouštět ho přes super.
10.9.2010 11:42 caszo
Rozbalit Rozbalit vše Re: Restart apache
nechápu... co je super? a ten setuid bit?
10.9.2010 11:52 Erbureth | skóre: 21
Rozbalit Rozbalit vše Re: Restart apache
Je to program na vykonání skriptů, které mají nastavený setuid bit, s právy jiného uživatele. Dá se sehnat třeba tady: ftp://ftp.ucolick.org/pub/users/will/

Něco o setuid: http://en.wikipedia.org/wiki/Setuid

(Super je nutný, protože v shell skriptech se tento bit ignoruje.)
Jendа avatar 10.9.2010 16:57 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Restart apache
K čemu heslo?
User_Alias  AAA = jenda
Cmnd_Alias  BBB = /etc/init.d/apache2

AAA     ALL= NOPASSWD : BBB
10.9.2010 12:20 Alf
Rozbalit Rozbalit vše Re: Restart apache
Odpovědět | | Sbalit | Link | Blokovat | Admin
sudo a nastavit pro uživatele, pod kterým běží PHP nopasswd a příkaz jen pro reload.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.