Как объявить / var / www как Tomcat и Railo ROOT? - PullRequest
2 голосов
/ 31 мая 2011

Я хотел, чтобы Apache /var/www был рутом для моей Railo CMS?Я помещаю railo.war в /var/lib/tomcat6/webapps и помещаю следующее в мой /etc/tomcat6/server.xml:

<Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/var/www"/>

Теперь, когда я помещаю index.cfm в / var / www и перехожу на http://localhost, я получаюследующая ошибка

Railo [3.2.2.000] - Error (java.io.IOException)
Message No such file or directory
Cause   java.io.IOException
Java Stacktrace 
No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method):-2
at java.io.File.createNewFile(File.java:883):883
at railo.commons.io.res.type.file.FileResource.getOutputStream(FileResource.java:220):220
at railo.commons.io.res.type.file.FileResource.getOutputStream(FileResource.java:209):209
at railo.commons.io.IOUtil.copy(IOUtil.java:135):135

Очевидно, что Railo не принимает, что .cfm s находится вне папки webapps?

Помощь очень ценится!

1 Ответ

6 голосов
/ 21 июня 2011

Вы правильно установили свой контекст хоста Tomcat для корневого контекста и базы документов (веб-корень) /var/www с этим:

<Context path="" docBase="/var/www" />

Однако это говорит Tomcat о том, что веб-приложение живет под/var/www но вы не развернули содержимое WAR в этом месте.Вы поместили свой railo.war в /var/lib/tomcat6/webapps, что говорит мне о том, что вы, вероятно, использовали стандартную установку репозитория Ubuntu из пакета tomcat6.Если это предположение верно, то вы сможете перейти к вашей Railo WAR по умолчанию http://localhost:8080/railo/.

Что вы хотите сделать, это извлечь файл railo.war и поместить его содержимое под /var/www(а именно, папка WEB-INF из WAR).Ниже приведены некоторые команды, которые позволят вам правильно развернуть WARO WARL под /var/www/, используя конфигурацию <Host>, указанную в вашем вопросе.Я предполагаю, что вы работаете в Ubuntu с установленным пакетом tomcat6 и в вашем домашнем каталоге есть WAR-файл Railo с именем ~/railo.war.В пакете Ubuntu tomcat6 Tomcat работает от имени пользователя tomcat6, поэтому вы, вероятно, захотите передать право владения файлом / каталогом этому пользователю, иначе Railo не сможет записывать файлы на диск.

# Change directory to destination for Railo WAR contents:
cd /var/www

# Extract Railo WAR contents:
sudo jar xvf ~/railo.war

# Give Tomcat user file ownership:
sudo chown -R tomcat6 /var/www/

# Restart Tomcat service to ensure root app is picked up:
sudo service tomcat6 restart

Теперь вы сможете просматривать файл index.cfm, включенный в Railo WAR, по адресу http://localhost:8080/, который теперь находится по адресу /var/www/index.cfm.

Имейте в виду, что здесь ничего не обсуждается.здесь о подключении вашего веб-сервера Apache HTTPD к Railo / Tomcat.Возможно, вы захотите прочитать здесь или здесь для параметров прокси-сервера Apache-to-Tomcat.В Railo Wiki также есть раздел Руководство по установке .

...