Категорія: ColdFusion 9
Доклад на FPUG #20 - Coldfusion+Flex
Наша юзер-группа в лице меня выступила на 20й встрече украинской группы пользователей Flash Platform в Киеве 10 июля 2010 года. Были и полезные доклады и живое общение и даже небольшой конец света (спонсор - погода в г.Киеве). От встречи осталась масса положительных эмоций, спасибо всем кто был к этому причастен.
Тема доклада - знакомство с Coldfusion и основы работы с Coldfusion-сервером из Flex-приложения. Слайды, описание и код демки - внутри.
Читати далі...
Помилка в Transfer 1.1 при роботі з ACF9 та Railo 3.1.2.0xx
Після оновлення Railo (до bleeding edge) перестали працювати get-методи для неіснуючих первинних ключів. Раніше в такому випадку просто вертався новий bean, що було зручно використовувати для створення нових об’єктів, наприклад таким чином:
<cfset beanContact = variables.transfer.get("cnt.Contact", 0) />
<cfdump var="#beanContact.getMemento()#" label="beanContact" />
Натомість почало вилітати виключення виду:
transfer.EmptyQueryException -- It is likely the ID that has been selected for this query no longer exists
Виявилося, що така сама проблема виникла спочатку з CF9, а Railo пізніше "наздогнали".
На щастя, розробник Transfer оперативно її виправив. Тож ті, кому горить, можуть вже зараз витягти останню версію з SVN, решта можуть дочекатися випуску 1.1.1, що нібито вже не за горами.
Треба зауважити, що завдяки заздалегідь спланованому використанню маппінґів, переключення до іншої версії та позбавлення від проблеми були легкими як ніколи.
Новини Adobe ColdFusion - 06.2010
На останній конференції SOTR з’явилася інформація про деякі плановані оновлення в ACF 9.0.1. Серед найбільш цікавих: множинні ORM джерела даних, HQL з cfquery та підтримка Amazon S3. Не кажучи вже про більш як півтисячі виправлень.
Було випущено офіційний посібник з безпеки ColdFusion Lockdown Guide (PDF).
Вийшли друком перша та друга частини головної книги CFML-програміста: Adobe ColdFusion 9 Web Application Construction Kit. Вже можна знайти на Амазоні.
Випущено оновлення безпеки для ACF 8.0, 8.0.1 та 9.0 та всіх ОС, що виправляє ряд серйозних вразливостей. Більше деталей в офіційному бюлетені APSB10-11.
На завершення можна згадати про гарний холівар, ініційований Террі Райяном, в якому з ентузіазмом взяли участь чимало провідних учасників спільноти. Насолоджуйтесь :)
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>
Fail при скачивании файла с помощью CFContent
С помощью Coldfusion очень легко организовать файловое хранилище с функцией поиска. Coldfusion без труда может проиндексировать PDF и другие документы с помощью Verity или Solr, может поработать с картинками с помощью CFImage и покопаться в метаданных, может даже вытащить теги из MP3 записей. Однако, проблема может ждать там где не ожидаешь - Coldfusion пасует при скачивании больших файлов (больше 1ГБ).
Организовать процесс скачивания файла, да еще спрятать настоящее размещение (название) файла можно двумя строчками:
<cfheader name="Content-Disposition" value="attachment; filename="someothername.avi" />
<cfcontent file="c:/somefile.avi" />
Однако, этот простейший код оказывается весьма прожорливым, когда речь идет о скачивании больших файлов. При скачивании 100МБ файлов никаких трудностей не возникло. При этом, вместо ожиданного видео-файла размером 1ГБ, я смотрел на "Ошибку 500, сервис недоступен". Coldfusion занимал в памяти около 450МБ в состоянии покоя. График потребление памяти таков:
Попробовал перегрузить сервис, в надежде что он освободит немного памяти, но безрезультатно:
Потом немного прибавил памяти виртуальной Java-машине, с 512МБ по-умолчанию до 768МБ. Не помогло.
Тестировалось на первом официальном релизе Coldfusion 9.0.0.251028, под Windows Vista, на компьютере с 2-ядерным процессором и 2ГБ оперативки. Тестировалось на J2EE инсталляции Coldfusion + Glassfish, а также на чистом обычном Coldfusion (JRun). В качестве веб-сервера выступали и IIS и Apache.
Решения проблемы скачивания 1ГБ файлов у меня пока нет. Могу сказать одно - Railo 3.1 установленный на Tomcat 6 справился с задачей на отлично - при этом потребление памяти выросло с 37 до 42 МБ...
Огляд швидкодії ColdFusion 9 від Adobe
Adobe опублікувала звіт про ColdFusion 9, в якому розкрила переваги в швидкодії перед версіями 7 (визначено загальний приріст у 500%) та 8 (40%).
Найбільш помітні покращення відносно CF8 включають:
- Ініціалізація та виклик методів CFC, відповідно 700% та 200%.
- Flash Remoting - покращення на 800%.
- Гігантський приріст у роботі CreateUUID, що складає 10000%.
- На 100% покращено швидкодію конектора для IIS.
- На 35% покращено швидкодію функцій для роботи з датами.
Про все це докладніше, та ще й з гарними графіками можна дізнатися з документу ColdFusion 9 Performance Brief (pdf).
Новини CF-OpenSource v15
Оновлення продуктів та додатків
SeleniumMX - A Selenium + MxUnit Framework
Вельми перспективний проект, що об'єднує в собі два фреймворки для тестування.
Допоміжний випуск фреймворку, що слідує за нещодавним 1.8.
cfUniForm v.4.0 - Leaner, Meaner, More Features - Just Plain Ol' Better
Нова версія фреймворку для побудови форм.
Новий convention-based фреймворк для CF9, що використовує можливості Hibernate.
Компонента для обчислення розмірів flash-роліку.
Компонента для взаємодії з API сервісу для розміщення малюнків.
ValidateThis CFWheels Plugin 0.5
Додаток до CFWheels, що дозволяє використовувати на сайті ValidateThis, фреймворк для валідації форм.
Rhea: Rackspace Cloud API 0.99
Втілення взаємодії з API хостингу Rackspace Cloud.
Модуль, що дозволяє програмно керувати включенням JavaScript та CSS до сторінок сайту, в тому числі з мінімізацією.
bit.ly URL Service API CFC 1.0
Втілення взаємодії з API Bit.ly, сервісу скорочення посилань.
Втілення взаємодії з API Eventbrite, сервісу для організації подій.
ColdFusion File Manager 1.0 alpha 3
Файловий менеджер з GUI на Ajax.
Оголошення про випуск оновлення популярного блогу.
Різні оновлення та повідомлення
Code coverage & cyclomatic complexity calculations coming to ColdFusion
Обговорення системи для тестування Chimera.
Framework One Sample Application - QBall
Приклад розробки на FW/1 від Рея Кемдена.
Do you want to see this in LightWire?
Пітер Белл запитує про доцільність додавання деяких нових можливостей до LightWire.
Ще один опис першого досвіду роботи з FW/1.
Опис досвіду розгортання Mango з Oracle в якості СУБД.
Content Management and the Splash CMS — Introduction
Огляд Splash CMS, побудованої на базі CFWheels.
Новини CF-OpenSource v14
Оновлення продуктів та додатків
Model Glue 3.1 Release Candidate
New Official Release - Model-Glue 3.1
Вийшов новий випуск популярного фреймворку. Він містить чималу кількість виправлень та покращень, повний список яких можна переглянути за першим посиланням.
Марк Мендел робить короткий огляд планів щодо першого повноцінного релізу його системи для автоматизації документування.
Додаток, що замінює редактор на Markdown в Mango Blog.
Втілення підсвітки синтаксису з prettify.js для Mango.
Позиціонується як проект для управління процесом розробки з використанням Agile/Scrum методик. На момент написання публікації чомусь було відсутнє посилання до завантаження.
Назва говорить сама за себе.
Компонента для втілення можливостей API Intuit QuickBooks. Яких саме, пропонується дізнатися з документації.
Компонента для організації взаємодії з IMAP-шлюзом.
Компонента для організації взаємодії з SNMP-шлюзом.
Колись комерційний продукт для роботи з малюнками зроблено вільним, очевидно завдяки розповсюдженю CF8+, де ці можливості втілені на рівні мови.
Ситуація аналогічна попередньому записові.
cfCalais – A Coldfusion tag to easily create semantic data
Мітка для додавання семантичної розмітки для даних на сторінках сайту.
Mach-II Simplicity (1.8) Released
Випущено нову версію популярного фремворку.
Різні оновлення та повідомлення
Trying out the CFWheels framework
Звіт про експерименти початківця з CFWheels.
Front Controllers Should NOT Extend Application.cfc
Барні Бувер пропонує подискутувати щодо потреби наслідування Application.cfc на прикладі FW/1
Замітка розповідає про те, як можна вбудувати JavaLoader до проекту на Mach-II.
ColdFusion Query of Query tips and tricks
Ендрю Мерсер ділиться деякими знахідками та підказками з використання QoQ.
Cache Template in Request Setting Explained
Піт Фрейтаґ пояснює особливості цієї нової можливості CF9.
Установка Coldfusion и Railo на одном J2EE сервере на примере Glassfish
По следам наших наших прошлых публикаций, продолжаем серию рассказом про нестандартную установку Coldfusion в целях удобной разработки. Мотивация в том, чтобы иметь возможность разрабатывать код под Coldfusion и Railo на одной машине, но при этом не использовать слишком много ресурсов компьютера.
Читати далі...
Cumulative Hot Fix 1 for Coldfusion 9
Ось і прийшов час для випуску першого набору оновлень для ACF9. Він містить невелику кількість патчів для баґів, знайдених з моменту релізу та рекомендується до застосування в першу чергу тим, хто потерпає від описаних проблем. Жодних критичних оновлень він не містить.
Glassfish как application server для Сoldfusion
Достаточно много критики поступает в редакцию Adobe за использование во все стороны устаревшего сервера приложений JRun4. Вероятно в 10 версии Coldfusion будет использоваться другой сервер. Но необязательно ждать, уже сейчас можно облегчить себе жизнь. Например, поступить как описывает Пол Кукель (Paul Kukiel) в этом посте. Суть проста - установить сервер приложений Glassfish, и установить Coldfusion как WAR-приложение внутри "стеклорыбы". Кроме того, Railo тоже можно скачать как WAR-приложение и использовать вместе с Glassfish. Самое приятное, что настроив в Apache два виртуал-хоста, можно использовать Coldfusion и Railo вместе на одной машине - только различать их по имени хоста. При этом, связка GF+CF+Railo работает действительно быстро, субъективно, но я уверен, что точные тесты покажут ускорение объективно.
Важливе оновлення безпеки для ACF9 (CVE-2010-0185)
Вчора було опубліковано інформаційний бюлетень з безпеки від Adobe, що повідомив про появу виправлення для вразливості в Solr.
Вразливість заключається в тому, що будь-хто може дістатися до колекції знаючи URL спеціального формату.
Adobe позначила вразливість як важливу та настійливо рекомендує вжити заходів для виправлення, що докладно описані в публікації How to limit access to the Solr collections
Інтерв'ю Хеманта Хенделвала та Тодда Шарпа для RIA DZone
DZone продовжує активно спілкуватися з цікавими людьми зі світу ColdFusion.
Ми вже згадували про інтерв'ю з Фортою та Менделом, тепер коротко про ще два.
Хемант Хенделвал, головний інженер в команді ACF та CFB, розповів про трохи свою роботу та детально про деякі оновлення, що з'явилися в CF9.
Тодд Шарп, розробник SlideSix.com -- спільноти для обміну слайдами, розповів про суть спільноти та технічні сторони її розробки.
Обидві бесіди можна переглянути у відео-записі, або прочитати розшифровку.
Новини CF-OpenSource v10
Оновлення продуктів та додатків на RIAForge
Новий MVC фреймворк.
Компонента, що за допомогою jTidy ковертує текст до валідного xHTML.
Двигунець для створення прототипів, що реалізує принципи scaffolding.
Компонента для безпосередньої взаємодії з SQLite базою без участі JDBC, реалізує стандартні операції, вміє зберігати набір CF даних безпосередньо в таблицю SQLite.
Додаток для експорту мета-даних компоненти до XML-файлу, що може бути імпортований до редактора UML.
Додаток для пошуку зайвих CFM-файлів в директоріях проекту. Навряд чи буде корисним у випадку використання фреймворків, бо базується на пошуку безпосередніх підключень (cfinclude) сторінок.
Втілення API рекомендаційного сервісу Yelp.
Втілення механізму ітератора для складних типів даних.
Втілення API сервісу хостингу онлайн-відео Brightcove.
Втілення складної структури даних: зв'язаний список.
Бібліотека для інтернаціоналізації додатків, потребує CF9.
Вельми корисна бібліотека, що дозволяє не зациклюватися на XML як форматі для обміну даними, але й підтримувати вже існуючі складні текстові формати (як EDI чи VCF4).
Бібліотека, що реалізує базові операції з малюнками.
Smartermail API wrapper + UI 1.0
Втілення API програмного комплексу Smartermail.
Кілька нових додатків для Mango
Розширення для вбудови пошуку блогу в пошукове вікно оглядача.
Додає вказаний віджет до сайту, щоб читачі могли швидко перекладати вміст за допомогою перекладача Google.
Додає блок зі швидкими посиланнями на популярні соціальні веб-сайти, наприклад Facebook чи Twitter.
Дозволяє надсилати листи з блогу (наприклад, сповіщення про коментарі) через SMTP, що вимагають TLS/SSL з'єднання.
Реалізує включення малюнків з Twitpics в бічну панель блогу.
Різні оновлення та повідомлення
Розробники фреймворку Model-Glue опублікували тренувальний курс для новачків.
Mach-II Simplicity (1.8) RC2 Released
Черговий крок до випуску нової версії Mach-II
Ще один популярний продукт готується до випуску нової версії. Це додаток для підсвітки синтаксису від Джейсона Делмора, що використовується зокрема в BlogCFC.
Кілька оновлень отримав і додаток, що втілює scaffolding для Fusebox.
Implicit Blocks in Fusebox 5.5.1
Патч для Fusebox, що дозволяє обійтись без зайвих true міток, коли в if-блоці немає false.
Оновлено бібліотеку для захисту додатків від SQL-ін'єкцій та XSS атак.
Покращуючи CFScript
Шон Корфілд розповів про те, як відбувається еволюція CFScript. Він навів приклад того, як було втілено функції в різних серверах застосунків та роль CFML Advisory Commitee. Ми вже колись згадували про цю тему.
Що цікаво, я вже довгий час сповідую синтаксис, аналогічний до наведеного прикладу ColdBox: класичне визначення cffunction+cfargument, а тіло на cfscript.
Треба відмітити, що до широкого використання нового синтаксису ще далеченько, аж поки CF9 та Railo не займуть достатньо велику частину ринку. До того часу доведеться писати сумісний з CF8 код, щоб забезпечити собі спокійний тил.
Чат з Марком Менделом в Java DZone
Не так давно до DZone завітав Бен Форта, тепер це зробила й людина, про котру ми доволі часто згадуємо. Це Марк Мендел, розробник JavaLoader та Transfer ORM.
Як заведено, Марк спочатку розповідає деякі загальні речі про себе, зв'язок Java та ColdFusion та ORM, потім бесіда переходить до обговорення принад інтеграції, використання ORM з ACF9 чи Transfer, та короткого пояснення можливостей JavaLoader.
Про все це докладніше в Tech Chat: Mark Mandel on ColdFusion and Java Integration
Application.cfc на CFScript
Всі CF-розробники знають про Довідку з Application.cfc від Рея Кемдена, що довгий час є дороговказом для учасників спільноти.
Стів Блейдс зробив аналогічну річ для CF9, написану на чистому CFScript.
Деякі відмінності між Verity та Solr
Реймонд Кемден в формі конспекту розповів про ключові відмінності між новим пошуковим двигуном Solr для CF9 та його попередником -- Verity.
Серед основних можна відмітити значне покращення швидкодії, зникнення обмежень на розмір індексу, уніфікацію пошуку за регистром -- завжди в нижньому, зміни в синтаксисі запитів (+/- замість AND/NOT), заборона використання шаблонів (?/*) на початку запиту, відмова від previousCriteria -- але QoQ нікуди не дівається.
Трохи детальніше про ці та інші зміни в замітці Кемдена.
Adobe ColdFusion 9 хостинг від Hostek.com
Компанія Hostek.com одною з перших запропонувала CF9 хостинг. Я не великий шанувальник shared-хостингів для CF, але треба відзначити їхню оперативність та доступність тарифних планів. Крім цього, вони мають доволі м'яку політику щодо заборон синтаксису CFML та ряд додаткових пропозицій.
Начало работы с 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 без всяких "но и если".
Що обрати для Client Storage: Registry чи Datasource
Марк Кругер докладно розповів про те, чому потрібно запобігати використанню реєстру для зберігання клієнтських змінних (client variables).
Він навів приклад, коли за кілька місяців (за умовчанням 90 днів) Adobe ColdFusion починає періодично очищувати реєстр (знову-таки, за умовчанням кожні 67 хвилин), що призводить до несподіваних "залипань" сервера.
Цікаво, що ця проблема стосується й Linux, де реєстр просто емулюється в текстовому файлі (/coldfusion8/registry/cf.registry).
Він слушно зауважив про те, що напевно запобігти використанню цих змінних дуже складно, навіть якщо розробник запевняє, що не користується ними.
Тож він пропонує використати окрему базу (MySQL чи SQL Server цілком підійдуть) та відповідне джерело даних (datasource) для зберігання клієнтських змінних -- з прикладами, та наводить кілька порад щодо ефективного використання цьго методу.
Насамкінець він розповідає про кілька проблем, що можуть спіткати на шляху впровадження цієї оптимізації, особливо коли це стосується налаштувань вже робочого серверу.
Про все це докладно та з прикладами читайте в дописі Марка.
Новини CF-OpenSource v6
Нові продукти та оновлення
Система для програмного керування налаштуваннями CF сервера, такими як датасорси, мапінги, шляхи до кастом теґів. Підтримуються Adobe ColdFusion 7/8/9 Railo 3.1, OpenBD 1.1
cfUpdater - Manager for ColdFusion Updates
Компонента для спрощення процесу оновлення Adobe ColdFusion версій 7/8/9
Конвертація Google Trends RSS в CFML масив.
Рання альфа компоненти для взаємодії CF з Trac (популярною системою баґтрекінгу з wiki).
Клієнт на Python + CFML скрипти, що дозволяють інтерактивно виконувати CFML код в консолі. Дещо сумнівна щодо практичної користі, але цікава розробка.
Утиліта для міграції блогу з Wordpress на BlogCFC.
Проста в користуванні (як запевняють розробники) реалізація Factory (автоматизоване створення об'єктів) для CFML.
Інтеграція Yahoo Maps в CF додатки, написана одним з членів команди Adobe ColdFusion.
Можливість записувати debug output до файлів - якщо він потрібен, але показувати його небажано, фактично розширення наявної (і доволі кострубатої) системи журналювання.
Невеличкий фреймворк для пришвидшення розробки додатків з ORM.
Реалізація додатку для перевірки правопису в textarea на CFML.
Різні новини зі світу OSS
ColdFusion on Rails is almost here
Кріс Пітерс повідомив про те, що реліз 1.0 CF on Wheels вже близько.
Створено Гугл-групу для Ant4CF.
ColdBox 3.0.0 Beta 2 Released!
Популярний фреймворк наближається до релізу. Що нового третій версіі можна дізнатися з wiki проекту.
Merlin в публічній беті
Мерлін (Merlin) -- це система, що базується на AIR, призначена для керування сервером Adobe ColdFusion версій 7,8,9.
На даний момент вона в публічній беті, реліз обіцяють приблизно одночасно з виходом дев'ятки.
Дізнатися більше про неї можна з ґрунтовного скрінкасту від розробників, а заповнивши невеличку форму, й скачати дистрибутив з офіційного сайту.
І на додаток, просто ще один сайт на CF. Дружина Адама Лемана запустила в бету рекомендаційний сервіс Interfolio. Звісно, що написаний на CFML.
Встановлення 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, хоча й намагатиметься.
Ця частина містить кільканадцять знимків екрану для наглядності, тому доволі великий повний текст розміщено тільки на сторінці посту »
Читати далі...