Řešení 1:
Chcete přidat jeho init skript do příslušné úrovně spuštění. Skript init je obvykle /etc/init.d/apache2
kde můžete ručně spustit /etc/init.d/apache2 start
pro spuštění.
Na Gentoo byste napsali:
rc-update add apache2 default
Na Ubuntu/Debianu to funguje:
sudo update-rc.d apache2 defaults
Na Red Hat Linux/Fedora/CentOS malé googlování ukazuje toto:
chkconfig --add httpd
Distribuce od distribuce se trochu liší, ale myšlenka je obvykle stejná. V podstatě všechny tyto příkazy vytvářejí symbolický odkaz z /etc/init.d/
do příslušné složky na úrovni běhu v /etc/
.
Řešení 2:
Tady je to, co se mi nakonec povedlo. To předpokládá, že jste uživatel root.
- vi /etc/init.d/apache2 (upravte jej, jak je uvedeno níže)
- chmod 755 /etc/init.d/apache2
- chkconfig --add apache2
- chkconfig --list apache2 (pro ověření, že to fungovalo)
Obsah /etc/init.d/apache2:
#!/bin/bash # # apache2 Startup script for the Apache HTTP Server # # chkconfig: 3 85 15 # description: Apache is a World Wide Web server. It is used to serve \ # HTML files and CGI. /usr/local/apache2/bin/apachectl [email protected]
Runlevel můžete získat spuštěním /sbin/runlevel, což v mém případě bylo 3. A samozřejmě musíte zavolat svou verzi apachectl, což v mém případě bylo /usr/local/apache2/bin/apachectl
Díky následujícímu:
- Odpověď od Evana Terana +1 pro pomoc
- Odpověď od Russella Heillinga + 1 za pomoc
- man chkconfig
- Tento odkaz ze systému sysdigg, který obsahoval informace o úrovni běhu.
Řešení 3:
Zkontrolujte, zda máte httpd
init skript v /etc/rc.d
adresář. Pokud ano, stačí spustit následující příkaz, který povolí httpd spuštění služby při spouštění.
chkconfig --level 345 httpd on
Pokud nemáte init skript, stačí připojit /etc/rc.local
soubor s apachectl -k start
(příkaz pro spuštění Apache).
Řešení 4:
Protože jste nainstalovali podle zdroje, v adresáři /etc/init.d/ nebude nainstalován init skript. Binární soubor apachectl je navržen tak, aby byl kompatibilní se standardními možnostmi init skriptu, takže na něj možná budete moci jednoduše vytvořit symbolický odkaz namísto vytváření obalového skriptu (např. ln -s /usr/local/sbin/apachectl /etc/init.d/ apache)
Poté můžete postupovat podle postupů uvedených v ostatních příspěvcích pro přidávání odkazů pro vyvolání init skriptu na správných úrovních běhu.
Citace:Dokumentace Apache http://httpd.apache.org/docs/2.2/invoking.html
Počínaje časem spouštění
Pokud chcete, aby váš server běžel i po restartu systému, měli byste do spouštěcích souborů systému přidat volání apachectl (obvykle rc.local nebo soubor v adresáři rc.N). Tím se spustí Apache jako root. Než to uděláte, ujistěte se, že váš server je správně nakonfigurován pro zabezpečení a omezení přístupu.
Skript apachectl je navržen tak, aby fungoval jako standardní iniciační skript SysV; může vzít argumenty start, restart a stop a převést je do příslušných signálů do httpd. Často tedy můžete jednoduše propojit apachectl do příslušného init adresáře. Nezapomeňte však zkontrolovat přesné požadavky vašeho systému.