Это старая версия документа.
Содержание
Apache Tomcat
Apache Tomcat - это контейнер, который позволяет вам использовать интернет приложения такие, как Java сервлеты и JSP (серверные страницы Java).
Пакеты Tomcat 6.0 в Ubuntu поддерживают два варианта запуска Tomcat. Вы можете установить его как классический одиночный экземпляр на всю систему, который будет запускаться при загрузке системы от имени непривилегированного пользователя tomcat6. Но вы можете развернуть частные экземпляры, которые будут запускаться с правами вашего собственного пользователя, и вам придется запускать и останавливать их самостоятельно. Второй вариант особенно полезен в контексте сервера разработки, где нескольким пользователям требуется тестировать их собственные частные экземпляры Tomcat.
Масштабная установка на всю систему
Для установки сервера Tomcat вам достаточно ввести следующую команду в терминале:
sudo apt-get install tomcat6
Это установит сервер Tomcat только с ROOT приложением, которое выдает минимальную страницу «It works» по умолчанию.
Настройка
Файл настроек Tomcat может быть найден в /etc/tomcat6. Здесь будут описаны только несколько общих элементов настройки; для более подробной информации обратитесь к документации по Tomcat 6.0.
Изменение портов по умолчанию
Изначально Tomcat 6.0 запускает HTTP соединитель (connector) на порту 8080 и AJP соединитель на порту 8009. Вы можете захотеть изменить эти порты для избежания конфликтов с другими серверами на системе. Это делается изменением следующих строк в /etc/tomcat6/server.xml:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ... <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Изменение используемой JVM
По умолчанию Tomcat предпочитает использовать OpenJDK-6, затем пробует JVM от Sun (Oracle), а затем иные JVM. Если у вас установлено несколько JVM, вы можете определить какая из них будет использоваться, установив JAVA_HOME в /etc/default/tomcat6:
JAVA_HOME=/usr/lib/jvm/java-6-sun
Определение пользователей и ролей
Пользователи, пароли и роли (группы) могут быть определены централизованно в секции Servlet. Для Tomcat 6.0 это настраивается в файле /etc/tomcat6/tomcat-users.xml:
<role rolename="admin"/> <user username="tomcat" password="s3cret" roles="admin"/>
Использование стандартных приложений Tomcat
Tomcat поставляется с приложениями, которые вы можете установить для документирования, администрирования или демонстрационных целей.
Документация Tomcat
Пакет tomcat6-docs содержит документацию Tomcat 6.0, упакованную в качестве интернет приложения, которое доступно по умолчанию по адресу http://yourserver:8080/docs. Вы можете его установить следующей командой в терминале:
sudo apt-get install tomcat6-docs
Приложения администрирования Tomcat
Пакет tomcat6-admin содержит два приложения, которые могут быть использованы для администрирования сервера Tomcat через web интерфейс. Для их установки введите следующую команду в терминале:
sudo apt-get install tomcat6-admin
Первое из них это приложение manager, которое по умолчанию доступно по адресу http://yourserver:8080/manager/html. Оно в первую очередь используется для получения статуса сервера и перезапуска web приложений.
Второе приложение - это host-manager, которое по умолчанию доступно вам по адресу http://yourserver:8080/host-manager/html. Оно может быть использовано для создания виртуальных хостов динамически.
По соображениям безопасности пользователь tomcat6 по умолчанию не может писать в каталог /etc/tomcat6. Некоторые возможности в этих приложениях администрирования (разработка приложений, создание виртуальных хостов) требуют права записи на этот каталог. Если вы хотите пользоваться этими возможностями, выполните следующее для предоставления группе tomcat6 необходимых прав:
sudo chgrp -R tomcat6 /etc/tomcat6 sudo chmod -R g+w /etc/tomcat6
Приложения примеров Tomcat
Пакет tomcat6-examples содержит два приложения, которые могут быть использованы для тестирования или демонстрации возможностей сервлетов и JSP, которые по умолчанию вы можете найти по адресу http://yourserver:8080/examples. Вы можете установить их следующей командой в терминале:
sudo apt-get install tomcat6-examples
Использование пользовательских экземпляров
Tomcat is heavily used in development and testing scenarios where using a single system-wide instance doesn't meet the requirements of multiple users on a single system. The Tomcat 6.0 packages in Ubuntu come with tools to help deploy your own user-oriented instances, allowing every user on a system to run (without root rights) separate private instances while still using the system-installed libraries.
It is possible to run the system-wide instance and the private instances in parallel, as long as they do not use the same TCP ports.
Installing private instance support
You can install everything necessary to run private instances by entering the following command in the terminal prompt:
sudo apt-get install tomcat6-user
Creating a private instance
You can create a private instance directory by entering the following command in the terminal prompt:
tomcat6-instance-create my-instance
This will create a new my-instance directory with all the necessary subdirectories and scripts. You can for example install your common libraries in the lib/ subdirectory and deploy your webapps in the webapps/ subdirectory. No webapps are deployed by default.
Configuring your private instance
You will find the classic Tomcat configuration files for your private instance in the conf/ subdirectory. You should for example certainly edit the conf/server.xml file to change the default ports used by your private Tomcat instance to avoid conflict with other instances that might be running.
Starting/stopping your private instance
You can start your private instance by entering the following command in the terminal prompt (supposing your instance is located in the my-instance directory):
my-instance/bin/startup.sh
You should check the logs/ subdirectory for any error. If you have a java.net.BindException: Address already in use<null>:8080 error, it means that the port you're using is already taken and that you should change it.
You can stop your instance by entering the following command in the terminal prompt (supposing your instance is located in the my-instance directory):
my-instance/bin/shutdown.sh