Я думаю, что здесь существует основное недоразумение.
Те пользователи получили бы sudo права на ту учетную запись, и это обычно работает хорошо, за исключением того, что init сценарии в некоторых случаях называют su-c 'start_daemon...' daemonuser, и это снижает эту схему.
Когда init сценарий делает su -c <start_daemon> <daemon_user>
то, что это делает, переключает контекст, под которым работает демон.
например, наши сценарии кота делают точно это так, чтобы демон мог работать с полномочиями пользователя "кота".
Теперь, если Вы идете, изменяя init сценарии, чтобы сделать su -c <start_daemon> <your_user>
Вы ПОВРЕДИТЕ демона, поскольку это ожидает быть выполненным под определенной средой.
Предоставление Ваших пользователей sudo разрешение к тем сценариям, как все остальные уже сказали, является корректным способом дать им способность управлять теми демонами.
Можно использовать-t опцию с httpd
протестировать конфигурацию, не передавая Ваш рабочий экземпляр Apache использованию его. Если будут какие-либо ошибки, то это даст Вам не0 статусов выхода.
Кроме того, если Вы находитесь в подобной Linux среде, которая использует init сценарии, затем /etc/init.d/httpd
(или иногда /etc/init.d/apache2
) будет часто поддерживать 'тестовый' аргумент, т.е. /etc/init.d/httpd test
, который проверит Вашу конфигурацию и скажет Вам, если это будет хорошо или нет.
Когда у Вас действительно есть хорошая конфигурация, можно предупредить, чтобы Apache перезагрузил файл конфигурации, не перезапуская ее- /etc/init.d/httpd reload
обычно. (Если Вы не находитесь в системе с init сценариями, я полагаю, что это - сигнал USER1.), Если Вы не вносите изменения на уровне удаления существующего vhosts или изменения, кто может получить доступ к тому, какие ресурсы, это не должно оказывать влияние на текущие соединения.
В Windows-t опция также доступна (httpd.exe -t
), однако я полагаю, что перезапуск требуется, чтобы загружать новую конфигурацию.
Для Вашей тестовой среды Вы могли бы считать VM в изолированной, частной сети с IP трудно кодированным для соответствия рабочему серверу. Таким образом, Вы можете более тесно соответствовать своей продуктивной среде и не должны волноваться об упущении изменить IP-адрес при перемещении конфигурации в производство. Вы могли настроить второй VM на той же самой частной сети с веб-браузером для тестирования функциональности, также.
Рассматривайте свою конфигурацию как код: используйте инструмент управления конфигурацией как Марионетка, чтобы управлять и развернуть апачскую конфигурацию.
Общий рабочий процесс:
Запишите (или загрузка) Марионеточный модуль для управления Apache, т.е. Пакетом, Сервисом и файлами конфигурации. Настройте свой puppetmaster сервер, чтобы поддерживать две или три среды, сказать разработку, тестирование и производство, и добавить Ваши серверы к их соответствующей среде.
Ваш создавать шаблон из Вашей текущей конфигурации Apache, где значения, которые отличаются между Вашей разработкой, тестовой и продуктивной средой, и между Вашими серверами, заменяются переменными. В зависимости от среды, к которой Марионетка продвигает конфигурацию, переменные будут заменены значениями, которые Вы устанавливаете. Марионетка разработана, чтобы регулярно проверить, находятся ли целевые серверы (узлы) в требуемом состоянии, и в противном случае оно помещает конфигурацию в корректное местоположение и перезагружает Apache.
Таким образом, как Вы перемещаете свой код от тестирования до производства? Используйте программное обеспечение управления версиями для управления Марионеточными модулями. Большинство людей использует ответвления, которые соответствуют средам и продвигают новые версии конфигураций от ответвления до ответвления. Марионетка будет затем видеть, что сервер не соответствует новой конфигурации и обновит ее.
Это может звучать немного сбивающим с толку, если Вы никогда не думали о конфигурации этот путь, но Вы уже отчасти там с Вашим тестовым сервером и рабочим процессом. Вы могли запустить только с руководящего Apache или даже чего-то менее критического, и в конечном счете управлять своей всей конфигурацией сервера с Марионеткой. Марионетка может даже стать Вашей документацией. После того как Вашим всем сервером управляет Марионетка, переустанавливание его или создание другого сервера становятся куском пирога, несколько минут.