Instalei o Apache 2 da fonte na minha caixa Linux. apachectl -k start
funciona muito bem, mas como faço para que o Apache inicie no momento da inicialização?
Isso está em uma distribuição do Red Hat Linux:
Linux <hostname> 2.6.9-55.ELsmp # 1 SMP sex 20 de abril 17:03:35 EDT 2007 i686 i686 i386 GNU / Linux
linux
apache-2.2
startup
entristecer
fonte
fonte
Respostas:
Você deseja adicionar seu script de inicialização ao nível de execução apropriado. O script init normalmente é
/etc/init.d/apache2
onde você pode executar manualmente/etc/init.d/apache2 start
para iniciá-lo.No Gentoo, você escreveria:
No Ubuntu / Debian, isso funciona:
No Red Hat Linux / Fedora / CentOS, um pouco de pesquisa mostra isso:
Isso varia um pouco de distribuição para distribuição, mas a ideia geralmente é a mesma. Basicamente, todos esses comandos fazem um link simbólico da
/etc/init.d/
pasta em nível de execução apropriada/etc/
.fonte
Aqui está o que finalmente funcionou para mim. Isso pressupõe que você é o usuário root.
Conteúdo de /etc/init.d/apache2:
Você pode obter o nível de execução executando / sbin / runlevel, que no meu caso era 3. E é claro que você precisa chamar sua versão do apachectl, que no meu caso foi / usr / local / apache2 / bin / apachectl
Graças ao seguinte:
fonte
Verifique se você possui o
httpd
script init no/etc/rc.d
diretório Se sim, você pode simplesmente executar o seguinte comando que permite que o serviço httpd seja iniciado no momento da inicialização.Se você não possui o script init, basta anexar o
/etc/rc.local
arquivo comapachectl -k start
(o comando para iniciar o Apache).fonte
Como você instalou pela fonte, não haverá um script init instalado no diretório /etc/init.d/. O binário apachectl foi projetado para ser compatível com as opções padrão de script init, assim você pode simplesmente fazer um link simbólico para ele em vez de criar um script wrapper (por exemplo, ln -s / usr / local / sbin / apachectl /etc/init.d/ apache)
Você pode seguir os procedimentos descritos nas outras postagens para adicionar links para chamar o script init nos níveis de execução corretos.
Citação: Apache Documentation http://httpd.apache.org/docs/2.2/invoking.html
fonte
chkconfig --levels 345 httpd
iniciará o httpd nos níveis de execução 3,4,5.
O chkconfig --list mostrará todos os serviços e seus níveis de execução atuais de inicialização. 345 é típico para um serviço de rede.
fonte
No Red Hat Linux, existe um utilitário útil chamado ntsysv, que permite selecionar quais serviços você deseja iniciar no seu nível de execução atual. Você chama também especifica qual nível de execução você deseja editar ao iniciar o utilitário
--level
.Role para baixo até httpd e pressione Spacepara que uma estrela apareça na caixa à esquerda. Então Tabpara OK. Pressione Returnpara salvar e retornar ao shell.
Eu descobri que ele instala praticamente por padrão. Eu nunca estive em uma posição em que não foi instalado.
Você precisaria instalar o serviço primeiro, copiando o script de serviço para /etc/init.d e executando:
fonte
Depende do seu sabor do Linux. Supondo que o arquivo /etc/init.d/apache2 tenha sido criado, tente:
ou
Um deles deve funcionar.
fonte