Разрешения пользователя Apache OSX 10.10

Я заметил, что в OSX Apache нельзя запустить, если он не sudoed.

В настоящее время на моей машине он всегда запускается с правами root, и я хотел бы, чтобы конкретный пользователь имел права запускать его, но не знаю, как этого добиться.

Может кто-нибудь помочь мне в этом, пожалуйста?


person AKFourSeven    schedule 23.01.2015    source источник
comment
Это может быть связано с тем, что порт 80 (порт HTTP по умолчанию) находится в защищенном диапазоне ‹ 1024; см. этот ответ на UNIX Stack Exchange для получения дополнительной информации по этой теме. Попробуйте запустить его на другом порту, например 8080 — если это решит вашу проблему, я удалю этот комментарий и вместо этого опубликую его как ответ, чтобы его можно было принять.   -  person GoBusto    schedule 23.01.2015
comment
Я пробовал это раньше, но поскольку порт 80 требовался от другого приложения, это было невозможно, но все равно спасибо, это может работать для всех, кому не требуется порт 80 для чего-либо еще.   -  person AKFourSeven    schedule 23.01.2015


Ответы (2)


Предполагая, что ваш веб-сервер уже настроен, вы используете apachectl из командной строки, а вашего пользователя зовут Питер, вы можете отредактировать файл sudoers, чтобы позволить Питеру запускать apachectl от имени пользователя root.

Для этого запустите sudo visudo и добавьте в файл эту строку:

peter ALL = (root) NOPASSWD: /usr/bin/apachectl -k start

Если Питеру нужно разрешить останавливаться, перезапустить и перезагрузить тоже:

peter ALL = (root) NOPASSWD: /usr/bin/apachectl -k start, /usr/bin/apachectl -k stop, /usr/bin/apachectl -k restart, /usr/bin/apachectl -k reload
person Siguza    schedule 23.01.2015
comment
Это помогло, спасибо, и закрытие Spotify, который по неясным причинам использовал некоторые из портов разработки. Спасибо :-) - person AKFourSeven; 23.01.2015

Начиная с OSX 10.8, требуется больше ручных действий: Запустить веб-сервер Apache в MacOS X

person JavaJigs    schedule 23.01.2015