Поиск по сайту:

Как установить Apache Tomcat 10 на Debian 10


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить Java
  4. Установите Apache Tomcat
  5. Создание пользователя веб-администратора Tomcat
  6. Разрешить удаленный доступ к Tomcat
  7. Создание файла модуля Systemd для Tomcat
  8. Настройка Nginx для Tomcat
  9. Доступ к приложению Tomcat
  10. Заключение

Apache Tomcat — это самый популярный сервер веб-приложений с открытым исходным кодом, используемый для размещения приложений на основе Java. Он поставляется с Java Servlet, JavaServer Pages (JSP), Java EL и предоставляет среду для запуска кода Java. Tomcat предлагает богатый набор функций, в том числе легкий, очень гибкий, хорошо документированный, предлагает дополнительный уровень безопасности, зрелость и многое другое.

В этом руководстве мы объясним, как установить Apache Tomcat 10 на сервер Debian 10.

Предпосылки

  • Сервер под управлением Debian 10.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • На сервере настроен пароль root.

Начиная

Перед запуском обновите системные пакеты до последней версии с помощью следующей команды:

apt-get update -y

Как только все пакеты будут обновлены, вы можете перейти к следующему шагу.

Установить Java

Apache Tomcat — это приложение на основе Java. Поэтому вам нужно будет установить Java на свой сервер. Вы можете установить Java с помощью следующей команды:

apt-get install default-jdk -y

После установки проверьте версию Java с помощью следующей команды:

java --version

Следующий вывод покажет вам версию Java, установленную на вашем сервере.

openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.11+9-post-Debian-1deb10u1, mixed mode, sharing)

Как только вы закончите, вы можете перейти к следующему шагу.

Установите Apache Tomcat

На момент написания этого руководства последняя доступная версия Apache Tomcat — 10.0.7.

Сначала добавьте пользователя для запуска Apache Tomcat с помощью следующей команды:

useradd -m -d /opt/tomcat -U -s /bin/false tomcat

Затем загрузите Apache Tomcat 10, используя следующую команду:

wget https://mirrors.estointernet.in/apache/tomcat/tomcat-10/v10.0.7/bin/apache-tomcat-10.0.7.tar.gz

После завершения загрузки извлеките загруженный файл в каталог /opt/tomcat с помощью следующей команды:

tar -xzvf apache-tomcat-10.0.7.tar.gz -C /opt/tomcat --strip-components=1

Затем установите правильное право собственности на каталог /opt/tomcat, используя следующую команду:

chown -R tomcat:tomcat /opt/tomcat/

Как только вы закончите, вы можете перейти к следующему шагу.

Создать пользователя веб-администратора Tomcat

Далее вам нужно будет создать пользователя-администратора для доступа к административному интерфейсу Tomcat. Вы можете создать его, отредактировав файл tomcat-users.xml:

nano /opt/tomcat/conf/tomcat-users.xml

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

<role rolename="manager-gui" />
<user username="manager" password="pasword" roles="manager-gui" />

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

Сохраните и закройте файл после завершения. Теперь вы можете перейти к следующему шагу.

Разрешить удаленный доступ к Tomcat

По умолчанию Tomcat настроен на доступ только из локальной системы. Поэтому вам нужно будет настроить Tomcat, чтобы к нему можно было получить доступ из удаленной системы.

Сначала отредактируйте файл context.xml, чтобы разрешить удаленный доступ к приложению диспетчера Tomcat:

nano /opt/tomcat/webapps/manager/META-INF/context.xml

Удалите или закомментируйте следующие строки:

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

Сохраните и закройте файл, затем отредактируйте файл context.xml, чтобы разрешить удаленный доступ к приложению диспетчера узлов Tomcat:

nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

Удалите следующие строки:

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

Сохраните и закройте файл, когда закончите. Теперь вы можете перейти к следующему шагу.

Создайте файл модуля Systemd для Tomcat

Далее вам нужно будет создать файл модуля systemd для управления службой Tomcat. Вы можете создать его с помощью следующей команды:

nano /etc/systemd/system/tomcat.service

Добавьте следующие строки:

[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

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

systemctl daemon-reload

Затем запустите службу Tomcat и включите ее запуск при перезагрузке системы с помощью следующей команды:

systemctl start tomcat
systemctl enable tomcat

Теперь вы можете проверить состояние службы Tomcat с помощью следующей команды:

systemctl status tomcat

Вы должны получить следующий результат:

? tomcat.service - Tomcat
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-07-01 04:58:39 UTC; 15s ago
  Process: 5706 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 5713 (java)
    Tasks: 29 (limit: 2359)
   Memory: 154.7M
   CGroup: /system.slice/tomcat.service
           ??5713 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.ut

Jul 01 04:58:39 tomcat systemd[1]: Starting Tomcat...
Jul 01 04:58:39 tomcat startup.sh[5706]: Tomcat started.
Jul 01 04:58:39 tomcat systemd[1]: Started Tomcat.

На данный момент Tomcat запущен и прослушивает порт 8080. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep 8080

Вы должны получить следующий результат:

LISTEN   0        100                          *:8080                  *:*       users:(("java",pid=5713,fd=43))

Как только вы закончите, вы можете перейти к следующему шагу.

Настроить Nginx для Tomcat

Далее рекомендуется использовать Nginx в качестве обратного прокси для доступа к приложению Tomcat.

Сначала установите веб-сервер Nginx с помощью следующей команды:

apt-get install nginx -y

После установки Nginx создайте новый файл конфигурации виртуального хоста Nginx:

nano /etc/nginx/conf.d/tomcat.conf

Добавьте следующие строки:

server {
  listen 80;

  server_name    tomcat.example.com;
  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8080/;
  }
}

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

nginx -t

Вы должны получить следующий результат:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Затем перезапустите Nginx, чтобы применить изменения:

systemctl restart nginx

Вы также можете проверить статус службы Nginx с помощью следующей команды:

systemctl status nginx

Если все в порядке, вы должны увидеть следующий вывод:

? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-07-01 05:00:32 UTC; 6s ago
     Docs: man:nginx(8)
  Process: 6322 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 6323 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 6324 (nginx)
    Tasks: 2 (limit: 2359)
   Memory: 2.7M
   CGroup: /system.slice/nginx.service
           ??6324 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??6325 nginx: worker process

Jul 01 05:00:32 tomcat systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 01 05:00:32 tomcat systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jul 01 05:00:32 tomcat systemd[1]: Started A high performance web server and a reverse proxy server.

Как только вы закончите, вы можете перейти к следующему шагу.

Доступ к приложению Tomcat

Теперь откройте веб-браузер и войдите в приложение Tomcat, используя URL-адрес http://tomcat.example.com. Вы будете перенаправлены на следующую страницу:

Нажмите «Управление приложением». Вы должны увидеть страницу входа в приложение Manager:

Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель управления приложения Manager на следующей странице:

Чтобы получить доступ к Host Manager, щелкните Host Manager на домашней странице Tomcat. Вы должны увидеть страницу входа в Tomcat Host Manager:

Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель управления Tomcat Host Manager на следующей странице:

Заключение

Поздравляем! вы успешно установили Apache Tomcat 10 на сервер Debian 10. Теперь вы можете создать приложение Java и разместить его с помощью Apache Tomcat. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.