Я пытаюсь запустить альтернативную установку Apache httpd (не спрашивайте) на моем Mac. Я могу это сделать, но он работает только до тех пор, пока я вхожу в систему, и мне постоянно приходится набирать

sudo /opt/local/apache2/bin/apachectl -k start

и мне было интересно, есть ли способ настроить службу на моем Mac, поэтому мне не нужно продолжать это делать.

2 ответа2

2

Наилучшим вариантом является использование launchd встроенной замены для cron , init и xinetd . Для этого вам нужно создать XML-документ (в частности, .plist), чтобы определить, что вы хотите сделать. Программа под названием Lingon предоставляет отличный графический интерфейс для этого и установки.

Вы можете сохранить следующий файл как com.example.apache2.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <true/>
    <key>Label</key>
    <string>com.example.apache2</string>
    <key>OnDemand</key>
    <false/>
    <key>ProgramArguments</key>
    <array>
        <string>/opt/local/bin/apache2/bin/apachectl</string>
        <string>-k</string>
        <string>start</string>
    </array>
</dict>
</plist>

Затем вы хотите установить этот .plist в /Library/LaunchDaemons потому что вы хотите, чтобы он запускался при запуске компьютера (в качестве службы). Это можно сделать, скопировав файл в /Library/LaunchDaemons (пользовательские демоны в Lingon) и выполнив команду sudo launchctl load -w /Library/LauchDaemons/com.example.apache2.plist . Затем, когда компьютер запускается, команда запускается. Следует отметить, что демоны запуска в /Library запускаются от имени пользователя root, поэтому вам не нужен sudo.

Для получения дополнительной информации о launchd, посмотрите справочную страницу, man-страницу для launchd.plist, Начало работы с launchd, или вы можете выполнить поиск здесь на Super User, так как уже есть несколько вопросов о launchd.

0

Правильный способ сделать это будет через launchd.

http://developer.apple.com/macosx/launchd.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .