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

Відгуки