Você deve usar a opção ExecStartPre no arquivo de configuração da unidade. Plz, leia link
De volta aos bons tempos, eu consegui fazer o patch de /etc/rc.d/init.d/httpd com algumas linhas adicionais de código que eram executadas em todos os começos do apache:
start() {
echo "Setting variables..."
source /path/to/my/script.sh
echo -n $"Starting $prog: "
check13 || exit 1
LANG=$HTTPD_LANG daemon $httpd $OPTIONS
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}
fonte /path/to/my/script.sh é responsável por configurar algumas variáveis de ambiente necessárias para que uma extensão PHP funcione.
De qualquer forma, depois do systemd, o systemctl prevaleceu. Não consigo configurar meu sistema para carregar automaticamente variáveis script.sh antes do início do apache. Ao executar manualmente:
/usr/sbin/httpd -k stop
source /path/to/my/script.sh
/usr/sbin/httpd -k start
tudo funciona bem.
Qual é a maneira correta de conseguir isso no Fedora 4.0 e sistemas similares usando o gerenciador de serviços systemd?
Você deve usar a opção ExecStartPre no arquivo de configuração da unidade. Plz, leia link