Назад | Перейти на главную страницу

Исходный сценарий перед запуском службы httpd

В старые добрые времена я мог исправить /etc/rc.d/init.d/httpd некоторыми дополнительными строками кода, которые выполнялись при каждом запуске 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
}

источник /path/to/my/script.sh отвечает за установку некоторых переменных среды, необходимых для работы расширения PHP.

В любом случае, после того, как systemd возобладала systemctl, я не могу настроить свою систему на автоматическую загрузку переменных script.sh перед запуском apache. При выполнении вручную:

/usr/sbin/httpd -k stop
source /path/to/my/script.sh
/usr/sbin/httpd -k start

все работает нормально.

Как правильно достичь этого в Fedora 4.0 и подобных системах с помощью диспетчера служб systemd?

Вы должны использовать параметр ExecStartPre в файле конфигурации модуля. Plz, прочтите http://www.freedesktop.org/software/systemd/man/systemd.service.html