Os scripts de inicialização do Solaris são uma dor. O capital-A não importa, existe um script em /etc/rc.d
que encontra todos os arquivos em /etc/rc3.d
que começam com 'S' e os executam em ordem numérica.
Isso deixa você começando do básico:
-
O
/etc/rc3.d/S75Apache2
set é executável? -
Esse script tem um '#!' linha? A linha está correta? bytes não impressos, etc)?
-
Se for um script bash ou ksh, execute-o como
ksh -n /etc/rc3.d/S75Apache2 start
. Isso dirá se há erros de sintaxe. -
Se você puder executar esse script como root, tente:
/etc/rc3.d/S75Apache2 start
e/etc/rc3.d/S75Apache2 stop
Verifique cuidadosamente se iniciahttpd
e párahttpd
. No mínimo, execute o script com os argumentos 'start' e 'stop'. Useset -x
para ver o que o script faz em tempo de execução. Verifique se o que combina corresponde ao que você acredita. -
Leia
/etc/rc3.d/S75Apache2
com cuidado.PATH
é esparsamente preenchido na inicialização, e seu script pode não saber onde alguns executáveis estão no momento da inicialização, mas podem ser executados após a inicialização. Não tente para assumir muito - arquivos podem não existir que você acha que existem, coisas assim. -
Verifique se não existe um script
KnnApache2
em/etc/rc3.d
. Acredito que o Solarisinit
será executado (por exemplo)K76Apache2 stop
quando ele passar do nível de execução 3 para o nível 5. -
Assegure-se de que o script altere o ID do usuário adequadamente. Isso provavelmente não é importante para o Apache, já que seu script provavelmente chama
apachectl start
com alguns comandos de prólogo, mas se você executarhttp
diretamente, certifique-se de que o processohttpd
resultante tenha o ID de usuário correto. Usesudo
ou algo no script para acertar.