Как мне запустить apache в OSX Mountain Lion / Mavericks?


71

OSX Mountain Lion удалил графический интерфейс для общего доступа в Интернет, но apache все еще установлен.

Как мне запустить и остановить сервис? Как заставить сервис автоматически запускаться при запуске?


Это начинается автоматически, по крайней мере, для меня. Просто введите 0.0.0.0, он должен быть там.
Войцех Беднарски

@Lri Нет. Я сделал обновление с 10,7
Войцех Беднарски

Ответы:


79

LaunchDaemon для Apache все еще там, так что все, что вам нужно сделать, это загрузить его:

sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

Это -wделает его постоянным, то есть он будет перезагружен при перезагрузке.


Как вы отключите это, когда это началось таким образом?
Джеймс МакМэхон

9
@JamesMcMahon:sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Гордон Дэвиссон

Хм, что-то еще работает на localhost, я предположил, что это Apache, может быть, у меня что-то еще работает.
Джеймс МакМэхон

@JamesMcMahon: Вы можете использовать, например, sudo lsof -i:80чтобы увидеть, какой процесс прослушивает данный порт. Оттуда, этот предыдущий ответ может помочь вам отследить его ...
Гордон Дэвиссон

35

Терминальные команды

Начало: "sudo apachectl start"

Остановка: "sudo apachectl stop"

Перезапуск: "sudo apachectl restart"

Запуск при запуске

(См. Отмеченный ответ в этой теме)


Существует ли эквивалентный каталог ShutdownItems? У меня нет OSX передо мной ...
Rich Homolka

Раньше был /etc/rc.shutdown.local - не уверен, что это все еще существует ...
slifty

12

sudo apachectl startтакже включает демон launchd. Он переопределяет Disabledключ /System/Library/LaunchDaemons/org.apache.httpd.plist, изменяя /private/var/db/launchd.db/com.apple.launchd/overrides.plist, как launchctl load -w.

Чтобы http://localhost/~username/работать, вы должны создать /etc/apache2/users/username.confи добавить <Directory>директиву, подобную этой:

<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

1
Я нашел здесь действительно отличную рецензию. Также охватывает enblation модуля php. coolestguyplanettech.com/downtown/…
Петер Эрлих

8

Слайфти и Лаури намекают на важную концепцию, не говоря об этом четко.

«sudo apachectl start» не только запустит apache, но также изменит /private/var/db/launchd.db/com.apple.launchd/overrides.plist, так что apache будет автоматически перезагружаться при каждой перезагрузке системы.

Аналогично, «sudo apachectl stop» остановит apache и изменит указанный выше файл так, чтобы apache не запускался при перезагрузке системы.

Это, кажется, самый простой способ контролировать, запускается ли служба автоматически.


3

Для тех, кто ищет GUI, Click On Tyler разработал приложение для панели управления, http://clickontyler.com/blog/2012/02/web-sharing-mountain-lion/

Пример графического интерфейса


Хороший виджет .. однако в моей системе что-то пошло не так и apache не запускается .. :(
Dilip Rajkumar

Тоже самое. Кажется, что это немного неаккуратно - старая добрая путаница с .pid-файлом, я думаю ... zzz
conny

Это круто .. Но устарело, не работает на Йосемити. Как мы можем удалить это из нашей панели настроек?
Эмоциональность

Удалить:~/Library/PreferencePanes
emotality

К сожалению, он больше не доступен или стал частью коммерческого продукта, который можно загрузить только полностью, а не только на панели настроек. Есть альтернативы?
Мотти Шнеор

1

Эта панель настроек содержит ссылки на папку сайта компьютера и на браузер: http://stowlake.com/WebServer


Эта довольно уродливая панель настроек пользовательского интерфейса вылетает сразу же, когда вы пытаетесь запустить веб-сервер на OS-X 10.11 и 10.12. Crash-журналы доступны по вашему запросу;)
Мотти Шнеор
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.