Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 2
Сергій Галашин - 09/29/2009
Продовжуємо розповідь про налаштування середовища для CFML-розробника.
В першій частині розповіді ми дізналися як налаштувати Apache 2, PHP 5, Java та ColdFusion 8.
Час переходити до наступного етапу -- встановлення ColdFusion 9 (Centaur).
Хочу зауважити, що налаштування підпорядковані наступному принципові: CF9 поки в беті, тому використовується для експериментів та навчання. Вона не має заважати роботі CF8, хоча й намагатиметься.
Отже, нам знову потрібен буде дистрибутив. З огляду на статус, він поки доступний тільки на Adobe Labs. На момент написання цієї статті у мене вже була beta2, тому я й використвуватиму саме її, хоч і доступна вже більш нова версія.
Робимо такі самі кроки:
chmod +x centaur-beta2-linux.bin
sudo ./centaur-beta2-linux.bin
Хто вже має досвід встановлення CF8(9) може сміливо пропускати наступні пояснення з малюнками.
Першим кроком є вибір типу встановлення, нас цікавить Developer Edition та вид "Server configuration". Я впевнений, що инші три способи теж можливі для вирішення нашої основної задачі, але я вирішив зупинитися саме на першому, бо він мене цілком влаштовує.
Далі потрібно обрати компоненти до встановлення. Я зазвичай обираю все, крім запуску CF на старті системи, бо полюбляю сам контролювати цей процес. До того ж, мій лептоп є й домашньою машиною, тому не завжди й потрібен запущений CF-сервер.
Як вже було сказано відносно CF8, місцем встановлення у мене є /opt, а конкретно /opt/coldfusion9.
Як нормальне ПЗ ColdFusion здогадається, що у нас вже є встановлена попередня версія та запропонує або замінити її (в сенсі конфігурації веб-сервера), або працювати поруч. З огляду на те, що ми вже зробили всі налаштування CF8+Apache2, нам підходить саме перший спосіб. Так само на наступному кроці ми обираємо пункт Add Web Server Configuration:
Далі йдуть налаштування Apache2, характерні для Ubuntu.
Наступний пункт також вже був пояснений: я не бажаю заміняти існуючу CFIDE, тому вказую інший шлях для домашньої теки.
Я надаю перевагу тому, щоб сервер працював з правами мого користувача, щоб запобігти проблемам із записом файлів до моєї домашньої теки. У випадку персонального серверу для розробки це допустимий варіянт, у випадку ж налаштування "бойового" (production) сервера варто бути більш уважним до вибору задля кращої безпеки.
Так як мені жодного разу не знадобилася взаємодія з OpenOffice, я зазвичай відмовляюся від пропозиції інтеграції. За наявності такої потреби треба буде зробити ще якісь налаштування, мабуть.
Нарешті, залишається задати пароль адміністратора та увімкнути RDS (якщо потрібно) та задати йому пароль.
Насамкінець надається можливість переглянути всі введені дані та запустити процес інсталяції. Це займе кільканадцять хвилин.
Перед тим, як приступати до налаштувань Apache, переконаємося, що сервер встановлено коректно та працює. Для цього запустимо CF9:
cd /opt/coldfusion9/bin
sudo ./coldfusion start
Виведення консолі при першому запускові буде десь наступним (крім повідомлення Amarok, що невчасно перемкнув пісню :-) )
Звісно, CF9 встановить себе глобально, тому нахабно влізе на всі віртуальні хости. Головне, щоб <cfdump var="#server#">, покладений до теки будь-якого хосту показував наступне:
Тепер можна спокійно вимкнути CF9 та перейти до налаштувань Apache, котрі майже ідентичні налаштуванням CF8.
Описуємо модуль:
/etc/apache2/mods-available/cf9.load
LoadModule jrun_module /opt/coldfusion9/runtime/lib/wsconfig/1/mod_jrun22.so
Створюємо файл /etc/apache2/cf9connector з рештою конфігурації модуля:
# JRun Settings
<IfModule mod_jrun22.c>
JRunConfig Verbose false
JRunConfig Apialloc false
JRunConfig Ignoresuffixmap false
JRunConfig Serverstore /opt/coldfusion9/runtime/lib/wsconfig/1/jrunserver.store
JRunConfig Bootstrap 127.0.0.1:51800
#JRunConfig Errorurl url <optionally redirect to this URL on errors>
#JRunConfig ProxyRetryInterval 600 <number of seconds to wait before
trying to reconnect to unreachable clustered server>
#JRunConfig ConnectTimeout 15 <number of seconds to wait on a socket connect to a jrun server>
#JRunConfig RecvTimeout 300 <number of seconds to wait on a socket receive to a jrun server>
#JRunConfig SendTimeout 15 <number of seconds to wait on a socket send to a jrun server>
AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr .cfswf
</IfModule>
Залишаємо httpd.conf порожнім.
Підкажемо Apache, що у нас є новий модуль для нього:
sudo a2enmode cf9
Налаштуємо власне віртуальний хост
/etc/apache2/sites-available/localhost.cf9
Вміст його майже ідентичний тому, що вже було показано для CF8:
NameVirtualHost localhost.cf9
<VirtualHost localhost.cf9>
ServerAdmin SetYourEmail@ServerName.tld
ServerName localhost.cf9
DocumentRoot /home/trovich/www/cf9
<Directory /home/trovich/www/cf9/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
allow from all
DirectoryIndex index.cfm
</Directory>
ErrorLog /var/log/apache2/error.localhost.cf9.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.localhost.cf9.log combined
Include cf9connector
</VirtualHost>
Зверніть увагу на змінені шляхи та ім'я файлу конектора.
Нарешті, завершимо операцію командами:
sudo a2ensite localhost.cf9
sudo /etc/init.d/apache2 restart
Насамкінець, пробуємо запустити ColdFusion-сервер та переконатися, що все працює.
Робимо копію скрипта запуску:
sudo /etc/init.d/cf9 [start|stop]
Створюємо http://localhost.cf9/server.cfm з текстом <cfdump var="#server#">, маємо знову побачити знайоме:
У випадку помилок так само звертаємося до журналів Apache, як вже було описано вище.
На даний момент єдиною задачею, котру не можна розв'язати в цій конфігурації, є одночасна робота CF8 та CF9. Вони утилізують модуль з однаковим іменем (jrun_module), що не дозволяє запускати та використовувати їх одночасно при даній конфігурації Apache.
Так чи інакше, тримати два запущених процеси ColdFusion не в моїх правилах, тому конфігурація визнається задовільною.
Запущені ж поодинці вони працюють прекрасно.
Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 1
Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 3