Процесс tomcat. Настройка веб-интерфейса управления Tomcat. Создание файла systemd

На протяжении всего времени изучения и освоения Java, я старался разобраться и научиться программировать/писать Window Application. Но, если честно, поразмыслив на досуге, решил все-таки сменить вектор обучения: решил освоить Servlet -ы и податься в облака Web -программирование. Для работы /изучения сервлетов нам понадобится веб-сервер Apache Tomcat .
Apache Tomcat - программа-контейнер сервлетов, написанная на языке Java и реализующая спецификацию сервлетов и спецификацию JavaServer Pages (JSP), которые являются стандартами для разработки веб-приложений на языке Java.

Tomcat позволяет запускать веб-приложения, содержит ряд программ для самоконфигурирования.

Tomcat используется в качестве самостоятельного веб-сервера, в качестве сервера контента в сочетании с веб-сервером Apache HTTP Server, а также в качестве контейнера сервлетов в сервере приложений JBoss.

Другими словами без Tomcat при написании сервлетов нам не обойтись.

Когда-то в одном из своих постов на блоге я уже писал про установку и настройку Apache Tomcat, но хотелось бы рассмотреть эту тему более подробно и детально.

В данной статье хотелось бы более подробно рассмотреть настройку и установку Tomcatдля ОС Windows. Настройку Apache Tomcat для ОС Linux вынесу в отельную статью. Материал по данной тематике огромный, поэтому этот пост будет добавляться/обновляться по мере изучения и освоения Tomcat.

Итак, понеслось....
Для начала нам необходимо скачать TomCat с официального сайта разработчиков . Описание доступных версий TomCat можно посмотреть на данной страничке . На момент написания статьи последней стабильной версией была 7.0.14 .
Приведу прямые ссылки для скачивания данной версии:
Рассмотрим вариант установки Tomcat при помощи исполняемого файла, который установит Tomcat в качестве службы Windows и TomCat будет запускаться при старте системы. После скачивания установщика запускаем его и отвечаем на простые вопросы:вначале соглашаемся с лицензионным соглашением, затем выбираем тип установки (полный, выборочный, нормальный, минимальный) - я выбрал полный. Дальше установщик запросит у нас некоторую конфигурацию: порт подключения (по умоланию 8080):

Настройки Apache TomCat
Это означает, что для запуска Tomcat в командной строке броузера нам нужно будет вводить адрес вида: https://localhost:8080 Значение порта подключения можно оставить по умолчанию, но если у нас на компьютере или сервере будет использоваться в качестве Web-сервера только Tomcat , то значение порта можно поставить равное 80 . Следовательно строка ввода адреса в браузере будет выглядеть просто https://localhost (без указания порта). Укажем порт 80. В последствие данное значение можно будет изменить вручную в настройках сервера (файл server.xml ).
Далее указываем свой логин и пароль. Роли оставим указанные по умолчанию: admin-gui, manager-gui . Далее указываем путь к установленной jdk на нашем компьютере. И в завершение указываем путь куда устанавливать TomCat и нажимаем Install.
После завершения установки оставляем галочку "Запустить TomCat ":
Завершение установки TomCat
Нажав кнопку Finish , мы увидим окно запуска TomCat в качестве сервиса ОС Windows:
Теперь наступила пора проверить работоспособность сервера TomCat: для этого в сроке ввода адреса в нашем любимом браузере вводим команду:
https://localhost:8080 В результате, если все прошло гладко, откроется домашняя страница TomCat:
Домашняя страница Apache TomCat на нашем localhost

Часть информации и документации на открывшейся страничке localhost будет дублируется с официального сайта.
Кроме того, установленный сервер TomCat будет доступен пользователям Вашей локальной сети - никаких дополнительных настроек делать не нужно.
На этом данный вид установки TomCat можно считать завершенным.

Теперь коротко рассмотрим другой вариант установки и запуска: из архива. Итак.. после скачивания архива для соответствующей архитектуры Winsows распаковываем его в любое удобное для нас место, например D:/Java/apache-tomcat-7.0.14/ Запускаем командную строку Windows и переходим в папку: D:/Java/apache-tomcat-7.0.14/bin/ - в данной папке находятся исполняемые файлы для TomCat. Для установки TomCat в качестве службы Windows вводим команду:
service.bat install Более подробную информацию по установке можно почитать на данной страничке .
Запускать TomCat можно при помощи команды
startup.bat Остановить сервер можно при помощи команды команды:
shutdown.bat Не забываем предварительно добавить системные переменные: CATALINA_HOME и JAVA_HOME . Выглядеть они будут примерно так:
JAVA_HOME: c:\Program Files\Java\jdk1.6.0_18\
CATALINA_HOME: D:/Java/apache-tomcat-7.0.14

Собственно на этом установка Apache TomCat закончена. Информация о дополнительной настройке и использовании TomCat будет чуть позже.

Мне необходимо было настроить и запустить Tomcat на Mac OS X (Mountain Lion) и зарегистрировать данный сервер приложений (контейнер сервлетов) в NetBeans.
Для того чтобы это сделать, я выполнил следующие пункты.

Установка Tomcat
  1. Скачать архив Tomcat отсюда .
  2. Распаковать архив, например, в папку пользователя. ~/apache-tomcat-7.0.42
  3. Открыть программу «Терминал».
  4. Перейти в папку «bin» cd ~/apache-tomcat-7.0.42/bin и установить разрешение на запуск файлов с расширением.sh. sudo chmod +x ./*.sh
  5. Установить переменную окружения CATALINA_HOME. Для того чтобы она сохранилась не на время сессии в терминале, а постоянно, нужно ее прописать в файле «launchd.conf».
    Создать/открыть файл (пример приведен с помощью редактора vi, но можно использовать любой другой, например emacs): sudo vi /etc/launchd.conf
    Перейти в режим вставки: «клавиша s».
    Записать туда текст: setenv CATALINA_HOME /Users/ХХХ/apache-tomcat-7.0.42
    XXX - это имя вашего пользователя, если вы сохранили tomcat в папку пользователя как было указано в п.2, если нет, то укажите путь к папке, куда вы сохранили tomcat.
    Закрыть режим вставки «клавиша Esc».
    Перейти в режим команды «клавиша:».
    Сохранить файл, команда «wq».
  6. По умолчанию сервер настроен на порт 8080. Чтобы его изменить нужно перейти в папку «conf»: cd ~/apache-tomcat-7.0.42/conf
    Открыть там файл «server.xml».
    Найти тэг «Connector» где атрибут port равен «8080» и установить атрибут port в нужное Вам значение:
  7. По умолчанию пользователь, имеющий права публикации (deploy) на сервер через веб GUI или через скрипт, отключен. Его нужно прописать в файле «tomcat-users.xml». Для этого нужно перейти в папку «conf»: cd ~/apache-tomcat-7.0.42/conf
    Открыть там файл «tomcat-users.xml» и добавить следующее (имя пользователя и пароль можно использовать отличающиеся от приведенных):
  8. Перезагрузить компьютер, чтобы установленная переменная окружения CATALINA_HOME установилась.
  9. Открыть программу «Терминал».
  10. Перейти в папку «bin» cd ~/apache-tomcat-7.0.42/bin и запустить скрипт «startup.sh»
    sh startup.sh
    Должно отобразиться в терминале примерно следующее (в зависимости от ваших настроек системы): Using CATALINA_BASE: /Users/ХХХ/apache-tomcat-7.0.42 Using CATALINA_HOME: /Users/ХХХ/apache-tomcat-7.0.42 Using CATALINA_TMPDIR: /Users/ХХХ/apache-tomcat-7.0.42/temp Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home Using CLASSPATH: /Users/ХХХ/apache-tomcat-7.0.42/bin/bootstrap.jar:/Users/XXX/apache-tomcat-7.0.42/bin/tomcat-juli.jar
  11. Запустить браузер и набрать в адресной сроке http://localhost:8080 . Если вы поменяли порт, как было указано в п. 6, то укажите свой порт.
  12. Должна открыться домашняя страница tomcat.
  13. По кнопке «Server status» можно посмотреть статус поднятого сервера. Нужно будет ввести имя пользователя и пароль созданные ранее.
  14. По кнопке «Manager App» можно публиковать (удалять) приложения. Нужно будет ввести имя пользователя и пароль созданные ранее.
  15. Остановка сервера выполняется следующим образом. Перейти в папку «bin» cd ~/apache-tomcat-7.0.42/bin и запустить скрипт «shutdown.sh»
    sh shutdown.sh
Регистрация сервера Tomcat в NetBeans
  1. Если была установлена 8 версия Tomcat, то необходимо сделать символьную ссылку на каталог библиотек.
    ln -s /Users/XXX/apache-tomcat-8.0.0-RC3/lib /Users/XXX/apache-tomcat-8.0.0-RC3/common/lib
  2. Открыть NetBeans
  3. Меню Сервис->Серверы
  4. В открывшемся окне нажать кнопку «Добавить сервер»
  5. В открывшемся окне выбрать «Apache Tomcat» и нажать кнопку «Далее»
  6. В следующей отображенной панели указать домашнюю папку Tomcat, например "/Users/ХХХ/apache-tomcat-7.0.42"
  7. Указать имя пользователя и пароль, созданные ранее. Нажать кнопку «Далее».
  8. Указать порт, если он был изменен ранее. Нажать кнопку «Готово».
  9. Для проверки можно создать Веб приложение и выбрать в качестве сервера приложений Apache Tomcat. После чего запустить его из NetBeans. Данное приложение развернется автоматически в Tomcat-е и запуститься в браузере, например под таким адресом: http://localhost:8090/WebApplication1 (обычно по умолчанию шаблон веб приложения содержит страничку jsp с текстом «Hello World!»).
Примечание
Это не относится к настройке Tomcat или регистрации сервера Tomcat в NetBeans, но некоторые приложения ищут java в папке /bin, а в Mac OS X java устанавливается в другие папки, но при этом есть символьная ссылка на java в папке /usr/bin.
Таким образом нужно сделать еще одну символьную ссылку на java.
sudo ln -s /usr/bin/java /bin/java |

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

Требования

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

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

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

sudo apt-get update

Чтобы установить JDK, введите:

sudo apt-get install default-jdk

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

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

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

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

sudo groupadd tomcat

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

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

После этого приступайте к установке Tomcat.

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

На данный момент Tomcat 8 проще всего установить вручную из бинарного релиза.

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

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

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

curl -O http://apache.mirrors.ionfish.org/tomcat/tomcat-8/v8.0.33/bin/apache-tomcat-8.0.33.tar.gz

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

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

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

4: Права

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

Откройте каталог Tomcat:

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

sudo chgrp -R tomcat conf
sudo chmod g+rwx conf
sudo chmod g+r conf/*

Затем сделайте пользователя tomcat владельцем каталогов 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 выделен красным.

Теперь добавьте к полученному значению секцию /jre и установите в качестве значения JAVA_HOME:

JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre

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

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

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

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


Description=Apache Tomcat Web Application Container
After=network.target
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
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
WantedBy=multi-user.target

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

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

sudo systemctl daemon-reload

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

sudo systemctl start tomcat

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

sudo systemctl status tomcat

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

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

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

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

sudo ufw allow 8080

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

http://server_domain_or_IP:8080

На экране появится приветственная страница 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.

sudo systemctl restart tomcat

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

Теперь сервер Tomcat запущен. Откройте в браузере веб-интерфейс управления. http://server_IP_address:8080

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

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

Теперь откройте Manager App, доступный по ссылке:

http://server_IP_address:8080/manager/html

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

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

http://server_IP_address:8080/host-manager/html/:

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

Заключение

Готово! Теперь сервер Tomcat полностью готов к обслуживанию приложений Java.

Tags: ,

Замысел написать эту статью про установку и настройку, наверное, одного и самых популярных веб-серверов на Java возник уже давно. Одной из причин было желание сделать небольшую заметку "для себя" с подробной инструкцией. Возможно эта статья также пригодится другим java программистам. Пользы для кого-нибудь ещё, например для системных администраторов в ней будет не так много. Скорее всего они просто сделают так: apt-get install tomcat8 и затем потребуют у программиста war-ик для развертывания. Программист же часто хочет чуть большего — например, возможности работать с различными версиями серверов (которых может даже ещё нет в официальном репозитории) или наоборот откатиться к какой-то специфичной версии. Системному администратору такие исследования, как правило, не нужны. По-хорошему, у него должна стоять просто стабильная работающая версия, на которую периодически он будет накатывать обновления и лишний раз на неё не дышать.

В общем, это статья про то, как программисту установить Apache Tomcat под Linux чтобы "поиграться" с ним, но при этом ничего сильно не сломать.
Также эта статья может быть полезна в тех случаях, когда начинающий java программист отладив свое веб-приложение Tomcat запущенным на Windows, сталкивается со жгучим желанием развернуть свой сайт на какой-нибудь недорогой VPS-ке с Ubunt-ой.

Статья может показаться излишне многословной, но мне хотелось рассказать про основные "грабли" и способы их обхода. Могу предположить, что системные администраторы могут быть недовольны тем, что это решение недостаточно системные. Поэтому тем, кто хочет подробно изучить данный вопрос или посвятить свою жизнь профессиональной (т.е. получать за это деньги) настройки линуксовых серверов, тому лучше следует обратиться к соответствующей литературе, обучится этому ремеслу у профессионала и черпать знания у сисадминского сообщества. Здесь же у меня просто блог для java программистов.

Итак, поехали!

Подготовка

Исходные данные.
Linux. Debian 9. 64bit.

1. Устанавливаем JDK.
Почему JDK, а не JRE? По-факту достаточно JRE, но лично мне приятно иметь возможность в случае необходимости по-быстрому скомпилировать программку на java прямо на сервере.
Вы не поверите, но жизнь такая интересная штука, никогда не угадаешь когда тебе может понадобится скомпилировать и запустить что-то на Java. Лично мне запуск javac из консоли на сервере помогал несколько раз.

Далее, я предпочитаю ставить Oracle JDK. Собственно OpenJDK тоже неплох и устанавливается гораздо проще (sudo apt-get install default-jdk). Просто я отдаю предпочтение оригинальной Sun/Oracle. Тем не менее, ставить Oracle JDK, OpenJDK или какую-либо другую версию - личное дело каждого. Лично я отношусь к пользователям Open JDK без предубеждения. Более того, сам часто использую версии Open JDK (например Java 9) для того, чтобы ознакомиться с их новыми возможностями.

Установка Oracle JDK под Windows и Linux сильно отличаются. Под Windows проще установить Oracle JDK проще простого (скачать и запустить), а сборку Open JDK под Windows нужно ещё поискать.
С Linux-ом всё наоборот. Open JDK как я писал ставится очень просто через apt, с Oracle JDK чуть сложнее.

В интернете существует совет, что для установки нужно добавить ещё один apt-репозиторий. Я так не делаю. Возможно это лично моя паранойя, но я стараюсь так не делать и делаю установку руками. Особенно если учесть, что установка заключается в том, чтобы скачать и распаковать архив .

Выбираем jdk-XYZ-linux-x64.tar.gz файл. Правой кнопкой - сохранить ссылку.

$wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [ссылка]

Например так:

$sha256sum jdk-8u73-linux-x64.tar.gz

Смотрим что показалось на экране и сверяем значение, с тем что опубликовано на официальном сайте.
Для этого заходим на сайт на сайт загрузки и ищем строчку Checksum .

Например для jdk-8u73-linux-x64.tar.gz

$tar -xzf jdk-8u73-linux-x64.tar.gz -C /opt

По старой привычке я складываю всё в "/opt". После этого делаю симлинк.

$wget http://apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-8/v8.0.33/bin/apache-tomcat-8.0.33.tar.gz

Проверяем хэши.

$wget https://www.apache.org/dist/tomcat/tomcat-8/v8.0.33/bin/apache-tomcat-8.0.33.tar.gz.sha1 $sha1sum -c apache-tomcat-8.0.33.tar.gz.sha1

Тоже самое в картинках:

2. Сервер можно распаковать туда же в /opt.

JAVA_HOME=/opt/jdk

Про этот файл можно почитать в документации: RUNNING.txt .
На самом деле, часто некоторые разработчики просто тупо вбивают "JAVA_HOME=...." прямо в catalana.sh.
Дело в том, что проще открыть nano catalana.sh и поправить его, чем создавать setenv.sh (а точнее как-то узнать про его существование), хотя изначально этот файл специально был сделан для того, чтобы менять ключи JVM и различные переменные окружения, и при этом не портить основной запускаемый файл.

Вот выдержка из документации:

Using the "setenv" script (optional, recommended)

Apart from CATALINA_HOME and CATALINA_BASE, all environment variables can
be specified in the "setenv" script. The script is placed either into
CATALINA_BASE/bin or into CATALINA_HOME/bin directory and is named
setenv.bat (on Windows) or setenv.sh (on *nix). The file has to be
readable.

By default the setenv script file is absent. ...

Строго говоря, часто переменная окружения JAVA_HOME часто указывает туда, где установлена системная JVM. По-большому счету это правило работает, но часто в работе/отладке приходится запускать какую-то конкретную версию Tomcat-а под какой-то специальной версией JVM. Поэтому удобно иметь возможность гибко менять настройки через setenv.sh.

После того как все пути настроены, запускаем и проверяем, что все хорошо работает.

Кстати заметил интересный момент. При запуске на виртуальном хостинге может быть довольно ощутимая задержка в старте (около минуты).
Не хочется углубляться в детали, но мне помогла установка haveged.

$groupadd tomcat $useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat $chown -R tomcat:tomcat /opt/tomcat

После этого проверяем, что всё запускается. Например так:

$iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

Естественно нужно убедиться, что у вас не установлен уже какой-нить веб-сервер (например apache или nginx), который работает на 80-ом порту.

Проверяем, что все нормально и если всё хорошо - сохраняем правило переброса портов.

$apt-get install iptables-persistent

Собственно говоря всё.

Теперь о том, на что скорее всего обратят внимание профессиональные системные администраторы.

1. Tomcat заводят через mod_jk за Apache HTTPD или за Nginx (через reverse proxy).
Это дает возможность разделить статику, балансировать нагрузку и делать многие другие полезные штуки. Это круто в продакшене, но в девелоперской конфигурации это ещё один слой который не всегда упрощает отладку и разработку.
В принципе в настройке ничего сложного нет, но всё равно нужно будет покурить документацию. Раньше я предпочитал связку через mod_jk, теперь чаще сталкиваюсь с Nginx.

2. Нужно сделать запуск Tomcat-а как службу. Это не паранойя, а здравый смысл. По-крайней мере если не дай Бог сервер перезапустится, не нужно будет в ручную его запускать.

3. Правильные сисадмины разводят файлы томката по правильным папкам (/etc, /var/log и т.д.) и более деликатно относятся к правам доступа к конфигурационным файлам (и не только).
Можно посмотреть, как это делается через apt-get install tomcat8.

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

5. Хорошие сисадмины настраивают iptables и прикрывают 8080 порт извне. Точнее они прикрывают все порты, к которым не нужен доступ из вне.

Если уж говорить на чистоту, то лично я не люблю заниматься администрированием и настройкой серверов. Каждый должен заниматься своим делом, пусть это делает линуксоид со стажем. Ещё раз повторюсь, здесь речь идет скорее о некой девелоперской конфигурации, т.к. сисадмин делает установку нормальной стабильной версии "на века", настраивает её и потом периодически накатывает обновления. Программисту же, в силу своей профессиональной деятельности, приходится периодически меняет настройки, тестировать, менять версии библиотек, конфиги, что-то накатывать/откатывать и делать другие непотребства с сервером, пока не добьется от сервера нужной работы.

С другой стороны, всегда нужно соблюдать технику безопасности.

Не запускать от рута (даже если нужен 80-ый порт).
- Закрывать доступ к служебным портам.
- Не оставлять дефолтных паролей.
- Не запускать непонятных и непроверенных программ.

В идеале этим нужно заниматься у себя в песочнице, но часто такие вещи нужно уметь делать и в реальном мире.
Да и вот мой реферал на DigitalOcean , для всяких пробных веб-проектов на Java я пользуюсь их хостингом. Раньше пользовался brim.ru, они наверное самый известный java-хостинг в России.

PS: Если совсем не терпится и хочется сделать совсем всё по-быстрому, то можно запустить в два-три шага:
1. Через apt-get поставить tomcat8
2. Загрузить свой ROOT.war
3. Если нужно пробросить порт.

В статье рассказывается о том, как поднять на своем компьютере локальный java сервер и прописать простейшее web-приложение.

Tomcat нужен для работы Java сервера с применением сервлетов . Если грубо говоря, то сервелеты это аналог тех же php скриптов. На сервер Tomcat от клиентов приходят запросы. В зависимости от них сервер запустит те или иные сервелеты, которые сформируют ответы в виде текстовых файлов. Чаще всего это html страницы.

Установка JDK

Для работы современных версий Android Studio или IntelliJ IDEA не нужно производить дополнительные действия, чтобы программы могли найти JDK и запускать java приложения. Но мы будем на данный момент компилировать сервлеты вручную, так что для удобства мы пропишем путь к папке JDK в системную переменную Path в Windows. Ниже приведена инструкция для Windows 10.

У меня JDK находится в папке C:\Program Files\Java\jdk1.8.0_121\bin .

Кликните правой кнопкой по иконке Этот компьютер и перейдите в Свойства .

Внимание! Не вздумайте удалять всё содержимое переменной Path . Иначе у операционной системы возникнут очень большие проблемы. Вы должны дописать в эту переменную нужный путь.

Установка Apache Tomcat

Скачиваем установочный файл.

Устанавливаем Tomcat.

Эти компоненты должны быть выбраны.

Для учебных целей можно параметры оставить по умолчанию.

После этого в трее должен появится значок запущенного сервиса.

В папке webapps создадим папку с названием web-приложения. Допустим, testingapp .