Меню Рубрики

Установка tomcat apache debian

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

1. Предпосылки

Tomcat требует Java JDK для установки на машину. Вы можете установить Oracle JDK или OpenJDK. Вы должны иметь установленной Java версии 8 или более поздней версии на вашей системе для запуска Tomcat 9.

2. Вход и обновление системы

Войдите в свой сервер на Debian 9 VPS через SSH с правами суперпользователя

3. Установка Java

В этом руководстве мы используем Java версии 10.01

Теперь давайте создадим некоторые переменные окружения

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

Выполните эту команду, чтобы загрузить переменные среды

Настройка новой установленной Oracle Java JDK по умолчанию в вашей системе. Вызов следующих команд:

Давайте установим права доступа и владельца исполняемых файлов

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

Если вы видите следующее сообщение:

Это означает, что вы никогда не устанавливали Java раньше, вы установили его только сейчас.
Если вы видите другое сообщение, содержащее версии Java для выбора, то вы раньше установили другую версию Java.

4. Установка Tomcat 9 на Debian 9

Теперь давайте перейдем к установке Apache Tomcat 9

Перейдите на официальный сайт Apache Tomcat: http://tomcat.apache.org/download-90.cgi и скачайте версию архива .tar с ядром

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

Затем переместите несжатый каталог в /opt

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

Измените владельца извлеченного каталога на пользователя Tomcat, который мы только сейчас создали.

5. Создание учетной записи пользователя Tomcat 9

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

Не забудьте заменить пароль на фактический сильный пароль.

6. Включить хост / диспетчер для удаленного IP

По умолчанию страницы менеджера и хост-менеджера доступны только с локального хоста, или из браузера, работающего на той же машине, что и Tomcat. Это означает, что если вы получаете доступ с другого IP-адреса, вы увидите сообщение об ошибки 403. Чтобы получить доступ к страницам с удаленных IP-адресов, вам нужно разрешить ваш удаленный IP-адрес в каждом развернутом веб-приложении. Вы можете сделать это путем редактирования файла context.xml.

Отредактируйте файл context.xml и добавить свой IP-адрес в разделе «allow»

7. Запуск / Остановка сервиса Tomcat

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

Для запуска Tomcat, вы можете вызвать эту команду:

Выход вы увидите после вызова команды:

Для того, чтобы остановить его, используйте команду:

Вы можете получить доступ Tomcat по адресу: //ip_адрес: 8080/ в своем веб-браузере.

Вы сможете получить доступ к менеджеру Apache Tomcat, нажав на кнопку «Manager App» на главной странице, или непосредственно по адресу: //IP_address: 8080/manager/html с помощью пользователя «admin» и пароля «PASSWORD», который мы создали ранее.

Чтобы получить доступ к Tomcat с полным доменным именем и использовать порт 80 вместо 8080, вы можете добавить следующий файл виртуального хоста apache:

Перезапустите Apache, теперь вы сможете получить доступ к странице http://yourdomain.ru.

PS . Если вам понравился этот пост, о том, как установить Tomcat 9 на Debian 9, пожалуйста, поделитесь им с друзьями или просто оставьте комментарий ниже. Благодарю.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

источник

Предложение от 8host.com

Установка Apache Tomcat 9 в Debian 9

Apache Tomcat – это сервер приложений, который используется для обслуживания приложений Java. Tomcat – это открытая реализация технологий Java Servlet и JavaServer Pages, выпущенная Apache Software Foundation. Этот мануал поможет установить и настроить Tomcat 9 на сервере Debian 9.

Требования

Для работы вам нужен сервер Debian 9, настроенный по этому мануалу.

1: Установка Java

Для работы Tomcat необходимо установить Java, иначе код Java не будет выполняться. Установите OpenJDK при помощи стандартного пакетного менеджера apt.

Сначала нужно обновить индекс пакетов.

Чтобы установить JDK (Java Development Kit), введите:

sudo apt install default-jdk

После установки Java создайте специального пользователя tomcat для запуска сервиса Tomcat.

2: Создание пользователя Tomcat

В целях безопасности сервер Tomcat следует запускать с правами обычного пользователя (т.е. не root). Для этого создайте нового пользователя и группу.

Примечание: В некоторых средах по умолчанию установлен пакет unscd, предназначенный для ускорения работы серверов имен типа LDAP. Его последняя версия в репозитории Debian содержит баг, из-за которого некоторые команды (например, adduser, которую мы используем ниже) выводят такие дополнительные строки:

sent invalidate(passwd) request, exiting
sent invalidate(group) request, exiting

Эти сообщения безвредны, но если вы хотите от них избавиться и не планируете использовать LDAP и подобные серверы, удалите пакет unscd.

Чтобы создать группу tomcat, введите:

После этого нужно создать пользователя tomcat, который должен состоять в одноименной группе. Домашний каталог пользователя – /opt/tomcat (в него будет установлен Tomcat); оболочка – /bin/false (чтобы никто не смог войти в учётную запись):

sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

3: Установка Tomcat

Tomcat 9 проще всего установить вручную из бинарного релиза.

На сайте проекта найдите последнюю версию Tomcat. На данный момент такой версией является 9.0.11. В разделе Binary Distributions найдите список Core и скопируйте ссылку на tar.gz.

Читайте также:  Установка разъединителя на опоре или ктп

На сервере перейдите в каталог /tmp, который предназначен для временных пакетов.

Для дальнейшей работы нужно установить curl:

Чтобы загрузить архив Tomcat, используйте следующую команду (приведенная ниже ссылка может отличаться):

curl -O http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.11/bin/apache-tomcat-9.0.11.tar.gz

Установите Tomcat в каталог /opt/tomcat. Создайте этот каталог и извлеките в него архив:

sudo mkdir /opt/tomcat
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat —strip-components=1

После этого нужно установить соответствующие права на каталог.

4: Настройка доступа

Пользователь tomcat должен иметь доступ к установке Tomcat.

Передайте пользователю tomcat права на каталог:

sudo chgrp -R tomcat /opt/tomcat

Затем дайте пользователю tomcat право на изменение каталога conf и право на чтение файлов в нём:

sudo chmod -R g+r conf
sudo chmod g+x conf

После этого сделайте пользователя tomcat владельцем каталогов webapps, work, temp и logs.

sudo chown -R tomcat webapps/ work/ temp/ logs/

5: Создание сервиса systemd

Чтобы запустить Tomcat как сервис, нужно создать service-файл systemd.

Серверу Tomcat нужно знать, где находится установка Java. Этот путь называется JAVA_HOME. Чтобы узнать расположение установки, используйте команду:

sudo update-java-alternatives -l
java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64

Примечание: В данном примере JAVA_HOME выделен красным.

В данном случае JAVA_HOME будет выглядеть так:

Примечание: Переменная JAVA_HOME может отличаться.

Теперь можно создать service-файл. Откройте tomcat.service в каталоге /etc/systemd/system:

sudo nano /etc/systemd/system/tomcat.service

Внесите в файл следующий скрипт, при необходимости изменив JAVA_HOME; также можно изменить настройки распределения памяти, которые указаны в CATALINA_OPTS:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
Environment=CATALINA_P > Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment=’CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC’
Environment=’JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom’
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

Сохраните и закройте файл.

После этого нужно перезапустить демон systemd:

sudo systemctl daemon-reload

Теперь сервис Tomcat готов к запуску. Для этого используйте:

sudo systemctl start tomcat

Убедитесь, что при запуске не произошло ошибок:

sudo systemctl status tomcat

tomcat.service — Apache Tomcat Web Application Container
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2018-09-05 20:47:44 UTC; 3s ago
Process: 9037 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 9046 (java)
Tasks: 46 (limit: 4915)
CGroup: /system.slice/tomcat.service
└─9046 /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Dja
Sep 05 20:47:44 tomcat systemd[1]: Starting Apache Tomcat Web Application Container.
Sep 05 20:47:44 tomcat systemd[1]: Started Apache Tomcat Web Application Container.

6: Настройка брандмауэра и тестирование сервера Tomcat

После запуска сервиса Tomcat нужно убедиться, что стандартная страница доступна в браузере.

Но сначала нужно откорректировать настройки брандмауэра и разблокировать порт Tomcat. Если вы следовали мануалу по начальной настройке сервера, на данный момент сервер защищён брандмауэром ufw.

Для обработки запросов Tomcat использует порт 8080. Чтобы разблокировать трафик этого порта, введите:

Теперь брандмауэр поддерживает трафик Tomcat. Чтобы получить доступ к стандартной странице сервиса, откройте в браузере ссылку:

На экране появится приветственная страница Tomcat, которая содержит некоторую информацию о программе. Однако доступа к ссылкам (например, Manager App) у вас на данный момент нет.

Если всё работает должным образом, включите service-файл, чтобы сервис Tomcat автоматически запускался вместе с сервером.

sudo systemctl enable tomcat

7: Настройка веб-интерфейса Tomcat

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

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

Теперь нужно добавить пользователя, который будет иметь доступ к поставляемым с Tomcat интерфейсам: manager-gui и admin-gui. Для этого можно использовать приведённый ниже код (только выберите более надёжное имя и пароль пользователя):

Сохраните и закройте файл tomcat-users.xml.

По умолчанию более новые версии Tomcat ограничивают доступ к приложениям Manager и Host Manager подключениями, поступающими с самого сервера. Поскольку мы устанавливаем Tomcat на удаленную машину, это ограничение нужно снять или изменить. Чтобы изменить ограничения доступа по IP-адресам, откройте соответствующие файлы context.xml.

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

Для приложения Host Manager:

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

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

Сохраните и закройте файл.

Чтобы обновить настойки, перезапустите сервис Tomcat.

sudo systemctl restart tomcat

8: Доступ к веб-интерфейсу

Теперь сервер Tomcat запущен. Откройте в браузере веб-интерфейс.

На экране появится страница с сообщением:

If you’re seeing this, you’ve successfully installed Tomcat. Congratulations!

Также на этой странице есть ссылки на веб-приложения админа, для которых ранее была создана учётная запись администратора.

Теперь откройте приложение Manager App по ссылке:

По запросу введите свои учетные данные.

Этот менеджер нужен для управления приложениями Java. Он позволяет запускать, перезапускать, развертывать, останавливать и сворачивать их. Кроме того, он может выполнять диагностику приложений (к примеру, обнаруживать утечки памяти). В конце этой страницы содержится информация о сервере.

Теперь откройте Host Manager:

Страница Virtual Host Manager нужна для управления виртуальными хостами; она позволяет добавлять виртуальные хосты для развёртывания приложений.

Заключение

В настоящее время сервер Tomcat полностью готов к обслуживанию приложений Java, но пока что не шифрует данные. Это означает, что все данные, включая конфиденциальную информацию, отправляются простым текстом, который может быть перехвачен и прочитан третьими сторонами в Интернете. Чтобы этого не произошло, настоятельно рекомендуется шифровать ваши соединения с помощью SSL. Вы можете узнать, как зашифровать подключения к Tomcat, в мануале Шифрование соединений Tomcat 8 на Apache или Nginx в Ubuntu 16.04.

Читайте также:  Установка кондиционеров в могилеве в квартире

источник

HOWTO: Установка Tomcat (Apache) на Debian (Ubuntu)

Apache Tomcat — популярный сервер для java-приложений. Сам также написан на Java, а потому требуется, чтобы она была уже установлена в системе (см. установка Java в Debian). Начиная с 2011-го года версия Tomcat 6 перешла в разряд устаревших, а потому на момент написания статьи наиболее актуален Tomcat 7, хотя с 2013-го года присутствует и даже работает Tomcat 8. Потому рассмотрим установку седьмой и восьмой версий:

Установка Tomcat 7 для Debian 7

Несмотря на то, что Tomcat можно установить с помощью apt-get:

apt-get install tomcat7

Я обычно не пользуюсь таким «автоматическим» способом — тот нечастый случай, когда ставлю «вручную». Всё из-за выявленных многочисленных проблем с различными системами, которые встретились в моей практике. И хотя многое можно в конце концов «докрутить» и «донастроить» — весь такой «головняк» ни к чему. Особенно раз вы читаете эти строки — вряд ли сможете отнести себя к гуру линуксов. Да и к тому же уж сильно отстаёт версия в «стабильной» ветке Debian от доступной на официальной странице http://tomcat.apache.org.

Конкретный пример — прямо на текущий момент через apt-get в Debian 7 Wheezy (main) получите версию Tomcat 7.28, на сайте лежит Tomcat 7.55, а различные пакеты могут грозно предупреждать, что не рекомендуют пользоваться версией Томката ниже 7.30.

Потому опишу «ручной» вариант. Первым делом идём на сайт и копируем ссылку на последнюю версию Tomcat7 (см. картинку в начале статьи).

По умолчанию сработает автодетект вашего расположения, потому если это делается для удалённого сервера, можно вручную указать US/EU — см. стрелки (для увеличения — нажмите на картинку).

Нехитрый список действий для текущей версии Томкат 7.55 будет:

  • wget http://www.us.apache.org/dist/tomcat/tomcat-7/v7.0.56/bin/apache-tomcat-7.0.56.tar.gz -O tomcat7.tar.gz
  • tar -xvf tomcat7.tar.gz
  • mv apache-tomcat-* /opt/tomcat7

Для версии на момент прочтения вами данной статьи — замените выделенную полоской ссылку или даже просто выделенные цифры версии.

Конкретный пример вышеуказанных действий:

root@debian7:/install/setup# wget http://www.us.apache.org/dist/tomcat/tomcat-7/v7.0.56/bin/apache-tomcat-7.0.56.tar.gz -O tomcat7.tar.gz
— 2014-08-01 13:01:31— http://www.us.apache.org/dist/tomcat/tomcat-7/v7.0.56/bin/apache-tomcat-7.0.56.tar.gz
Resolving www.us.apache.org (www.us.apache.org). 140.211.11.131
Connecting to www.us.apache.org (www.us.apache.org)|140.211.11.131|:80. connected.
HTTP request sent, awaiting response. 200 OK
Length: 8941662 (8.5M) [application/x-gzip]
Saving to: `tomcat7.tar.gz’
100%[==========================================================>] 8,941,662 2.92M/s in 2.9s
2014-08-01 13:01:34 (2.92 MB/s) — `tomcat7.tar.gz’ saved [8941662/8941662]
root@debian7:/install/setup# tar -xvf tomcat7.tar.gz
apache-tomcat-7.0.56/bin/catalina.sh
apache-tomcat-7.0.56/bin/configtest.sh
.
apache-tomcat-7.0.56/webapps/manager/status.xsd
apache-tomcat-7.0.56/webapps/manager/xform.xsl
root@debian7:/install/setup# mv apache-tomcat-* /opt/tomcat7
root@debian7:/install/setup#

У меня Tomcat будет установлен в /opt/tomcat7 (вы можете выбрать любое другое место). Чтобы ПО, требующее Tomcat, «знало» про данный каталог — нужно добавить переменную окружения CATALINA_HOME, указывающую на него («Catalina» — имя древних версий Tomcat). Для этого (аналогично тому, как для Java в Linux) прописываем в .bashrc файле юзера, из-под которого будут запускаться java-приложения:

export CATALINA_HOME=/opt/tomcat7

Ещё раз — вместо /opt/tomcat7, если у вас это будет другое расположение — прописываем именно своё.

Перезагружаемся или перелогиниваемся нужным юзером и радуемся.

Только стоит помнить, что если в процессе отработки вы используете sudo — запускаете нужное из-под рута — то для пользователя root также (или вообще только для него) нужно прописать данную переменную (равно как JAVA_HOME и/или другие). Иначе будете удивляться ошибкам, думая, что вроде всё прописали, а запускаемое не может этого найти.

Теперь нужно запустить сам Tomcat-сервер. Для этого создаём скрипт запуска. Сделаем файл tomcat7 в /etc/init.d:

nano /etc/init.d/tomcat7

Либо другим привычным вам редактором — со следующим содержанием:

  • #!/bin/bash
  • export CATALINA_HOME=/opt/tomcat7
  • export JAVA_OPTS=»-Xms1024M -Xmx1024M -Dfile.encoding=UTF-8″;
  • PATH=/sbin:/bin:/usr/sbin:/usr/bin
  • start () <
  • sh $CATALINA_HOME/bin/startup.sh
  • >
  • stop () <
  • sh $CATALINA_HOME/bin/shutdown.sh
  • >
  • case $1 in
  • start|stop) $1;;
  • restart) stop; start;;
  • *) echo «Run as $0 »; exit 1;;
  • esac

Аналогично ранее сказанному — в случае отличия указываем свой каталог (CATALINA_HOME). А также java-опции (JAVA_OPTS), если нужно — у меня стоит популярный вариант («-Xms1024M -Xmx1024M»).

При выходе обзываем tomcat7 (или по желанию) и даём права на запуск:

chmod 755 /etc/init.d/tomcat7

Теперь можно запустить Томкат-сервер:

/etc/init.d/tomcat7 start

Для остановки используем команду stop:

/etc/init.d/tomcat7 stop

А для перезапуска restart (в реальности она выполняет последовательно стоп-старт):

/etc/init.d/tomcat7 restart

Для автостарта после перезагрузки можно просто добавить в rc.local:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will «exit 0» on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/etc/init.d/tomcat7 start

Установка Tomcat 8 в Linux (Debian/Ubuntu)

Отличия установки Томкета 8 от седьмой версии практически нет. Лишь с поправкой на то, что на момент написания статьи она (восьмая версия) пока находится в бете. Итого, кратенько, пошаговая инструкция по установке Tomcat8 (плюс некоторые полезные команды):

  • wget http://www.us.apache.org/dist/tomcat/tomcat-8/v8.0.14/bin/apache-tomcat-8.0.14.tar.gz -O tomcat8.tar.gz
  • tar -xvf tomcat8.tar.gz
  • mv apache-tomcat-* /opt/tomcat8
  • nano /home/serveradmin/.bashrc
    • export CATALINA_HOME=/opt/tomcat8
  • nano /etc/init.d/tomcat8
    • #!/bin/bash
    • export CATALINA_HOME=/opt/tomcat8
    • export JAVA_OPTS=»-Xms1024M -Xmx1024M -Dfile.encoding=UTF-8″;
    • PATH=/sbin:/bin:/usr/sbin:/usr/bin
    • start () <
    • sh $CATALINA_HOME/bin/startup.sh
    • >
    • stop () <
    • sh $CATALINA_HOME/bin/shutdown.sh
    • >
    • case $1 in
    • start|stop) $1;;
    • restart) stop; start;;
    • *) echo «Run as $0 »; exit 1;;
    • esac
  • chmod 755 /etc/init.d/tomcat8
  • /etc/init.d/tomcat8 start
    • /etc/init.d/tomcat8 restart
    • /etc/init.d/tomcat8 stop
  • nano /etc/rc.local
    • /etc/init.d/tomcat8 start
Читайте также:  Установка полипропиленовых труб с коллектором

Надеюсь, всё выше понятно, если что — спрашивайте в комментариях ниже.

Безопасность Tomcat в Linux

Нужно упомянуть про несколько очень важных моментов по безопасности при работе с Tomcat. Рассмотренные выше «ручные» варианты подразумевают обычно запуск из-под root-пользователя. В результате, если вы ещё и стандартно в файле, задающем пользователей (/opt/tomcat7/conf/tomcat-users.xml) раскомментируете блок оных:

. или воспользуетесь распространёнными в интернете примерами получения админских прав типа:

То знайте — ваша система становится крайне уязвимой, особенно, если это виртуалка на каком-либо «публичном» сервисе типа Amazon AWS EC2. Дело в том, что заводчики ботнетов тоже хорошо знают про такие «криптостойкие пароли» и в упомянутом случае Амазона сразу после поднятия Томкета начинается подбор вышеупомянутых логинов-паролей с целью получения доступа к вашей виртуалке. Установив-запустив Tomcat из-под рута вы даёте взломщику ключ от всей вашей системы — в неё очень быстро попадёт какой-нибудь враждебный скрипт, пожирающий впоследствии производительность (а значит и ваши деньги), обычно для подбора паролей и взлома других «соседей» и таких же неосторожных администраторов.

Итого, совет: если вам реально не нужны пользователи — не включайте их просто. Если включаете, то только с серьёзными паролями (и это не «admin123»).

Послесловие. Далее много умных букв, читать и следовать которым нужно лишь, если вы не пользуетесь простой и понятной (и «менее проблемной», правда не с точки зрения безопасности) плюс, я бы сказал, «рабочекрестьянской» версией запуска Tomcat. Почему вам это нужно — другой вопрос. Ниже информация больше для поиска ошибки — почему у вас что-то не работает, если вы стараетесь делать всё «правильно».

User/group tomcat7

Нужно сказать, что в случае «автоматической» установки (через apt-get), Tomcat 7 ставится от имени пользователя tomcat7 и группы tomcat7. Потому и проблем с безопасностью при таком варианте нет. Однако в таком разе придётся всегда учитывать это отличие и не забывать на информацию, которая должна быть доступна для Tomcat, ставить права tomcat7 (ниже условный пример):

chown -R tomcat7:tomcat7 /var/www

В принципе, аналогичное (запуск Tomcat не из-под рута) можно сделать и для «ручного» варианта. Т.е. создать томкет группу и пользователя, домашней директорией сделать каталог, куда поставили Tomcat, объединить для удобства (и применения других привычных для apcahe-вебсервера вещей) группы www-data и созданную tomcat, а после давать права tomcat:tomcat на нужные для работы папки.

Замечание: для удобности не буду добавлять цифру в конце (как это в случае «автоматической установки» через apt-get), т.е. юзер/группа не tomcat7 и/или tomcat8, а просто tomcat — чтобы один и тот же скрипт был одинаково применим для любой версии Tomcat.

Короткий конкретный мануал для каждого:

  • groupadd tomcat
  • useradd -g tomcat -d /opt/tomcat7 tomcat
  • usermod -G www-data tomcat
  • chown -R tomcat:tomcat /opt/tomcat7
  • groupadd tomcat
  • useradd -g tomcat -d /opt/tomcat8 tomcat
  • usermod -G www-data tomcat
  • chown -R tomcat:tomcat /opt/tomcat8

Замечание: аналогично предыдущему замечанию, если раздражает, действительно, некоторая путаница tomcat-tomcat7-tomcat8 — используйте без цифры в конце (просто tomcat). Здесь же (с цифрами) я использую лишь для того, чтобы показать, что и седьмая и восьмая версии ставятся одинаково плюс привык и бывает приходится использовать два варианта Tomcat (и семёрку и восьмёрку) на одном сервере (всё же Tomcat 8 пока — на момент написания статьи — в бете).

Теперь для запуска «вручную» можно «переключиться» на пользователя tomcat:

И запустить ранее созданный скрипт (/etc/init.d/tomcat7 или /etc/init.d/tomcat8). Однако для этого у пользователя tomcat должны быть на это права, потому предварительно придётся сделать:

chown tomcat:tomcat /etc/init.d/tomcat7

Т.к. по умолчанию у данного скрипта, созданного из-под рута — права на запуск лишь от root.

Можно и без подобных телодвижений, просто перейти в папку установленного Томкета (которой мы уже делели chown tomcat:tomcat) и запустить скрипт старта:

tomcat@debian7:/linux.cmd/setup# cd /opt/tomcat7/bin
tomcat@debian7:/opt/tomcat7/bin# ./startup.sh

Важно: При переключении на нового пользователя никогда не нужно забывать, что и переменные окружения (JAVA_HOME, CATALINA_HOME и т.д) для него также будут свои (а точней — отсутствовать), т.е., например, их нужно напрямую задавать в запускаемых скриптах.

Для запуска из-под рута скрипта, который бы запускал Tomcat из-под пользователя tomcat, придётся модифицировать ранее созданный скрипт /etc/init.d/tomcat7:

  • #!/bin/bash
  • export CATALINA_HOME=/opt/tomcat7
  • export JAVA_OPTS=»-Xms1024M -Xmx1024M -Dfile.encoding=UTF-8″;
  • export TOMCAT_USER=tomcat;
  • PATH=/sbin:/bin:/usr/sbin:/usr/bin
  • start () <
  • su $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh
  • >
  • stop () <
  • su $TOMCAT_USER -c $CATALINA_HOME/bin/shutdown.sh
  • >
  • case $1 in
  • start|stop) $1;;
  • restart) stop; start;;
  • *) echo «Run as $0 »; exit 1;;
  • esac

Полоской выделены изменения — добавили запуск из-под юзера tomcat (если у вас другой — прописываем его в TOMCAT_USER).

Строго аналогично для Tomcat 8.

Небольшое итого. Запуск Tomcat не из-под рута — идеологически правильный. Однако если нет достаточного опыта, вы запускаете не давно откатанные релизные пакеты, у вас на одном сервере крутится ещё и апач-вебсервер и ещё всякого и вам приходится для всего этого настраивать и ftp-сервер, плюс ещё надцать других причин — стоит использовать варианты, предложенные мною выше, лишь соблюдая вопросы безопасности.

Читайте другие интересные статьи

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

источник

Добавить комментарий