LINUX.ORG.RU

[lorsource][Debian][Ниасилил] До чего ж этот томкат ни разу не интуитивный.


0

2

Значит пытаюсь поднять локальную копию лора

Делаю полурецепт для Debian на основе описанного на wiki у maxcom'а:

Ставим нужные пакеты:

apt-get install openjdk-6-jdk 
apt-get install tomcat6 tomcat6-admin
apt-get install postgresql-8.4 postgresql-contrib-8.4 
apt-get install ant ant-optional

Замутки с базой данных:

У дебъяна все настройки базы данных лежат в:

ls -l /etc/postgresql/8.4/main/
итого 40
-rw-r--r-- 1 postgres postgres   316 Янв 23 00:10 environment
-rw-r--r-- 1 postgres postgres   143 Янв 23 00:10 pg_ctl.conf
-rw-r----- 1 postgres postgres  3823 Янв 23 01:47 pg_hba.conf
-rw-r----- 1 postgres postgres  1631 Янв 23 00:10 pg_ident.conf
-rw-r--r-- 1 postgres postgres 16998 Янв 23 00:10 postgresql.conf
-rw-r--r-- 1 postgres postgres   378 Янв 23 00:10 start.conf

Проверяем доступ по md5:

cat /etc/postgresql/8.4/main/pg_hba.conf

# Database administrative login by UNIX sockets
local   all         postgres                          ident

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               ident
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5

Далее создаем пользователей:

su postgres

createdb --encoding=UTF8 lor
createuser maxcom # все по дефолту :)
createuser linuxweb
createuser jamwiki
psql -c "alter user linuxweb password 'linuxweb'" template1

Далее подгружаем данные:

git clone git://github.com/maxcom/lorsource.git lorsource
cd lorsource
psql -f sql/demo.db lor

vacuumdb --analyze lor

Все подгрузилось. Теперь настраиваем томкат:

mkdir /test-lor
mkdir /test-lor/webapps
mkdir /test-lor/webapps/lor

Создали директории где будет лежать ЛОРь, настройки томката в дебиане находятся тут:

ls /etc/tomcat6/ -Rl
/etc/tomcat6/:
итого 100
drwxrwxr-x 3 root tomcat6  4096 Янв 22 23:56 Catalina
-rw-r--r-- 1 root root       52 Янв 23 02:49 catalina.policy
-rw-r--r-- 1 root tomcat6  4021 Дек 10 09:54 catalina.properties
-rw-r--r-- 1 root root      943 Янв 23 02:55 config.properties
-rw-r--r-- 1 root tomcat6  1395 Авг  5  2007 context.xml
-rw-r--r-- 1 root tomcat6  2370 Авг 26 02:42 logging.properties
drwxr-xr-x 2 root tomcat6  4096 Янв 22 23:56 policy.d
-rw-r--r-- 1 root tomcat6  6681 Дек 10 09:54 server.xml
-rw-r----- 1 root tomcat6  1549 Янв 23 03:29 tomcat-users.xml
-rw------- 1 root root     1528 Янв 23 05:31 tomcat-users.xml.save
-rw-r--r-- 1 root tomcat6 51515 Май 18  2010 web.xml

/etc/tomcat6/Catalina:
итого 4
drwxrwxr-x 2 root tomcat6 4096 Янв 23 01:56 localhost

/etc/tomcat6/Catalina/localhost:
итого 12
-rw-r--r-- 1 root    root    958 Авг 26 02:42 host-manager.xml
-rw-r--r-- 1 root    root    948 Авг 26 02:42 manager.xml
-rw-r--r-- 1 tomcat6 tomcat6 403 Янв 23 02:03 ROOT.xml

/etc/tomcat6/policy.d:
итого 20
-rw-r--r-- 1 root tomcat6 2190 Авг 26 02:42 01system.policy
-rw-r--r-- 1 root tomcat6  330 Авг 26 02:42 02debian.policy
-rw-r--r-- 1 root tomcat6 1898 Авг 26 02:42 03catalina.policy
-rw-r--r-- 1 root tomcat6 3165 Авг 26 02:42 04webapps.policy
-rw-r--r-- 1 root tomcat6 1646 Авг 26 02:42 50local.policy

идем дальше:

cat /etc/tomcat6/Catalina/localhost/ROOT.xml
<Context path="/" docBase="/test-lor/webapps/lor">

<Resource name="jdbc/lor" auth="Container"
          type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
          url="jdbc:postgresql://127.0.0.1:5432/lor"
          username="linuxweb" password="linuxweb" maxActive="10" maxIdle="-1" maxWait="-1" removeAbandoned="true" removeAbandonedTimeout="600" logAbandoned="true"/>

</Context>

Копируем все, что скачали из git в linux-storage (по рекомендации из мануала)

cd /test-lor/webapps/lor
mkdir linux-storage
cd linux-storage
mv /путь/к/lorsource/* .  # то, что загрузили из git

# Компиляем

ant
./install_beta /test-lor/webapps

Че-то мутим с доступом к БД добавляем это:

cat /etc/tomcat6/catalina.policy 
grant {
  permission java.security.AllPermission;
}

И на всякий случай делаем:

chown tomcat6 /test-lor/ -R

Перезапускаем томкат и на всякий апач, смотрим что все поднялось успешно:

/etc/init.d/tomcat6 restart
Stopping Tomcat servlet engine: tomcat6.
Starting Tomcat servlet engine: tomcat6.

/etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting .

Все это добро было поднято в виртуалке, так что из хостовой системы заходим на поднятый сервер и получаем ничего:

http://192.168.0.100:8080/

HTTP Status 404 -

type Status report

message

description The requested resource () is not available.
Apache Tomcat/6.0.28

http://192.168.0.100:8080/manager/html - работает без проблем.

Что где еще подкрутить осталось? Документацию по томкату читать пытался, но что-то не пошло у меня, везде куча мануалов под офтопик и как сделать хеллоу ворлд через эклипс да нетбинс. Где подкрутить, чтобы заставить томкат загружать что надо?

И да, содержимое раб. директорий:

ls  /test-lor/webapps/lor/WEB-INF/ -l
итого 96
-rw-r--r-- 1 tomcat6 root  7389 Янв 23 02:46 applicationContext.xml
drwxr-xr-x 2 tomcat6 root  4096 Янв 23 02:46 classes
-rw-r--r-- 1 tomcat6 root   943 Янв 23 02:59 config.properties
-rw-r--r-- 1 tomcat6 root   958 Янв 23 02:46 config.properties.dist
-rw-r--r-- 1 tomcat6 root 16641 Янв 23 02:46 c.tld
-rw-r--r-- 1 tomcat6 root   698 Янв 23 02:46 feeds.properties
-rw-r--r-- 1 tomcat6 root  7940 Янв 23 02:46 fn.tld
-rw-r--r-- 1 tomcat6 root   651 Янв 23 02:46 jndi.properties
drwxr-xr-x 7 tomcat6 root  4096 Янв 23 02:46 jsp
drwxr-xr-x 2 tomcat6 root  4096 Янв 23 02:46 lib
-rw-r--r-- 1 tomcat6 root  1725 Янв 23 02:46 lor.tld
-rw-r--r-- 1 tomcat6 root  4411 Янв 23 02:46 springapp-servlet.xml
drwxr-xr-x 2 tomcat6 root  4096 Янв 23 02:46 tags
-rw-r--r-- 1 tomcat6 root  3387 Янв 23 02:46 urlrewrite.xml
-rw-r--r-- 1 tomcat6 root 11720 Янв 23 02:46 web.xml

/test-lor/webapps/lor/ -l
итого 96
drwxr-xr-x  3 tomcat6 root  4096 Янв 23 02:46 adv
drwxr-xr-x  3 tomcat6 root  4096 Янв 23 02:46 black
-rw-r--r--  1 tomcat6 root  3469 Янв 23 02:46 common.css
-rw-r--r--  1 tomcat6 root   676 Янв 23 02:46 common-mobile.css
-rw-r--r--  1 tomcat6 root  2432 Янв 23 02:46 dw.jsp
-rw-r--r--  1 tomcat6 root 11682 Янв 23 02:46 edit-profile.jsp
-rw-r--r--  1 tomcat6 root   894 Янв 23 02:46 favicon.ico
-rw-r--r--  1 tomcat6 root     0 Янв 23 02:46 googlea3fb422736ed276d.html
-rw-r--r--  1 tomcat6 root  1268 Янв 23 02:46 google-search.jsp
drwxr-xr-x  2 tomcat6 root  4096 Янв 23 02:46 img
drwxr-xr-x  2 tomcat6 root  4096 Янв 23 02:46 js
drwxr-xr-x 14 tomcat6 root  4096 Янв 23 02:42 linux-storage
-rw-r--r--  1 tomcat6 root   591 Янв 23 02:46 robots.txt
-rw-r--r--  1 tomcat6 root 21340 Янв 23 02:46 rules.jsp
drwxr-xr-x  3 tomcat6 root  4096 Янв 23 02:46 tango
drwxr-xr-x  6 tomcat6 root  4096 Янв 23 02:58 WEB-INF
drwxr-xr-x  3 tomcat6 root  4096 Янв 23 02:46 white
drwxr-xr-x  3 tomcat6 root  4096 Янв 23 02:46 white2
★★★★★

Посмотри в логи - приложение по какой-то причине не поднялось. Или не нашлось чего-то необходимого, или проблемы присоединения к БД

maxcom ★★★★★ ()
Ответ на: комментарий от maxcom
cat tomcat6/catalina.out | grep WARN
WARNING: Could not load properties from ServletContext resource [/WEB-INF/config.properties]: Could not open ServletContext resource [/WEB-INF/config.properties]

Хотя:

ls -l /test-lor/webapps/lor/WEB-INF/
итого 96
-rw-r--r-- 1 tomcat6 root  7389 Янв 23 02:46 applicationContext.xml
drwxr-xr-x 2 tomcat6 root  4096 Янв 23 02:46 classes
-rw-r--r-- 1 tomcat6 root   943 Янв 23 02:59 config.properties
-rw-r--r-- 1 tomcat6 root   958 Янв 23 02:46 config.properties.dist

cat  /test-lor/webapps/lor/WEB-INF/config.properties
MainUrl=http://test-lor:8080/
PathPrefix=/test-lor/
HTMLPathPrefix=/test-lor/webapps/lor/
Secret=secret
recaptcha.private=6LclXgcAAAAAAKeX4IoMTUdy1nUSzXRXSH7KcrHM
recaptcha.public=6LclXgcAAAAAAIRhcA0V1DNiTT_AGUg_baM3-vc8
solr.username=solr
solr.password=tomcat
solr.host=127.0.0.1
solr.port=8080
solr.url=http://127.0.0.1:8080/solr

И да, дейсвтительно что-то не так:

cat tomcat6/catalina.out | grep SEVERE
SEVERE: Context initialization failed
SEVERE: Error listenerStart
SEVERE: Context [] startup failed due to previous errors
SEVERE: Context initialization failed
SEVERE: Error listenerStart

вот полный лог. http://pastebin.com/VKDUsSgy

Вроде и в правду с базой данных что-то ошибки JDBC мелькают

Siado ★★★★★ ()
Ответ на: комментарий от Siado

Лог базы:

[code]
cat postgresql/postgresql-8.4-main.log | grep 2011-01-24
2011-01-24 02:00:01 MSK LOG: database system was shut down at 2011-01-23 21:11:16 MSK
2011-01-24 02:00:01 MSK LOG: autovacuum launcher started
2011-01-24 02:00:01 MSK LOG: database system is ready to accept connections
2011-01-24 02:00:02 MSK LOG: incomplete startup packet
2011-01-24 04:24:24 MSK LOG: incomplete startup packet
2011-01-24 04:24:24 MSK LOG: received fast shutdown request
2011-01-24 04:24:24 MSK LOG: aborting any active transactions
2011-01-24 04:24:24 MSK LOG: autovacuum launcher shutting down
2011-01-24 04:24:24 MSK LOG: shutting down
2011-01-24 04:24:24 MSK LOG: database system is shut down
2011-01-24 12:16:40 MSK LOG: database system was shut down at 2011-01-24 04:24:24 MSK
2011-01-24 12:16:41 MSK LOG: autovacuum launcher started
2011-01-24 12:16:41 MSK LOG: database system is ready to accept connections
2011-01-24 12:16:41 MSK LOG: incomplete startup packet
[/code]

Siado ★★★★★ ()
Ответ на: комментарий от Siado

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sectionStore' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [ru.org.linux.spring.SectionStore]: Constructor threw exception; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'

hizel ★★★★★ ()
Ответ на: комментарий от Siado

Лог tomcat6/localhost.2011-01-24.log

cat tomcat6/localhost.2011-01-24.log | grep SEV
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener

http://pastebin.com/BYixSSWa

Siado ★★★★★ ()
Ответ на: комментарий от hizel

я считаю, что дравер надо сунуть tomcat-у, но не web приложению, у меня он всунут в /usr/local/apache-tomcat-6.0/lib/postgresql.jar

hizel ★★★★★ ()
Ответ на: комментарий от hizel

Сделал, чтобы все из репозитория было:

[code]
apt-get install libpg-java/testing

find -name «*postgres*jar»
./test-lor/webapps/lor/linux-storage/ivy-lib/provided/postgresql-8.2-504.jdbc3.jar
./usr/share/java/postgresql-jdbc3-8.4.jar
./usr/share/java/postgresql.jar
./usr/share/java/postgresql-jdbc3.jar
./root/.ant/cache/postgresql/postgresql/jars/postgresql-8.2-504.jdbc3.jar
[/code]

В итоге:
[code]
SEVERE: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sectionStore' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [ru.org.linux.spring.SectionStore]: Constructor threw exception; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'
[/code]

Но драйвера вроде как поставились.

Siado ★★★★★ ()
Ответ на: комментарий от maxcom

О, прогресс пошел:

cd /test-lor/webapps/lor/linux-storage/ivy-lib/provided/
cp activation-1.1.jar  /usr/share/tomcat6/lib/activation.jar
cp mail-1.4.jar /usr/share/tomcat6/lib/mail.jar
cp servlet-api-2.4.jar /usr/share/tomcat6/lib/servlet-api.jar
cp jsp-api-2.1.jar /usr/share/tomcat6/lib/jsp-api.jar
cp postgresql-8.2-504.jdbc3.jar /usr/share/tomcat6/lib/postgresql.jar

На всякий случай закопировал все к томкату, в логах все стало гораздо лучше, но отвалилось кой-что другое: http://pastebin.com/bFK7mHWy

cat /etc/tomcat6/Catalina/localhost/ROOT.xml 

<Context path="/" 
	antiResourceLocking="false" />

 cat /etc/tomcat6/Catalina/localhost/host-manager.xml 

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/host-manager" 
	docBase="/usr/share/tomcat6-admin/host-manager" 
	antiResourceLocking="false" privileged="true" />

cat /etc/tomcat6/Catalina/localhost/manager.xml <?xml version="1.0" encoding="UTF-8"?>
<Context path="/manager" 
	docBase="/usr/share/tomcat6-admin/manager" 
	antiResourceLocking="false" privileged="true" />

Добавляю в ROOT.xml следующее:

<Context path="/" docBase="/test-lor/webapps/lor">

<Resource name="jdbc/lor" auth="Container"
          type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
          url="jdbc:postgresql://127.0.0.1:5432/lor"
          username="linuxweb" password="linuxweb" maxActive="10" maxIdle="-1" maxWait="-1" removeAbandoned="true" removeAbandonedTimeout="600" logAbandoned="true"/>

</Context>

Но при перезапуске томката, оно снова обнуляется и ROOT.xml остается шаблонным.
Siado ★★★★★ ()
Ответ на: комментарий от Siado

ну значит скрипты стартовые какие-то шибко умные.

Если лень с ними бороться то постать просто tomcat себе в home с http://tomcat.apache.org/

maxcom ★★★★★ ()

Около 3х недель назад тоже пытался поднять ЛОР. По мануалу Макскома ничего не получалось. Начал читать доки http://tomcat.apache.org/tomcat-6.0-doc/deployer-howto.html и делать как там написано — и всё заработало. Хотя часть ссылок со страниц локального ЛОРа и вела в никуда — мне было достаточно увидеть главную страницу, и на этом эксперимент был окончен (думаю, трабл был из-за неправильных путей к папкам/файлам).

Sauron_AZM ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.