Создание файла модуля SystemD
Вместо использования сценариев оболочки для запуска и остановки сервера Tomcat мы настроим его на работу как службу.
Откройте текстовый редактор и создайте модуля каталоге :
Вставьте следующую конфигурацию:
/etc/systemd/system/tomcat.service
Измените переменную если путь к вашей установке Java отличается.
Сохраните и закройте файл и уведомите systemd о существовании нового файла модуля:
Включите и запустите службу Tomcat:
Проверить статус услуги:
Результат должен показать, что сервер Tomcat включен и работает:
Вы можете запускать, останавливать и перезапускать Tomcat так же, как и любую другую службу systemd:
Скачать Tomcat
Мы будем использовать и чтобы загрузить и распаковать архив Tomcat. Если в вашей системе не установлены и установите пакеты с помощью:
Перейдите в каталог и загрузите zip-файл с помощью следующей команды wget :
После завершения загрузки распакуйте файл и переместите его в каталог :
Чтобы иметь больший контроль над версиями и обновлениями, мы создадим символическую ссылку которая будет указывать на каталог установки Tomcat:
Позже, если вы захотите обновить установку Tomcat, вы можете просто распаковать более новую версию и изменить символическую ссылку, чтобы она указывала на последнюю версию.
Пользователь tomcat, которого мы ранее настроили, должен иметь доступ к каталогу tomcat, поэтому мы изменим владельца каталога на пользователя и группу tomcat:
Сделайте скрипты внутри каталога исполняемыми, выполнив следующую команду :
Stop Apache Tomcat
To sop the Apache Tomcat, use the same catalina.sh script with stop parameter as shown below.
$ $CATALINA_HOME/bin/catalina.sh stop Using CATALINA_BASE: /home/tomcat/apache-tomcat-9.0.0.M21 Using CATALINA_HOME: /home/tomcat/apache-tomcat-9.0.0.M21 Using CATALINA_TMPDIR: /home/tomcat/apache-tomcat-9.0.0.M21/temp Using JRE_HOME: / Using CLASSPATH: /home/tomcat/apache-tomcat-9.0.0.M21/bin/bootstrap.jar:/home/tomcat/apache-tomcat-9.0.0.M21/bin/tomcat-juli.jar
After “catalina.sh stop”, you will not see any java tomcat process running in the background as shown below.
$ ps -ef | grep -i tomcat root 3412 2045 0 17:27 pts/0 00:00:00 su - tomcat tomcat 3413 3412 0 17:27 pts/0 00:00:00 -bash tomcat 3592 3413 0 17:42 pts/0 00:00:00 ps -ef tomcat 3593 3413 0 17:42 pts/0 00:00:00 grep --color=auto -i tomcat
Instead of using the catalina.sh script, you can also use the shutdown.sh script as shown below. This does the same thing.
$ $CATALINA_HOME/bin/shutdown.sh
The following is the output from catalina.out log file which shows that the tomcat server is properly shutdown without any issues. All of these lines start with a timestamp at the beginning, which is not shown here.
INFO org.apache.catalina.core.StandardServer.await A valid shutdown command was received via the shutdown port. Stopping the Server instance. INFO org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler INFO org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler INFO org.apache.catalina.core.StandardService.stopInternal Stopping service INFO org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler INFO org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler INFO org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler INFO org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler
Step 5: Create a systemd Service File
We want to be able to run Tomcat as a service, so we will set up systemd service file.
Tomcat needs to know where Java is installed. This path is commonly referred to as “JAVA_HOME”. The easiest way to look up that location is by running this command:
The correct variable can be constructed by taking the output from the last column (highlighted in red) and appending to the end. Given the example above, the correct for this server would be:
Your may be different.
With this piece of information, we can create the systemd service file. Open a file called in the directory by typing:
Paste the following contents into your service file. Modify the value of if necessary to match the value you found on your system. You may also want to modify the memory allocation settings that are specified in :
/etc/systemd/system/tomcat.service
When you are finished, save and close the file.
Next, reload the systemd daemon so that it knows about our service file:
Start the Tomcat service by typing:
Double check that it started without errors by typing:
Примеры использования.
Выполнить MTR для домена
MTR работает в двух режимах, графический режим (X11) и текстовом режиме на основе (Ncurses). По умолчанию, команда mtr работает в режиме X11.
$ mtr linux-notes.org
mtr linux-notes.org
Запуск в текстовом режиме -curses
Используйте опцию «-curses» чтобы работать с mtr в терминальном режиме.
$ mtr --curses linux-notes.org
Исключить Обратный DNS с помощью «-no-DNS»
MTR находит имя хоста каждого маршрутизатора / узла с помощью обратного просмотра DNS. Если вы хотите, чтобы избежать выполнение обратного поиска DNS, используйте «-no-DNS» вариант.
$ mtr --curses --no-DNS linux-notes.org
Использовать mtr в режиме отчета с помощью «-report»
$ mtr --no-DNS --report linux-notes.org
Установка mtr в Unix/Linux завершена.
Установка Apache Tomcat
Скачиваем последнюю версию с сайта http://tomcat.apache.org/. Я скачал tar.gz-архив. Binary distributions/Core/tar.gz. На момент написания статьи последней версией был apache-tomcat-8.0.24. Остаток статьи будет писаться для неё. Вам нужно будет заменить все вхождения этой версии на свою версию. Закачиваем его на наш сервер с помощью PuTTY PSCP:
pscp.exe apache-tomcat-8.0.24.tar.gz root@<IP_сервера>:/root
1 | pscp.exe apache-tomcat-8.0.24.tar.gz root@<IP_сервера>:/root |
Сервер запросит пароль. Вводим его и ждём окончания отдачи файла.
Заходим на сервер по SSH. В каталоге /root лежит наш файл apache-tomcat-8.0.24.tar.gz. Распаковываем его и перемещаем в /opt:
tar xzvf apache-tomcat-8.0.24.tar.gz
mv apache-tomcat-8.0.24 /opt/apache-tomcat-8.0.24
1 |
tar xzvf apache-tomcat-8.0.24.tar.gz mv apache-tomcat-8.0.24 /opt/apache-tomcat-8.0.24 |
Теперь на сервере в каталоге /opt у нас два каталога:
drwxr-xr-x 9 root root 4096 июля 1 21:22 apache-tomcat-8.0.24
drwxr-xr-x 8 uucp 143 4096 июня 9 05:37 jdk1.8.0_51
1 |
drwxr-xr-x 9 root root 4096 июля 1 21:22 apache-tomcat-8.0.24 drwxr-xr-x 8 uucp 143 4096 июня 9 05:37 jdk1.8.0_51 |
Установка Java
Нам нужно скачать Java. Скачиваем последнюю версию на сайте Oracle http://www.oracle.com/technetwork/java/javase/downloads/index.html
Нам нужно скачать Server JRE. Соглашаемся с лицензией и скачиваем server-jre-…-x64.tar.gz. На момент написания этой статьи последней версией бала Java 8u51. Остальную статью будут писать для этой версии. Вам нужно будет все эти вхождения заменить на ту версию, которая будет у вас.
Теперь нужно загрузить его на сервер. Для этого используем PuTTY PSCP:
pscp.exe server-jre-8u51-linux-x64.tar.gz root@<IP_сервера>:/root
1 | pscp.exe server-jre-8u51-linux-x64.tar.gz root@<IP_сервера>:/root |
Сервер запросит пароль. Вводим его и ждём окончания отдачи файла.
Заходим на сервер по SSH. В каталоге /root лежит наш файл server-jre-8u51-linux-x64.tar.gz. Нам нужно его распаковать и поместить в /opt/jre-8u51:
tar xzvf server-jre-8u51-linux-x64.tar.gz
mv jdk1.8.0_51 /opt/jdk1.8.0_51
1 |
tar xzvf server-jre-8u51-linux-x64.tar.gz mv jdk1.8.0_51 /opt/jdk1.8.0_51 |
Более подробное описание команды распаковки здесь: Как распаковать tar gz файл.
Проверяем:
/opt/jdk1.8.0_51/bin/java -version
1 | /opt/jdk1.8.0_51/bin/java -version |
Prerequisites
Our first task is to make sure our system is updated.Since we are going to install Tomcat on CentOS 8, we will run the following commands.
Next, we need to verify whether Java is already installed.
But If we do not have Java installed, we will receive the output in the ScreenShot below.
Install Java
Moving forward, let’s install Java.Apache Tomcat will not work properly if Java is not present on the system.Additionally, we need to ensure that we are installing Java OpenJDK 11. Because it is open-source and a long term release, we will not run into any licensing issues. To accomplish this task, we will use the following command.
So next, we will verify the version of Java installed by running this command.
Step 8: Access the Web Interface
Now that we have create a user, we can access the web management interface again in a web browser. Once again, you can get to the correct interface by entering your server’s domain name or IP address followed on port 8080 in your browser:
The page you see should be the same one you were given when you tested earlier:
Let’s take a look at the Manager App, accessible via the link or . You will need to enter the account credentials that you added to the file. Afterwards, you should see a page that looks like this:
The Web Application Manager is used to manage your Java applications. You can Start, Stop, Reload, Deploy, and Undeploy here. You can also run some diagnostics on your apps (i.e. find memory leaks). Lastly, information about your server is available at the very bottom of this page.
Now let’s take a look at the Host Manager, accessible via the link or :
From the Virtual Host Manager page, you can add virtual hosts to serve your applications from.
Step 6: Adjust the Firewall and Test the Tomcat Server
Now that the Tomcat service is started, we can test to make sure the default page is available.
Before we do that, we need to adjust the firewall to allow our requests to get to the service. If you followed the prerequisites, you will have a firewall enabled currently.
Tomcat uses port to accept conventional requests. Allow traffic to that port by typing:
With the firewall modified, you can access the default splash page by going to your domain or IP address followed by in a web browser:
You will see the default Tomcat splash page, in addition to other information. However, if you click the links for the Manager App, for instance, you will be denied access. We can configure that access next.
If you were able to successfully accessed Tomcat, now is a good time to enable the service file so that Tomcat automatically starts at boot:
Настройка веб-интерфейса управления Tomcat
Чтобы использовать поставляемый с Tomcat интерфейс, добавьте логин на сервер Tomcat. Для этого отредактируйте файл tomcat-users.xml:
Этот файл содержит инструкции по настройке, которые можно удалить, если они не нужны.
Теперь нужно добавить пользователя, который будет иметь доступ к поставляемым с Tomcat интерфейсам: manager-gui и admin-gui. Для этого можно использовать приведённый ниже код (но укажите более надёжное имя и пароль пользователя):
Сохраните и закройте файл tomcat-users.xml. Чтобы обновить настойки, перезапустите сервис Tomcat.
Доступ к веб-интерфейсу
Теперь сервер Tomcat запущен. Откройте в браузере веб-интерфейс управления. http://server_IP_address:8080
На экране появится страница с сообщением:
Также на этой странице есть ссылки на веб-приложения админа, для которых ранее была создана учётная запись администратора.
Этот менеджер веб-приложений нужен для управления приложениями Java. Он позволяет запускать, перезапускать, останавливать и сворачивать приложения. Кроме того, он может выполнять диагностику приложений (к примеру, обнаруживать утечки памяти). В конце этой страницы содержится информация о сервере.
Теперь откройте Host Manager:
Страница Virtual Host Manager нужна для управления виртуальными хостами; она позволяет добавлять виртуальные хосты для развёртывания приложений.
Готово! Теперь сервер Tomcat полностью готов к обслуживанию приложений Java.
Apache TomcatApache Tomcat 8JavaOpenJDK 7TomcatUpstart
How to Install Tomcat on Linux?
Now that we understand what Tomcat does, and have covered the prerequisites, it is time to install Tomcat on our system. To do so, you need to follow the following steps.
Setting up a Tomcat User
It is not advisable to run Tomcat under a root account. Hence we need to create a new user where we run the Tomcat server on our system. We will use the following command to create our new user.
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
As you can see, we grouped our new system user with the directory /opt/Tomcat. This will be used to run the Tomcat service on our system.
Downloading the Tomcat package
Now that we have created a new user for our Tomcat server and switched to it. We need to download the Tomcat package to install Tomcat on Linux.
Let’s use the wget command to download the Tomcat package from their official website.
wget -c https://downloads.apache.org/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz
Install Tomcat on Linux
Once the tar archive is downloaded on our system, we need to untar the archive on our system. This can be done as follows using the tar command as shown below.
sudo tar xf apache-tomcat-9.0.34.tar.gz -C /opt/tomcat
Using this command, we have extracted the contents of the tar package in /opt/Tomcat. To make updating Tomcat easy, we create a symbolic link that will point to the installation directory of Tomcat.
sudo ln -s /opt/tomcat/apache-tomcat-9.0.34 /opt/tomcat/updated
Now, if you wish to install Tomcat on Linux with a newer version in future, simply unpack the new archive and change the symbolic link so that it points to the new version.
Now we need to provide the user Tomcat with access for the Tomcat installation directory. We would use the chown command to change the directory ownership.
sudo chown -R tomcat: /opt/tomcat/*
Finally, we will use the chmod command to provide all executable flags to all scripts within the bin directory.
sudo sh -c 'chmod +x /opt/tomcat/updated/bin/*.sh'
Don’t forget to make sure that the “tomcat” user and group has read and write access to all the files and folders within the /opt/tomcat/updated folder like below.
Permissions Tomcat
See how both the user and group for the directories is tomcat and tomcat.
Configuring the Tomcat service
Once you install Tomcat on Linux, you need to configure it before you can start using it. First, we need to create a systemd unit file to be able to run Tomcat as a service. We need to create a new unit file for this. We will open a new file named tomcat.service in the directory /etc/systemd/system using nano or your preferred editor.
sudo nano /etc/systemd/system/tomcat.service
Now enter the following in your file and save it. Note that you need to update the value of JAVA_HOME if your Java installation directory is not the same as given below.
Description=Apache Tomcat Web Application Container After=network.target Type=forking Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64" Environment="CATALINA_PID=/opt/tomcat/updated/temp/tomcat.pid" Environment="CATALINA_HOME=/opt/tomcat/updated/" Environment="CATALINA_BASE=/opt/tomcat/updated/" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom" ExecStart=/opt/tomcat/updated/bin/startup.sh ExecStop=/opt/tomcat/updated/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always WantedBy=multi-user.target
Now we reload the daemon to update the system about the new file.
sudo systemctl daemon-reload
We use the following command to start the Tomcat service on our system.
sudo systemctl start tomcat
We will use the systemctl command to check the status of our Tomcat service. If the output looks like this, you were successful to install Tomcat on Linux.
Systemctl Tomcat Running
Now we can enable the Tomcat service to run on startup using this command.
sudo systemctl enable tomcat
After you install Tomcat on Linux, you need to allow it to use the 8080 port through the firewall to be able to communicate outside your local network.
sudo ufw allow 8080/tcp
Firewall Rules Tomcat
Verifying our installation
Once we install Tomcat on Linux, we need to verify our installation. To do so, simply enter the following in your browser.
http://<YourIPAddress>:8080
If your installation and configuration were successful, you should see this page.
Tomcat Running
Step 6 – Create a Tomcat Systemd Unit File
Tomcat provides bash scripts to start, stop service. But, to make it simpl, create a startup script to manage Tomcat as systemd service. Let’s create a tomcat.service file with the following content:
Description=Tomcat After=network.target 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 WantedBy=multi-user.target
Reload the systemd daemon service to load newly create files.
Now, start the Tomcat application for the first time.
Next, enable the tomcat service to auto-start for subsequent system boots. This is more important for the production deployments.
As of now, the tomcat application is running on your system. You can verify the service status by executing the command as below. Make sure the status is showing ““.
● tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-03-17 10:56:39 IST; 3h 45min ago Process: 481049 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 481056 (java) Tasks: 29 (limit: 4539) Memory: 264.2M CGroup: /system.slice/tomcat.service └─481056 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file> Mar 17 10:56:39 tecadmin-ubuntu2004 systemd: Starting Tomcat... Mar 17 10:56:39 tecadmin-ubuntu2004 startup.sh: Tomcat started. Mar 17 10:56:39 tecadmin-ubuntu2004 systemd: Started Tomcat.
Настройка веб-интерфейса управления Tomcat
Теперь, когда на нашем сервере Ubuntu установлен Tomcat, следующим шагом будет создание пользователя, который будет иметь доступ к веб-интерфейсу управления.
Пользователи Tomcat и их роли определены в .
Если вы откроете файл, вы заметите, что он заполнен комментариями и примерами, описывающими, как настроить файл.
Чтобы добавить нового пользователя, который может получить доступ к веб-интерфейсу tomcat (manager-gui и admin-gui), нам нужно определить пользователя в как показано ниже. Обязательно измените имя пользователя и пароль на более безопасные:
/opt/tomcat/latest/conf/tomcat-users.xml
По умолчанию веб-интерфейс управления Tomcat настроен так, чтобы разрешать доступ только с локального хоста, если вы хотите иметь возможность доступа к веб-интерфейсу с удаленного IP-адреса или из любого места, что не рекомендуется, поскольку это угроза безопасности, вы можете открыть следующие файлы и внесите следующие изменения.
Если вам нужно получить доступ к веб-интерфейсу из любого места, откройте следующие файлы и прокомментируйте или удалите строки, выделенные желтым:
/opt/tomcat/latest/webapps/manager/META-INF/context.xml
/opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
Если вам нужно получить доступ к веб-интерфейсу только с определенного IP-адреса, вместо комментирования блоков добавьте свой общедоступный IP-адрес в список. Допустим, ваш публичный IP-адрес и вы хотите разрешить доступ только с этого IP- :
/opt/tomcat/latest/webapps/manager/META-INF/context.xml
/opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
Список разрешенных IP-адресов представляет собой список, разделенный вертикальной чертой . Вы можете добавить отдельные IP-адреса или использовать регулярные выражения.
Перезапустите службу Tomcat, чтобы изменения вступили в силу:
Пробный запуск Apache Tomcat
Переходим в каталог /opt/apache-tomcat-8.0.24/bin. Пробуем запустить:
sh startup.sh
1 | sh startup.sh |
В консоли должно выйти что-то вроде вот этого:
Using CATALINA_BASE: /opt/apache-tomcat-8.0.24
Using CATALINA_HOME: /opt/apache-tomcat-8.0.24
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.0.24/temp
Using JRE_HOME: /opt/jdk1.8.0_51
Using CLASSPATH: /opt/apache-tomcat-8.0.24/bin/bootstrap.jar:/opt/apache-tomcat-8.0.24/bin/tomcat-juli.jar
Tomcat started.
1 |
Using CATALINA_BASE: /opt/apache-tomcat-8.0.24 Using CATALINA_HOME: /opt/apache-tomcat-8.0.24 Using CATALINA_TMPDIR: /opt/apache-tomcat-8.0.24/temp Using JRE_HOME: /opt/jdk1.8.0_51 Using CLASSPATH: /opt/apache-tomcat-8.0.24/bin/bootstrap.jar:/opt/apache-tomcat-8.0.24/bin/tomcat-juli.jar Tomcat started. |
Теперь попробуйте зайти браузером с вашего личного компьютера по адресу http://<IP_сервера>:8080. Если вы всё сделали правильно, то вы должны увидеть страницу с надписью «If you’re seeing this, you’ve successfully installed Tomcat. Congratulations!» и кучу ссылок на документацию, примеры и прочее.
Лирическое оступление. Тут весьма странно. На сколько я знаю, глагол to see статальный и в продолженных временах не употребляется. Но здесь сами англичание употребили его так. Видимо, мои знания английского не слишком полны.
Итак. Мы установили Tomcat. Останавливаем его с консоли сервера:
sh shutdown.sh
1 | sh shutdown.sh |
Протестируйте сервис Apache Tomcat 9
Во-первых, давайте проверим, какой порт прослушивает служба Apache Tomcat 9. Для этого выполните приведенную ниже команду.
Как показано ниже, служба Apache Tomcat 9 прослушивает порт 8080. Вы можете увидеть это по имени программы “java.”
Проверьте порт прослушивания службы Apache Tomcat
По умолчанию Apache Tomcat использует порт 8080 из-за возможности того, что веб-сервер уже работает на порту 80. Соответственно порт 80 занят.
В этом руководстве мы используем порт прослушивания который установлен по умолчанию 8080.
Если это применимо, обновите правила брандмауэра, чтобы разрешить входящий трафик на порт 8080. Например, если фаервол UFW включен, выполните команду написанную ниже, чтобы разрешить входящий трафик на порт 8080.
Теперь откройте веб-браузер и введите ваш сервер:8080. Например, 192.168.16.8:8080.
Вы должны увидеть домашнюю страницу Tomcat, она показана на рисунке ниже.
Домашняя страница Tomcat по умолчанию
Step 5 – Enable Remote Tomcat Access
The default Tomcat manager and host-manager applications are accessible for localhost only. To allow access to these pages from the remote system, you need to modify the following configuration files.
You can either allow specific remote system or allow all. Edit the file for manager and host manager application:
Comment out the section added for IP address restriction to allow connections from anywhere.
<Context antiResourceLocking="false" privileged="true" > <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor" sameSiteCookies="strict" /> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> ... </Context>
Similarly edit for host manager application in text editor:
Comment out the same section to allow connections from anywhere.
<Context antiResourceLocking="false" privileged="true" > <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor" sameSiteCookies="strict" /> <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> --> ... </Context>
Save all files and close it.
Startup Apache Tomcat
To start Apache tomcat, we’ll use the script called catalina.sh that is located in the bin directory of CATALINA_HOME.
So, execute catalina.sh start as shown below to start Apache tomcat on your system.
$ $CATALINA_HOME/bin/catalina.sh start
Use grep command to verify whether the tomcat java process is started and running in the background as shown below.
$ ps -ef | grep -i tomcat root 3412 2045 0 17:27 pts/0 00:00:00 su - tomcat tomcat 3413 3412 0 17:27 pts/0 00:00:00 -bash tomcat 3463 1 1 17:30 pts/0 00:00:02 //bin/java -Djava.util.logging.config.file=/home/tomcat/apache-tomcat-9.0.0.M21/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /home/tomcat/apache-tomcat-9.0.0.M21/bin/bootstrap.jar:/home/tomcat/apache-tomcat-9.0.0.M21/bin/tomcat-juli.jar -Dcatalina.base=/home/tomcat/apache-tomcat-9.0.0.M21 -Dcatalina.home=/home/tomcat/apache-tomcat-9.0.0.M21 -Djava.io.tmpdir=/home/tomcat/apache-tomcat-9.0.0.M21/temp org.apache.catalina.startup.Bootstrap start
Note: If it didn’t start, then you might have to set the JAVA_HOME location properly as shown below.
Подготовка к установке
Для работы веб-сервера нам необходимы Java и пользователь, под которым будет работать Tomcat.
Установка JAVA
Мы установим пакет openjdk. Для этого вводим команду:
apt-get install default-jdk
* будет установлена последняя версия, максимально совместимая с используемой версией операционной системы Ubuntu.
Если в системе окажется несколько версий java, выберем последнюю. Для этого вводим команду:
update-alternatives —config java
… и выбираем в списке соответствующий вариант.
Проверяем используемую версию java:
java -version
Мы должны увидеть что-то на подобие:
openjdk version «14.0.2» 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 14.0.2+12-Ubuntu-120.04, mixed mode, sharing)
Java установлен.
Создание пользователя
Создаем пользователя командой:
useradd tomcat -U -s /bin/false -d /opt/tomcat -m
* в итоге будет создан пользователь tomcat со следующими опциями:
- -U — также будет создана группа с таким же именем, что и пользователь.
- -s /bin/false — запрещает пользователю интерактивный вход в систему.
- -d /opt/tomcat — указывает путь до домашней директории пользователя.
- -m — сразу создает домашнюю директорию пользователю.
Можно приступать к установке веб-сервера Apache Tomcat.
Prerequisites
Install Java
Tomcat requires Java JDK to be installed on the machine. You can either install Oracle JDK or OpenJDK.
For this demo, I am going with OpenJDK.
sudo apt update sudo apt install -y openjdk-11-jdk
Once Java is installed, you can verify the Java version by using the following command.
java -version
Output:
openjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
Tomcat Service Account
For best practice, Tomcat should never be run as a privileged user (root). So, create a low-privilege user for running the Tomcat service.
sudo groupadd tomcat sudo mkdir /opt/tomcat sudo useradd -g tomcat -d /opt/tomcat -s /usr/sbin/nologin tomcat
Настройка веб-интерфейса управления Tomcat
На этом этапе вы должны иметь доступ к Tomcat через веб-браузер через порт . Интерфейс веб-управления недоступен, потому что мы еще не создали пользователя.
Пользователи и роли Tomcat определены в . Этот файл представляет собой шаблон с комментариями и примерами, показывающими, как создать пользователя или роль.
В этом примере мы создадим пользователя с ролями «admin-gui» и «manager-gui». Роль «admin-gui» позволяет пользователю получить доступ к URL-адресу а также создавать, удалять и иным образом управлять виртуальными хостами. Роль «manager-gui» позволяет пользователю развертывать и отменять развертывание веб-приложений без необходимости перезапуска всего контейнера через интерфейс .
Откройте файл и создайте нового пользователя, как показано ниже:
/opt/tomcat/latest/conf/tomcat-users.xml
Убедитесь, что вы изменили имя пользователя и пароль на более безопасные.
По умолчанию веб-интерфейс управления Tomcat настроен так, чтобы разрешать доступ к приложениям Manager и Host Manager только с локального хоста. Чтобы получить доступ к веб-интерфейсу с удаленного IP-адреса, вам необходимо снять эти ограничения. Это может иметь различные последствия для безопасности и не рекомендуется для производственных систем.
Чтобы разрешить доступ к веб-интерфейсу из любого места, откройте следующие два файла и закомментируйте или удалите строки, выделенные желтым цветом.
Для приложения Manager:
Для приложения Host Manager:
context.xml
Если вы хотите получить доступ к веб-интерфейсу только с определенного IP-адреса, вместо комментирования блоков добавьте свой общедоступный IP-адрес в список.
Допустим, ваш публичный IP-адрес и вы хотите разрешить доступ только с этого IP- :
context.xml
Список разрешенных IP-адресов представляет собой список, разделенный вертикальной чертой . Вы можете добавить отдельные IP-адреса или использовать регулярные выражения.
После этого перезапустите службу Tomcat, чтобы изменения вступили в силу:
Настройка веб-интерфейса управления Tomcat
Теперь, когда Tomcat установлен, следующим шагом будет создание пользователя с доступом к веб-интерфейсу управления.
Пользователи Tomcat и их роли определены в .
Если вы откроете файл, вы заметите, что он заполнен комментариями и примерами, описывающими, как настроить файл:
Мы определим нового пользователя в , как показано ниже. У пользователя будет доступ к веб-интерфейсу Tomcat (manager-gui и admin-gui). Обязательно измените имя пользователя и пароль на более безопасные:
/opt/tomcat/latest/conf/tomcat-users.xml
По умолчанию веб-интерфейс управления Tomcat разрешает доступ только с локального хоста. Если вы хотите получить доступ к веб-интерфейсу с удаленного IP-адреса или из любого места, что не рекомендуется, поскольку это представляет угрозу безопасности, вы можете открыть следующие файлы и внести следующие изменения.
Если вам нужно получить доступ к веб-интерфейсу из любого места, откройте следующие файлы и прокомментируйте или удалите строки, выделенные желтым:
/opt/tomcat/latest/webapps/manager/META-INF/context.xml
/opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
Если вам нужно получить доступ к веб-интерфейсу только с определенного IP-адреса, вместо комментирования блоков добавьте свой общедоступный IP-адрес в список. Допустим, ваш публичный IP-адрес и вы хотите разрешить доступ только с этого IP- :
/opt/tomcat/latest/webapps/manager/META-INF/context.xml
/opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
Список разрешенных IP-адресов представляет собой список, разделенный вертикальной чертой . Вы можете добавить отдельные IP-адреса или использовать регулярные выражения.
Перезапустите службу Tomcat, чтобы изменения вступили в силу:
6: Работа с веб-интерфейсом Tomcat
Итак, определив администратора сервера, можно открыть интерфейс управления в браузере:
Это откроет домашнюю страницу Tomcat по умолчанию, содержащую сообщение «It works!» и некоторую дополнительную информацию о сервере.
Помимо прочей информации на странице можно найти ссылки на ранее установленные пакеты (раздел 3):
- tomcat7-docs: онлайн-документация Tomcat; доступна по http://ip_адрес:8080/docs/
- tomcat7-examples: образцы и примеры Tomcat 7 Servlet и JSP. Этот инструмент позволяет просмотреть примеры веб-приложений (а также посмотреть на их исходный код), чтобы получить общее представление о том, как они работают. Ссылка доступа: http://ip_адрес:8080/examples/
- tomcat7-admin (manager-webapp): Tomcat Web Application Manager, менеджер веб-приложений Tomcat; он позволяет управлять Java-приложениями.
- tomcat7-admin (host-manager): Tomcat Virtual Host Manager, менеджер виртуальных хостов Tomcat.
Как видите, этот менеджер способен значительно простить работу с приложениями Java. Он позволяет запустить, отключить, перезапустить, развернуть и свернуть приложение (смотрите столбец Commands), а также выполнить диагностику приложений (то есть, обнаружить утечки памяти). Кроме того, в самом низу этой страницы можно найти информацию о сервере.
Теперь откройте Tomcat Virtual Host Manager при помощи http://ip_адрес:8080/host-manager/html/.
Данный менеджер позволяет добавлять виртуальные хосты для обслуживания веб-приложений.
Готово! Установка сервера приложений Tomcat завершена; можно приступать к развертыванию веб-приложений.
Apache TomcatApache Tomcat 7JavaJava Development KitLinuxOpenJDKUbuntuUbuntu 14.04VPS
Configuration Settings
Here are a couple of useful configuration settings for Tomcat.
Add Users
So we may need to add new users or an admin user. We can accomplish this by going to the Tomcat conf folder and modifying these settings.
Note: We can open the file through vi or vim or by utilizing the file manager and opening the file using a text editor.
Finally, use :wq to save the file.
Changing Ports
So At times, you may wish to run Tomcat on an alternate port. To accomplish this, we can modify the connector port setting in the server.xml file.These are the steps to take.
In addition to In the server.xml file or from within a text editor, we can modify the “Connector port” line, changing it from port 8080 to 80 or any other port number we choose.
Доступ к Managing Tomcat
Мы можем использовать веб-интерфейс для управления Tomcat. Для этого используются кнопки на стартовой странице:
- Server Status
- Manager App
- Host Manager
По умолчанию, доступ закрыт в данные разделы. Пошагово, настроим доступ в каждый из них.
Создание служебного пользователя
Создаем пользователя, под которым мы будем авторизовываться в системе.
Открываем файл:
vi /opt/tomcat/conf/tomcat-users.xml
Внутрь раздела tomcat-users добавим:
…
<role rolename=»admin-gui»/>
<role rolename=»manager-gui»/>
<user username=»admin» password=»password» roles=»admin-gui,manager-gui»/>
</tomcat-users>
* в данном примере мы создадим пользователя admin с паролем password и ролями admin-gui, manager-gui.
Перезапускаем tomcat:
systemctl restart tomcat
Server Status и Manager App
Разделы позволяют получить доступ к статистике и управлению веб-приложениями. Они настраиваются вместе.
Открываем файл:
vi /opt/tomcat/webapps/manager/META-INF/context.xml
Находим строку:
allow=»127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1″ />
… и добавляем IP-адрес компьютера, с которого будем подключаться, например:
allow=»127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.15″ />
* в данном примере мы добавили адрес 192.168.1.15, которому разрешаем подключаться к статистике сервера и управлению веб-приложениями.
Пробуем зайти на стартовую страницу и перейти в раздел Server Status:
Браузер запросит логин и пароль — вводим созданные ранее данные (admin и password). Мы должны увидеть статистику.
Теперь переходим в раздел Manager App:
Мы должны увидеть раздел «Управление веб-приложениями Tomcat».
Host-Manager
В данном разделе можно управлять виртуальными серверами.
Открываем файл:
vi /opt/tomcat/webapps/host-manager/META-INF/context.xml
Находим строку:
allow=»127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1″ />
… и добавляем IP-адрес компьютера, с которого будем подключаться, например:
allow=»127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.15″ />
* в данном примере мы добавили адрес 192.168.1.15, которому разрешаем подключаться к управлению виртуальными серверами.
Пробуем зайти на стартовую страницу и перейти в раздел Host Manager:
Мы должны увидеть раздел «Управление виртуальными серверами Tomcat».