2009-05-24 7 views
0

Я работаю над своей ОС X с установкой по умолчанию Apache. По какой-то причине, когда я запускаю команду «apachectl» без «sudo», я получаю «отсутствие прослушивающих сокетов, доступных/неспособных открывать журналы». Я предполагаю, что это разрешающая вещь, так может кто-то помочь мне? Я использую Apache 2.2.Почему запуск «apachectl -k start» не работает, но «sudo apachectl -k start» делает?

Кроме того, вопрос стороны, где файл сценария Apache, который в основном является «exe», который выполняет linux? Я пытаюсь связать мой сервер с Aptana Studio, и для этого требуется путь к установке Apache. Я знаю, что в Windows это будет «C: \ path \ to \ httpd.exe», но я не знаю, как это работает в Linux.

ответ

6

Ваш сервер прослушивает порт 80? (Обычно) только root разрешено открывать порты ниже 1024. Следовательно, необходимо, чтобы sudo.

Как вы, can see, многие люди задаются вопросом, как обойти это. Одним из возможных решений является выполнение переадресации портов на вашем маршрутизаторе. (Я предполагаю, что вы находитесь за маршрутизатором ...). Затем входящие соединения на порту 80 могут быть перенаправлены, например. порт 8080. Таким образом, только локально нужно подключиться к порту 8080. (Может быть, более элегантные решения ... кто-то еще опубликует их.)

+0

интересно, так что лучший способ обойти это? Мне не нравится набирать localhost: 8080, но это лучшая альтернатива, чем попытка предоставить разрешение моей учетной записи для открытия порта 80? похоже, что это будет распространенной проблемой, просто интересно, как люди работают вокруг нее. – Bialecki

0

Я думаю, что вообще (на OS X и Linux - я не уверен, какой из них вы ссылаетесь), httpd binary находится по адресу:/usr/sbin/httpd

Если вам нужно перезапустить Apache, и вы не можете сделать это как root (по какой-либо причине ..), тогда вам, возможно, придется согласиться на не «хорошо известный» порт.

0

попробовать это

(с PHP) $ а = shell_exec ('Судо -u корневые -S /etc/init.d/apache2 перезапустить </дом/$ USER/passfile');

пароль должен храниться в passfile

+0

Я не уверен в этом – Rinu