Гид по технологиям

Настройка виртуального хоста Apache2 и Tomcat6

• 4 min read • Серверы • Обновлено 28 Nov 2025
Виртуальный хост Apache2 + Tomcat6
Виртуальный хост Apache2 + Tomcat6

Что мы настроим

  • Виртуальный хост Apache2, который использует JkMount для проксирования в Tomcat6.
  • Соответствующий хост в Tomcat6 с отдельной папкой для веб-контента и логов.
  • Тестовую JSP-страницу для проверки работы.

Важно: заменяйте в примерах server1.example.com на реальное доменное имя вашего сервера.

1. Создание папок для нового виртуального хоста в Apache2

Выполните на сервере под root или с sudo:

mkdir /var/www/server1.example.com
mkdir /var/www/server1.example.com/htdocs
mkdir /var/www/server1.example.com/logs

2. Создание конфигурации сайта в Apache2

Создайте файл конфигурации сайта:

vi /etc/apache2/sites-available/server1.example.com

Добавьте следующий блок (сохраняйте отступы и пути):


    JkMount /* default
    ServerName server1.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/server1.example.com/htdocs
    ErrorLog /var/www/server1.example.com/logs/error.log
    CustomLog /var/www/server1.example.com/logs/access.log combined
    
        Options -Indexes
    

Примечание по JkMount: есть несколько вариантов настройки маршрутизации запросов в Tomcat:

  • JkMount /* — отправляет все запросы в Tomcat.
  • JkMount /*.jsp — проксирует только .jsp файлы.
  • JkMount /folder/* — проксирует файлы из указанной директории.

После создания конфигурации включите сайт:

a2ensite server1.example.com

Перезапуск Apache не обязателен сейчас, мы сделаем окончательный перезапуск после всех изменений.

3. Настройка виртуального хоста в Tomcat6

Откройте конфигурацию Tomcat6:

vi /etc/tomcat6/server.xml

Найдите закомментированный коннектор AJP:

И раскомментируйте его, чтобы AJP был доступен:

Далее найдите окончание Engine в файле — блок с и :

  

Вставьте новый Host для вашего домена непосредственно после и перед :




    
    

Убедитесь, что везде заменили server1.example.com на ваше доменное имя.

Создайте папку Catalina для нового хоста и скопируйте стандартные контексты:

mkdir /etc/tomcat6/Catalina/server1.example.com
cp /etc/tomcat6/Catalina/localhost/* /etc/tomcat6/Catalina/server1.example.com/

Удалите файл ROOT.xml в новом каталоге, он не нужен для пустого контекста по корню:

rm -f /etc/tomcat6/Catalina/server1.example.com/ROOT.xml

4. Создание тестовой страницы и проверка конфигурации

Создайте тестовую JSP-страницу:

vi /var/www/server1.example.com/htdocs/test.jsp

Добавьте содержимое:


    
        Hello World
    
    
        

Hello World

Today is: <%= new java.util.Date().toString() %>

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

/etc/init.d/apache2 stop
/etc/init.d/tomcat6 restart
/etc/init.d/apache2 start

После этого откройте в браузере:

http://server1.example.com/test.jsp

и проверьте, что отображается тестовая страница.

Тестовая страница с сообщением Hello World и текущей датой сервера

Вы также должны иметь доступ к примерам и менеджерам Tomcat по адресу:

http://server1.example.com/examples

Страница примеров Tomcat и доступность менеджера на виртуальном хосте

Критерии приёмки

  • Тестовая страница /test.jsp возвращает корректный HTML и текущую дату.
  • Логи Apache и Tomcat пишутся в /var/www/server1.example.com/logs.
  • Доступны /examples, /docs, /manager/html и /host-manager/html (при наличии соответствующих приложений и прав).

Чек-лист администратора

  • Созданы каталоги htdocs и logs.
  • Файл сайта в /etc/apache2/sites-available присутствует и включён через a2ensite.
  • AJP-коннектор в server.xml раскомментирован.
  • Добавлен Host в server.xml и создан каталог Catalina для домена.
  • Тестовая JSP-страница на месте и доступна.
  • Перезапуск сервисов выполнен без ошибок.

Типичные ошибки и способы устранения

  • Браузер возвращает 404: проверьте пути DocumentRoot и docBase, убедитесь, что файлы имеют правильные права и владелец.
  • Пустая страница или ошибки сервера: просмотрите логи Apache и Tomcat (/var/www/server1.example.com/logs/* и стандартные логи Tomcat в /var/log/tomcat6/).
  • AJP не подключается: убедитесь, что в server.xml есть и что модуль mod_jk настроен и использует тот же worker.
  • Проблемы с правами доступа: проверьте владельца директорий (обычно www-data или tomcat6) и права выполнения для каталогов.

Альтернативные подходы

  • Вместо mod_jk можно использовать mod_proxy_ajp или mod_proxy_http (Reverse Proxy). mod_proxy проще в конфигурации, но mod_jk предоставляет дополнительные возможности балансировки и управления рабочими.
  • Для современной версии Tomcat и Apache рассматривайте TLS/HTTPS сразу в Apache и проксирование через HTTPS/HTTP.

Мини-методология развёртывания

  1. Подготовьте структуру каталогов и права доступа.
  2. Создайте конфигурацию Apache и временно не перезагружайте сервис.
  3. Настройте Tomcat (AJP + Host) и создайте Catalina каталоги.
  4. Протестируйте локально контент (JSP).
  5. Последовательно перезапустите сервисы и проверьте работоспособность.

Роль — системный администратор

  • Подготовить ОС, установить Apache2, Tomcat6 и модуль mod_jk.
  • Настроить workers.properties и /etc/apache2/conf.d/mod_jk.conf (не показаны здесь).
  • Обеспечить резервное копирование конфигураций перед изменением.

Критерии тестов и приёмки

  • HTTP 200 для /test.jsp.
  • Строка с текущей датой присутствует в содержимом.
  • Файлы логов появляются/обновляются при обращениях.

Глоссарий — однострочно

  • AJP: протокол, который позволяет Apache передавать запросы в Tomcat.
  • mod_jk: модуль Apache для поддержки AJP и интеграции с Tomcat.

Важные пути конфигурации

Apache2 конфигурация:

/etc/apache2/workers.properties
/etc/apache2/conf.d/mod_jk.conf
/etc/apache2/sites-available/server1.example.com
/var/www/server1.example.com/htdocs/

Tomcat6 конфигурация:

/etc/tomcat6/tomcat-users.xml
/etc/tomcat6/server.xml
/etc/tomcat6/Catalina/server1.example.com/

Перезапуск Apache2 и Tomcat6 (повтор):

/etc/init.d/apache2 stop
/etc/init.d/tomcat6 restart
/etc/init.d/apache2 start

Ссылки

Короткое резюме

  • Настройте каталоги, создайте конфигурацию Apache с JkMount, добавьте Host в server.xml Tomcat6, создайте Catalina каталог и тестовую JSP.
  • Проверьте /test.jsp и логи. При сбоях проверьте права, пути, AJP-коннектор и соответствие workers.properties.

Сводка:

  • Простая и воспроизводимая инструкция для развёртывания виртуального хоста Apache2 с Tomcat6 и тестовой страницей.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро