2015-01-04 5 views
2

Я запускаю последнюю версию Apple OS X 10.10 (.1) Yosemite и последнюю версию Adobe Coldfusion 11. Все работает нормально, но сервер не запускается автоматически при запуске. Я могу зайти в Терминал и использовать:Автоматический запуск Adobe Coldfusion в OS X

cd /Applications/ColdFusion11/cfusion/bin 
sudo ./coldfusion start 

Однако сервер по умолчанию не включен. Как настроить его так, чтобы он запускался при каждом запуске компьютера?

+0

Престижность к вам за то, что у вас возникла проблема, ее решение и приведение ответа для кого-либо еще. –

ответ

8

Это та же проблема, что и MySQL. Если вы идете:

/Library/StartupItems 

Вы увидите, что оба ColdFusion и MySQL (если он установлен) создали элементы автозагрузки - однако эта функциональность была устаревшей Яблоком (см Mac Developer Library: Startup Items), так что услуги не запуска автоматически по желанию. Предпочтительный метод - использование демонов запуска.

Для этого необходимо создать XML/текстовый файл следующим образом:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Label</key> 
    <string>com.coldfusion.startup</string> 
    <key>Disabled</key> 
    <false/> 
    <key>OnDemand</key> 
    <true/> 
    <key>RunAtLoad</key> 
    <true/> 
    <key>UserName</key> 
    <string>root</string> 
    <key>AbandonProcessGroup</key> 
    <true/> 
    <key>ProgramArguments</key> 
    <array> 
     <string>/Applications/ColdFusion11/cfusion/bin/coldfusion</string> 
     <string>start</string> 
    </array> 
    <key>ProcessType</key> 
    <string>Background</string> 
</dict> 
</plist> 

Заменить «корень» с действительным администратора UserName. Этот файл затем должен быть сохранен в следующем каталоге, я использовал имя файла «com.coldfusion.startup.plist»:

/Library/LaunchDaemons 

Система может попросить свой пароль, чтобы сохранить файл здесь, если вы используете Finder для этого.

Теперь, используя терминал, вы должны установить соответствующие права доступа для созданного вами нового файла, чтобы он работал правильно при запуске. Используйте следующие 3 команды:

sudo chown root /Library/LaunchDaemons/com.coldfusion.startup.plist 
sudo chgrp wheel /Library/LaunchDaemons/com.coldfusion.startup.plist 
sudo chmod 644 /Library/LaunchDaemons/com.coldfusion.startup.plist 

Наконец, вы должны запустить новый LaunchDaemon один раз, чтобы зарегистрировать его и убедиться, что он работает при запуске в дальнейшем:

sudo launchctl load /Library/LaunchDaemons/com.coldfusion.startup.plist 

Теперь, если вы перезагрузите систему ColdFusion должен работать автоматически. Отлично. Я кусочкам это вместе с парой статей, перечисленных ниже:

Autostart MySQL Server on Mac OS X Yosemite

Autostart ColdFusion in OS X Yosemite

CF-Launch Daemon является лишь незначительно изменен, чтобы работать с CF11 и т.д. Если вы используете более простой Запуск демона это Безразлично» т работы. Вам также нужны разрешения от вопроса MySQL - так спасибо авторам.

+0

не повезло :(мой mysql отлично работает с похожим файлом, но cf не запускается :( –

+0

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

-1

Попробуйте это: запустите службу ColdFusion 11, используя эту команду, а затем перезагрузите Mac.

sudo ./coldfusion start 
+0

Извините, мой главный вопрос должен был сказать «sudo» - он уже пробовал это, но не имеет значения - отредактирует вопрос. Команда запуска coldfusion работает просто отлично - сервер работает нормально - проблема в том, что он не делает это автоматически, когда машина сначала запускается - это скорее раздражение, чем что-либо. –

1

Я не привилегии пока комментировать Ответ Accepted от Henry Gibson, но я хотел бы добавить некоторые вещи, которые я нашел очень полезным:

  1. Я установил ColdFusion под root пользователя, так это был единственный счет, который будет работать на UserName
  2. единственный способ я нашел это было добавить следующие пары ключей к plist файла:

    <key>StandardOutPath</key> 
    <string>/var/log/coldfusion.startup.daemon.log</string> 
    <key>StandardErrorPath</key> 
    <string>/var/log/coldfusion.startup.daemon.log</string> 
    <key>Debug</key> 
    <true/> 
    

Я нашел эти ключи здесь на Apple Mac Dev Library Daemons and Services Programming Guide.

Надеюсь, это поможет bia.migueis!