Debian: установка и начальная настройка Apache Tomcat

Автор: | 08/31/2013
 

debian-logo_lenny2Установка выполняется на:

Distributor ID: Debian
Description:    Debian GNU/Linux 7.1 (wheezy)
Release:        7.1

Поиск в репозиториях выдаст нам много совпадений:

# aptitude search tomcat
...
i   tomcat6                                                                                                        - Servlet and JSP engine
i   tomcat6-admin                                                                                                  - Servlet and JSP engine -- admin web applications
i A tomcat6-common                                                                                                 - Servlet and JSP engine -- common files
i   tomcat6-docs                                                                                                   - Servlet and JSP engine -- documentation
i   tomcat6-examples                                                                                               - Servlet and JSP engine -- example web applications
...

Установим следующие пакеты:

# aptitude -y install tomcat6 tomcat6-docs tomcat6-examples tomcat6-admin

Сразу после установки Tomcat должен стартовать сам, проверяем:

# service tomcat6 status
Tomcat servlet engine is running with pid 8700.
# ps aux | grep tomcat
tomcat6  10981  0.4  2.4 272632 50884 ?        Sl   07:06   0:28 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -classpath /usr/share/tomcat6/bin/bootstrap.jar -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tomcat6-tmp org.apache.catalina.startup.Bootstrap start

Можно зайти на страницу http://hostname.com:8080 и посмотреть на страницу приветствия Apcahe Tomcat. Там же будут несколько полезных ссылок.

Для управления используются такие опции:

Usage: /etc/init.d/tomcat6 {start|stop|restart|try-restart|force-reload|status}.

Допустимо и использование через:

# service tomcat6 {start|stop|restart|try-restart|force-reload|status}

Конфигурационные файлы сервера хранятся в каталоге /etc/tomcat6:

# ls -l /etc/tomcat6
total 84
drwxrwxr-x 3 root tomcat6  4096 Aug 31 05:07 Catalina
-rw-r--r-- 1 root tomcat6  4021 Dec  7  2012 catalina.properties
-rw-r--r-- 1 root tomcat6  1395 Aug  4  2007 context.xml
-rw-r--r-- 1 root tomcat6  2370 Dec  7  2012 logging.properties
drwxr-xr-x 2 root tomcat6  4096 Aug 31 05:07 policy.d
-rw-r--r-- 1 root tomcat6  6681 Dec  7  2012 server.xml
-rw-r----- 1 root tomcat6  1530 Nov  3  2010 tomcat-users.xml
-rw-r--r-- 1 root tomcat6 52470 Nov 10  2011 web.xml

Для доступа в веб-панель администрирования нам необходимо создать пользователя и назначить роли. В файл /etc/tomcat6/etc/tomcat6/tomcat-users.xml добавляем:

<role rolename="admin"/>
<role rolename="manager-gui"/>
<user username="admin"
password="password"
roles="admini,manager-gui"/>
</tomcat-users>

Для удобства — создадим отдельный каталог для управления сервером и содержимым хостов:

# cd /home/setevoy
# mkdir tomcat
# ln -s /etc/tomcat6/ conf  
# ln -s /usr/share/tomcat6/bin/ bin  
# ln -s /usr/share/tomcat6/lib/ lib
# ln -s /var/log/tomcat6/ logs

Создадим каталог для тестового VirtualHost-а:

# mkdir -p test.loc/

В файл /etc/tomcat6/server.xml в блок директив <Engine> добавим поисание это хоста:

<Host name="test.loc" appBase="/home/setevoy/tomcat/test.loc/">

<Context path=""
docBase="/home/setevoy/tomcat/test.loc/"
debug="0" reloadable="true" />

<Valve className=
"org.apache.catalina.valves.AccessLogValve"
directory="/var/log/tomcat6" prefix="test_access"
suffix=".log" pattern="common" resolveHosts="false" />

</Host>

Теперь в каталоге /home/setevoy/tomcat/test.loc/ создадим тестовый файл test.jsp с таким содержимым:

<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Hello World</h1>
Today is: <%= new java.util.Date().toString() %>
</body>
</html>

И откроем страницу:

# lynx test.loc:8080/test.jsp
Hello World

Today is: Sat Aug 31 08:57:29 EDT 2013

И посмотрим лог:

# cat /var/log/tomcat6/test_access2013-08-31.log
127.0.0.1 - - [31/Aug/2013:07:07:05 -0400] "GET /test.jsp HTTP/1.0" 200 172