Категорія: HOWTO
Серія постів Корфілда про встановлення Railo в Tomcat
В блозі Railo Шон Корфілд нагадав про те, що він ще кілька місяців тому написав серію матеріалів про встановлення Railo в Tomcat.
Добра нагода і для нас зберети ці посилання на майбутнє:
- Part I - Railo Express (з Jetty)
- Part II - Railo Express (з Jetty) - Windows
- Part III - Railo в Tomcat - базове встановлення
- Part IV - Railo в Tomcat з Apache
- Part IV - Appendix - Додаємо mod_rewrite до коктейлю
- Tomcat Tips - Дозвіл на перегляд директорій
- Multi-Web Configuration - Railo в Tomcat з автоматичним розгортанням Railo на нових веб-коренях
- Part V - Увімкнення SES URLs в Tomcat
Довідка з оновлення Railo 3.x
Це покрокове ЯкЦе з оновлення серверу Railo версій 3.x.
Англомовний аналог цього документу знаходиться на сайті getRailo.org: Updating Railo.
Підхід
Зайдіть до адміністратора серверу Railo, за умовчанням він знаходиться за адресою /railo-context/admin/server.cfm
Для доступу необхідно авторизуватися, пароль задається при першому запускові після встановлення.
Читати далі...
Нове розширення Railo: Ram Resource
Railo продовжує перегони з CF9 в плані функціональності, та робить це якісно і ефективно.
Цього разу вони порадували першою інформацією про VFS (віртуальна файлова система). Вона надає базові можливості створення директорій, запису та читання файлів. Також доступна можливість переглянути існуючі ресурси в адмінці контексту.
Треба зауважити цікаву перевагу реалізації VFS, що обмежені тільки поточним контекстом, що корисно задля безпеки. В CF9 є певні проблеми з цим, пов'язані зі спільним доступом до пам'яті, так що навіть рекомендуєтсья вимикати це розширення на shared хостингах.
Тодд Рафферті опублікував докладне ЯкЦе в офіційному блозі Railo, що докладно пояснює як встановити та користуватися цим новим розширенням.
Application.cfc на CFScript
Всі CF-розробники знають про Довідку з Application.cfc від Рея Кемдена, що довгий час є дороговказом для учасників спільноти.
Стів Блейдс зробив аналогічну річ для CF9, написану на чистому CFScript.
Начало работы с MachII+Coldspring
Интересующийся разработчик знает, что для Coldfusion существует стопятьсот фреймворков (навскидку Fusebox, Mach II, Coldbox, FW/1), и в настоящее время без фреймворка начинать разрабатывать просто некошерно. На страницах нашего уютного бложека мы попробуем освещать популярные фреймворки. Для затравочки начну с описания Mach II, с самого начала работы с ней (ним ?).
Начало работы с Mach II взято из этой статьи (via) с небольшими изменениями. Все сводится к этому:
1. скачать и развернуть код собственно Mach II, Dashboard и Coldspring, добавить маппинги в CF Administrator:
- /coldspring
- /MachII
- /MachIIDashboard
Код этих трех я расположил вне корня веб-сервера и настроил маппинги, чтобы все проекты использовали одну версию фреймворка и чтобы Mach II не путался под ногами в корневой папке.
2. Код Skeleton развернуть в корень веб-сервера.
3. В файле /skeleton/config/mach-ii.xml подправить:
а) раскомментировать подключение Coldspring (mach-ii_coldspringProperty.xml) в разделе includes
б) добавить модуль с Dashboard
в) изменить свойство applicationRoot в разделе properties
г) открыть сайт в браузере и радоваться.
Упомянутый в статье баг CF 9 № 78588 починен и MachII полноценно работает под CF9 без всяких "но и если".
Запуск Coldfusion Builder Beta 2 под Linux
Вот здесь по ссылочке есть описание как сделать из своей эклипсы-под-линухой Coldfusion Builder. Остается пожелать чтобы Flex Builder кто так же раскурочил !
Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 3
Продовжуємо розповідь про налаштування середовища для CFML-розробника.
В першій частині ми дізналися як налаштувати Apache 2, PHP 5, Java та ColdFusion 8.
В другій частині ми детально встановлювали та налаштовували ColdFusion 9.
Нарешті, дійшла черга й до мого нового улюбленця: Railo.
Я покладаю великі надії на цей CFML-двигун та вже пробую використати його для нових проектів.
Як заведено, для початку нам знадобиться дистрибутив, а саме стандартна версія Railo Server без JRE для всих ОС.
Скачаний tar.gz треба розпакувати та перемістити в /opt/railo.
Наш Railo насправді вже готовий до роботи, в чому легко переконатися виконавши команду
/opt/railo/bin/httpd.sh start
За кільканадцять секунд можна буде відкрити http://localhost:8600/ (стандартний порт) та побачити вітальне демо:
Так само можна завітати до адміністратора веб-контексту за умовчанням:
Але наша задача дещо ширша, тому вимикаємо Railo-server та переходимо до конфігурування.
Варто зауважити, що в цьому випадку немає проблеми конфлікту з CF, тому домашньою текою для хосту буде взято ту ж саму, що й для CF8.
В ній зберігаються всі мої CFML-проекти та скрипти, тому це буде зручно та виправдано.
Спочатку нам потрібно зібрати модуль Apache.
cd /opt/railo
./configure --with-java-home=/usr/lib/jvm/java-6-sun/ --with-apxs=/usr/bin/apxs2
Зауважу, що ключ java-home не обов'язковий, якщо у вас потрібна версія Java встановлена за умовчанням.
Треба уважно переглянути виведення на предмет повідомлень про помилки, які обов'язково треба виправити до переходу на до наступних команд:
make
sudo make install
В результаті цього ми отримаємо встановлений модуль /usr/lib/apache2/modules/mod_caucho.so
Через це відмінне ім'я (caucho) решта налаштувань теж матимуть його для одноманітності.
У випадку, якщо Railo змінить httpd.conf, його знову-так треба буде почистити аби запобігти дублюванню директив.
Натоміть створити /etc/apache2/cauchoconnector з таким вмістом:
<IfModule mod_caucho.c>
ResinConfigServer localhost 6800
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
</IfModule>
Ініціалізація модуля аналогічна попередникам:
/etc/apache2/mods-available/caucho.load
LoadModule caucho_module /usr/lib/apache2/modules/mod_caucho.so
a2enmode caucho
Створення віртуального хосту теж вже знайоме:
/etc/apache2/sites-available/localhost.railo
NameVirtualHost localhost.railo
<VirtualHost localhost.railo>
ServerAdmin SetYourEmail@ServerName.tld
ServerAlias localhost.railo
ServerName localhost.railo
DocumentRoot /home/trovich/www/cfm
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/trovich/www/cfm/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
allow from all
DirectoryIndex index.cfm index.html index.htm
</Directory>
ErrorLog /var/log/apache2/error.localhost.railo.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.localhost.railo.log combined
Include cauchoconnector
</VirtualHost>
a2ensite localhost.railo
sudo /etc/init.d/apache2 restart
Так само робимо скрипт запуску, текст якого трішки відрізняється:
#! /bin/sh
java=/usr/lib/jvm/java-6-sun/bin/java
script=`/bin/ls -l $0 | awk '{ print $NF; }'`
while test -h "$script"
do
script=`/bin/ls -l $script | awk '{ print $NF; }'`
done
exec $java -jar /opt/railo/lib/resin.jar $*
Зауважу, що за основу тексту цього скрипта було взято оригінальний /opt/railo/bin/httpd.sh
Нарешті, реєструємо віртуальний хост в конфігурації Resin /opt/railo/conf/resin.conf
<host id="localhost.railo" root-directory="/home/trovich/www/cfm">
<web-app id="/" root-directory="/home/trovich/www/cfm/"/>
</host>
Він має знаходитися відразу після кофігурації хосту за умовчанням (<host id="" root-directory=".">).
Також в цьому файлі варто закоментувати блок, що відповідає за логування подій. По-перше, це вже робить для нас Apache, по-друге, він писатиме логи в доступну з вебу теку, що потребуватиме додаткового захисту. Цей блок починається з теґу <access-log ...
Запускаємо Railo:
sudo /etc/init.d/caucho [start|stop]
Якщо все йде добре, маємо бачити вже інакший дамп того самого файлу server.cfm.
http://localhost.railo/server.cfm
Найприємнішим в цій ситуації є факт, що Railo та CF8 можуть працювати одночасно, що дуже допомагає в тестуванні сумісності між ними та портуванні коду.
Сподіваюся, що ця стаття стане у нагоді розробникам та допоможе звертати більше уваги новим технологіям.
Встановлення 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
Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 2
В першій частині розповіді ми дізналися як налаштувати Apache 2, PHP 5, Java та ColdFusion 8.
Час переходити до наступного етапу -- встановлення ColdFusion 9 (Centaur).
Хочу зауважити, що налаштування підпорядковані наступному принципові: CF9 поки в беті, тому використовується для експериментів та навчання. Вона не має заважати роботі CF8, хоча й намагатиметься.
Ця частина містить кільканадцять знимків екрану для наглядності, тому доволі великий повний текст розміщено тільки на сторінці посту »
Читати далі...
Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 1
Як правило, веб-розробники мають потребу в декількох типах середовищ, навіть різних версій одного й того ж додатку.
В цій статті я розповім про те, як я налаштовую свою систему, що в даний момент включає в себе PHP 5, ColdFusion 8, ColdFusion 9 та Railo 3.1. На даний момент моєю основною робочою системою є Xubuntu (9.04), тож інструкції відповідатимуть цій ОС. Відповідно, потрібні деякі мінімальні знання з цієї області, як то навички користування консолею.
Головною нашою задачею є ізоляція різних середовищ одне від одного в рамках єдиної інсталяції Apache 2.
Це перша частина, присвячена налаштуванню Apache 2, PHP 5, Java та ColdFusion 8.
Для початку нам треба визначитися з іменами віртуальних хостів, на яких будуть розташовані середовища. Останнім часом я зупинився на наступній системі йменування хостів, котру ілюструє запис в /etc/hosts
127.0.0.1 localhost localhost.php localhost.cf8 localhost.cf9 localhost.railo
Призначення кожного елементу цілком очевидне.
Першим кроком є встановлення Apache 2 та PHP 5. В Ubuntu це дуже просто, потрібно в консолі виконати команду, подібну до наступної:
sudo apt-get install apache2 apache2-threaded-dev libapache2-mod-php5 build-essential
Решту потрібних модулів встановлюється при потребі. Примітка: останній елемент знадобиться нам пізніше, він не є необхідним для даного етапу.
PHP встановлюється глобально для всього веб-серверу (.php скрипти оброблятимуться і в кожному віртуальному хості), мене це не турбує, тому залишаю як є. На даний момент мені просто треба зробити окремий хост для PHP розробки. Для цього треба створити файл конфігурації хосту:
/etc/apache2/sites-available/localhost.php
Я звик тримати всі робочі файли в домашній теці, тому шлях до файлів розробки є таким:
/home/trovich/www/php
Тоді конфігурація localhost.php буде наступною (це повний текст файлу).
NameVirtualHost localhost.php
<VirtualHost localhost.php>
ServerAdmin SetYourEmail@ServerName.tld
ServerAlias localhost.php
ServerName localhost.php
DocumentRoot /home/trovich/www/php
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/trovich/www/php/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
allow from all
DirectoryIndex index.php index.html index.htm
</Directory>
ErrorLog /var/log/apache2/error.localhost.php.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.localhost.php.log combined
</VirtualHost>
Тепер нам залишається змусити Apache підхопити цей хост та перевірити його. Для цього виконаємо в консолі:
sudo a2ensite localhost.php
sudo /etc/init.d/apache2 restart
Створивши файл /home/trovich/www/php/index.php зі вмістом <?php phpinfo(); ?> можемо протестувати http://localhost.php/
У випадку успіху маємо побачити щось подібне до цієї картинки:
У випадку, якщо з'являються повідомлення про помилку (типовим є статус 500), варто звернутися до журналу Apache, що відповідає даному хостові:
/var/log/apache2/error.localhost.php.log
Я полюбляю спостерігати за змінами використовуючи tail:
tail -f /var/log/apache2/error.localhost.php.log
tail -f /var/log/apache2/access.localhost.php.log
Другий журнал відповідає нормальній роботі хосту та містить повідомлення про всі запити.
Тепер переходимо до головної задачі -- встановлення ColdFusion 8. Головної тому, що вона наразі є моїм основним середовищем розробки, тому всі налаштування орієнтуватимуться саме на її потреби.
Для початку треба отримати дистрибутив ColdFusion, скачавши розробницьку linux-версію з офіційного сайту Adobe.
Після скачування треба надати файлові права на виконання, в моєму випадку це виглядає так:
chmod +x coldfusion-801-lin.bin
Треба відмітити, що Adobe зробили вельми зручний консольний інсталятор для 8-ки (і 9-ки, відповідно), тому негайно переходимо до процесу:
sudo ./coldfusion-801-lin.bin
Виконання з правами рута (root) необхідне через потребу запису файлів в системні директорії.
З огляду на те, що на момент проведення даного експерименту в мене вже була готова інсталяція ColdFusion 8, я не описуватиму її детально, це буде зроблено нижче для ColdFusion 9. На щастя, вони майже ідентичні.
Зауважу лише кілька важливих моментів.
1. Очевидно, що для роботи CF потрібна Java JRE, а для Railo ще й JDK. Встановлення їх теж дуже просте:
sudo apt-get install java6-runtime java6-sdk
2. Зазвичай я встановлюю CF до /opt/coldfusion8.
Шлях для домашньої теки CF у мене історично є /home/trovich/www/cfm, без вказання версії. Там CF8 й розміщує теку CFIDE. Це важливо, бо CF9 матиме іншу домашню теку з власною CFIDE.
3. Встановлення CF та налаштування хостів мають йти поетапно, бо вони обидві переписують стандартний файл конфігурації Apache:
/etc/apache2/httpd.conf
Він нам буде ще потрібен, тому перейдемо до налаштувань віртуального хосту.
По-перше, нам необхідно ізолювати модуль CF8, для цього створимо йому окремий файл конфігурації.
/etc/apache2/mods-available/cf8.load
В цей файл переносимо текст завантаження модуля:
LoadModule jrun_module /opt/coldfusion8/runtime/lib/wsconfig/1/mod_jrun22.so
Далі створюємо файл /etc/apache2/cf8connector (назва може бути інша, головне щоб лежав в теці Apache2) та переносимо в нього решту конфігурації модуля:
<IfModule mod_jrun22.c>
JRunConfig Verbose false
JRunConfig Apialloc false
JRunConfig Ignoresuffixmap false
JRunConfig Serverstore /opt/coldfusion8/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 cf8
Налаштуємо власне віртуальний хост. Для цього створимо файл конфігурації
/etc/apache2/sites-available/localhost.cf8
Вміст його майже ідентичний тому, що вже було показано для PHP:
NameVirtualHost localhost.cf8
<VirtualHost localhost.cf8>
ServerAdmin SetYourEmail@ServerName.tld
ServerName localhost.cf8
DocumentRoot /home/trovich/www/cfm
<Directory /home/trovich/www/cfm/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
allow from all
DirectoryIndex index.cfm
</Directory>
ErrorLog /var/log/apache2/error.localhost.cf8.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.localhost.cf8.log combined
Include cf8connector
</VirtualHost>
Дуже важливою особливістю є виділена жирним директива. Вона підключає наш файл конфігурації модулю саме для цього віртуального хосту.
Нарешті, завершимо операцію командами:
sudo a2ensite localhost.cf8
sudo /etc/init.d/apache2 restart
Перед тим, як перевіряти результати, варто запустити ще й CF. Зазвичай це робиться наступною командою:
sudo /opt/coldfusion8 start (stop для зупинки)
Для зручности я створюю Shell-скрипт для цього діла, що має наступний вміст:
#! /bin/sh
coldfusion=/opt/coldfusion8/bin/coldfusion
script=`/bin/ls -l $0 | awk '{ print $NF; }'`
while test -h "$script"
do
script=`/bin/ls -l $script | awk '{ print $NF; }'`
done
exec $coldfusion $*
Таким чином процедура запуску/зупинки зводиться до канонічного
sudo /etc/init.d/cf8 [start|stop]
Отже, сервер запущено, можна перевірити його дієздатність: http://localhost.cf8/server.cfm з текстом <cfdump var="#server#">. Маємо бачити щось схоже на це:
У випадку помилок так само звертаємося до журналів Apache, як було описано вище.
Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 2
Встановлення PHP 5, CF 8, CF 9 та Railo 3.1 з Apache 2 в Ubuntu - частина 3