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/S75Apache2set é 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 starte/etc/rc3.d/S75Apache2 stopVerifique cuidadosamente se iniciahttpde párahttpd. No mínimo, execute o script com os argumentos 'start' e 'stop'. Useset -xpara 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/S75Apache2com 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
KnnApache2em/etc/rc3.d. Acredito que o Solarisinitserá executado (por exemplo)K76Apache2 stopquando 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 startcom alguns comandos de prólogo, mas se você executarhttpdiretamente, certifique-se de que o processohttpdresultante tenha o ID de usuário correto. Usesudoou algo no script para acertar.