Категорія: Apache

 

Быстрое начало работы с Railo/Tomcat и Apache HTTPD

После переустановки системы возникла необходимость быстро вернуться в рабочую обстановку, для чего нужен был Railo с Apache или nginx. Небольшая шпаргалка по быстрой настройке.

0. Без веб-сервера

По умолчанию Railo слушает веб-запросы на порту 8888 - если обратиться прямо туда, можно работать и без веб-сервера Apache.

1. Классический путь через mod_jk

Установить Apache 2.4 c бинарников Apache Lounge и установить mod_jk для него.

2. Форвард на AJP

Можно обойтись без модуля mod_jk, и использовать mod_rewrite для перенаправления запроса на Railo

2.1 Форвард на веб-сервер

Можно форварднуть не на AJP порт, а прямо на порт веб-сервера

3. Использование Railo с nginx

Для сильных духом есть возможность использование nginx для обслуживания статики и форварда cfm запросов на Railo. Настраивается просто, работает как часы:

Автор: Родион Быков | Опубліковано: 10.11.2015 о 18:26 | Категорії: Apache - Railo - Tomcat -

 

Coldfusion 9 и проблема с Apache Virtualhost

После "чистой" установки Coldfusion 9 возникла странная проблема. Виртуальные хосты Apache 2.2 не работали, и документы *.cfm отдавались только по прямой ссылке в текстовом виде. То есть казалось, что проблемы две - неработающая Coldfusion и неработающие хосты. Однако, оказалось что инсталлятор не добавил handler, и обе проблемы решились одновременно, исправлением httpd.conf - в строчке AddHandler надо добавить .cfm и .cfc

# JRun Settings
LoadModule jrun_module "C:/ColdFusion9/runtime/lib/wsconfig/2/mod_jrun22.so"
<IfModule mod_jrun22.c>
    JRunConfig Verbose false
    JRunConfig Apialloc false
    JRunConfig Ignoresuffixmap false
    JRunConfig Serverstore "C:/ColdFusion9/runtime/lib/wsconfig/2/jrunserver.store"
    JRunConfig Bootstrap 127.0.0.1:51800
    AddHandler jrun-handler .jsp .jws .cfm .cfc
</IfModule>

Не забыть про DirectoryIndex:

<IfModule dir_module>
     DirectoryIndex index.cfm index.html index.htm
</IfModule>

Виртуал хосты соответственно:

NameVirtualHost *:80
<VirtualHost *:80>
   DocumentRoot "C:/inetpub/wwwroot/domain1"
   ServerName domain1
</VirtualHost>
<VirtualHost *:80>
   DocumentRoot "C:/inetpub/wwwroot/domain2"
   ServerName domain2
</VirtualHost>

Автор: Родион Быков | Опубліковано: 21.05.2010 о 12:52 | Категорії: ColdFusion 9 - Apache - Gotchas -

 

Установка Railo на Windows с использованием Apache

Установка Railo Server очень проста, может, даже проста настолько, что нет смысла описывать ее. Еще проще было бы развернуть Express-версию (без инсталляции). Все же как небольшая памятка:

  • скачать Railo Server;
  • запустить инсталлятор и установить Railo в папку C:\Railo (с папкой Program Files могут быть трудности) - в результате получим Railo и сервер, работающий на порту 8600;
  • как написано в этом посте, добавить в конфигурацию Apache такие строки, чтобы Railo обслуживал файлы CFM из апачного htdocs:
LoadModule caucho_module C:/Railo/win32/apache-2.2/mod_caucho.dll

<IfModule mod_caucho.c>
    ResinConfigServer localhost 6800
    CauchoConfigCacheDirectory C:/Railo/tmp
    CauchoStatus yes
</IfModule>

UPDATE: как сказано в этом документе (PDF), нужно еще поднастроить Railo: в файле C:\Railo\conf\resin.conf изменить путь к корню (web-root):

<host id="" root-directory=".">
    <web-app id="/" root-directory="C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" />
...

После чего надо перегрузить Apache и have fun !

Автор: Родион Быков | Опубліковано: 29.12.2009 о 17:59 | Категорії: Apache - Windows - Railo -

 

Серія постів Корфілда про встановлення 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

 

Автор: Сергій Галашин | Опубліковано: 02.12.2009 о 06:04 | Категорії: Apache - Railo - Links - Tomcat - HOWTO -

 

Новини CF-OpenSource v6

Нові продукти та оновлення

CFML Admin API

Система для програмного керування налаштуваннями CF сервера, такими як датасорси, мапінги, шляхи до кастом теґів. Підтримуються Adobe ColdFusion 7/8/9 Railo 3.1, OpenBD 1.1

cfUpdater - Manager for ColdFusion Updates

Компонента для спрощення процесу оновлення Adobe ColdFusion версій 7/8/9

CFGoogleTrends

Конвертація Google Trends RSS в CFML масив.

trac-cfc

Рання альфа компоненти для взаємодії CF з Trac (популярною системою баґтрекінгу з wiki).

CFShell

Клієнт на Python + CFML скрипти, що дозволяють інтерактивно виконувати CFML код в консолі. Дещо сумнівна щодо практичної користі, але цікава розробка.

wp2blogcfc

Утиліта для міграції блогу з Wordpress на BlogCFC.

sosFactory

Проста в користуванні (як запевняють розробники) реалізація Factory (автоматизоване створення об'єктів) для CFML.

ColdFusion - Yahoo Maps

Інтеграція Yahoo Maps в CF додатки, написана одним з членів команди Adobe ColdFusion.

Debug To File

Можливість записувати debug output до файлів - якщо він потрібен, але показувати його небажано, фактично розширення наявної (і доволі кострубатої) системи журналювання.

ORMBootStrap

Невеличкий фреймворк для пришвидшення розробки додатків з ORM.

Spellify for Coldfusion V1.0

Реалізація додатку для перевірки правопису в textarea на CFML.

Різні новини зі світу OSS

ColdFusion on Rails is almost here

Кріс Пітерс повідомив про те, що реліз 1.0 CF on Wheels вже близько.

Ant4CF Mailing List Created

Створено Гугл-групу для Ant4CF.

ColdBox 3.0.0 Beta 2 Released!

Популярний фреймворк наближається до релізу. Що нового третій версіі можна дізнатися з wiki проекту.

Автор: Сергій Галашин | Опубліковано: 26.10.2009 о 09:09 | Категорії: Apache - ColdFusion 8 - ColdFusion 9 - Components - Frameworks - IIS - Links - OpenSource - Python - Railo - RIAForge -

 

Убезпечення контексту Railo з IIS та Apache

Джеймс Аллен (James Allen) наводить поради як закрити Railo Administrator від небажаного доступу, пропонуючи зробити це засобами IIS.

Натомість Піт Фрейтаґ (Pete Freitag) рекомендує закрити увесь railo-context засобами Apache. Треба зауважити, що це актуально у тому випадку, якщо не використовуються cfform, cfchart та інші речі, котрі потребують вільного доступу до контексту.

 

Автор: Сергій Галашин | Опубліковано: 25.10.2009 о 16:23 | Категорії: Apache - IIS - Railo - Security -

 

Встановлення 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/ (стандартний порт) та побачити вітальне демо:

13-demo.png

Так само можна завітати до адміністратора веб-контексту за умовчанням:

14-default-context-admin.png

 

Але наша задача дещо ширша, тому вимикаємо 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

15-railo-dump.png

 

Найприємнішим в цій ситуації є факт, що 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

Автор: Сергій Галашин | Опубліковано: 29.09.2009 о 10:07 | Категорії: Apache - ColdFusion 8 - ColdFusion 9 - HOWTO - PHP - Railo -

 

Встановлення 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, хоча й намагатиметься.

 

Ця частина містить кільканадцять знимків екрану для наглядності, тому доволі великий повний текст розміщено тільки на сторінці посту »


Читати далі...
Автор: Сергій Галашин | Опубліковано: 29.09.2009 о 10:04 | Категорії: Apache - ColdFusion 8 - ColdFusion 9 - HOWTO - PHP - Railo -

 

Встановлення 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/

У випадку успіху маємо побачити щось подібне до цієї картинки:

cf-install-00-phpinfo.png

У випадку, якщо з'являються повідомлення про помилку (типовим є статус 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#">. Маємо бачити щось схоже на це:

00-cf8dump.png

У випадку помилок так само звертаємося до журналів 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

Автор: Сергій Галашин | Опубліковано: 29.09.2009 о 09:46 | Категорії: Apache - ColdFusion 8 - ColdFusion 9 - HOWTO - PHP - Railo -