Thank you for reading this post, don't forget to subscribe!
Apache Tomcat (ранее известный как Jakarta Tomcat) — это веб-сервер с открытым исходным кодом, разработанный Apache Foundation для предоставления чистого HTTP-сервера Java, который позволит вам легко запускать файлы Java, что означает, что Tomcat не является обычным сервером, как Apache или Nginx, потому что его главная цель — обеспечить хорошую веб-среду для запуска только приложений Java в отличие от других обычных веб-серверов.
Шаг 1: Установка и настройка Java
Прежде чем приступить к установке Tomcat, убедитесь, что на вашем Linux-компьютере установлена JAVA для запуска Tomcat. Если нет, установите последнюю версию JAVA или используйте следующую команду yum для установки доступных Java из репозиториев по умолчанию:
1 |
<span class="hljs-comment"># yum install java-1.8.0-openjdk-devel #install JDK 8</span> |
Или же:
1 |
<span class="hljs-comment"># yum install java-11-openjdk-devel #install JDK 11</span> |
После установки Java вы можете проверить недавно установленную версию JAVA, выполнив следующую команду в вашей системе:
1 |
<span class="hljs-comment"># java -version</span> |
Пример вывода
1 2 3 |
openjdk version <span class="hljs-string">"11.0.4"</span> <span class="hljs-number">2019</span><span class="hljs-subst">-</span><span class="hljs-number">07</span><span class="hljs-subst">-</span><span class="hljs-number">16</span> LTS OpenJDK Runtime Environment <span class="hljs-number">18.9</span> (build <span class="hljs-number">11.0</span><span class="hljs-number">.4</span><span class="hljs-subst">+</span><span class="hljs-number">11</span><span class="hljs-attribute">-LTS</span>) OpenJDK <span class="hljs-number">64</span><span class="hljs-attribute">-Bit</span> Server VM <span class="hljs-number">18.9</span> (build <span class="hljs-number">11.0</span><span class="hljs-number">.4</span><span class="hljs-subst">+</span><span class="hljs-number">11</span><span class="hljs-attribute">-LTS</span>, mixed mode, sharing) |
Шаг 2: Установка Apache Tomcat 9
После установки JAVA в системе пришло время загрузить последнюю версию Apache Tomcat (т.е. 9.0.26), которая является самой последней стабильной версией на момент написания этой статьи. Если вы хотите выполнить проверку, перейдите на следующую страницу загрузки Apache и проверьте, доступна ли более новая версия:
hhttps: //tomcat.apache.org/download-90.cgi
Теперь загрузите последнюю версию Apache Tomcat 9, используя следующую команду wget, и настройте её, как показано ниже:
1 2 3 4 |
<span class="hljs-preprocessor"># cd /usr/local</span> <span class="hljs-preprocessor"># wget </span><a href="http://apachemirror.wuchna.com/tomcat/tomcat-9/v9.0.26/bin/apache-tomcat-9.0.26.tar.gz#" target="_blank" rel="noopener noreferrer"><span class="hljs-preprocessor">http://apachemirror.wuchna.com/tomcat/tomcat-9/v9.0.26/bin/apache-tomcat-9.0.26.tar.gz</span> <span class="hljs-preprocessor">#</span></a><span class="hljs-preprocessor"> tar -xvf apache-tomcat-9.0.26.tar.gz</span> <span class="hljs-preprocessor"># mv apache-tomcat-9.0.26 tomcat9</span> |
Примечание. Замените номер версии Apache Tomcat 9 прописанный в команде выше, на последнюю доступную версиею.
Перед запуском службы Tomcat настройте переменную среды CATALINA_HOME в своей системе с помощью следующей команды:
1 2 |
<span class="hljs-array"># echo </span><span class="hljs-string">"export CATALINA_HOME="</span>/usr/local/tomcat9<span class="hljs-string">""</span> >> ~/.bashrc <span class="hljs-array"># source </span>~/.bashrc |
Теперь все готово для запуска веб-сервера tomcat с использованием сценариев, предоставляемых пакетом tomcat:
1 2 |
<span class="hljs-preprocessor"># cd /usr/local/tomcat9/bin</span> <span class="hljs-preprocessor"># ./startup.sh </span> |
Пример вывода
1 2 3 4 5 6 |
Using CATALINA_BASE: /usr/<span class="hljs-built_in">local</span>/tomcat9 Using CATALINA_HOME: /usr/<span class="hljs-built_in">local</span>/tomcat9 Using CATALINA_TMPDIR: /usr/<span class="hljs-built_in">local</span>/tomcat9/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/<span class="hljs-built_in">local</span>/tomcat9/bin/bootstrap<span class="hljs-built_in">.</span>jar:/usr/<span class="hljs-built_in">local</span>/tomcat9/bin/tomcat<span class="hljs-attribute">-juli</span><span class="hljs-built_in">.</span>jar Tomcat started<span class="hljs-built_in">.</span> |
Теперь, чтобы открыть Tomcat из браузера, перейдите к своему IP-адресу или домену с портом 8080 (поскольку Tomcat всегда будет работать на порте 8080), например: mydomain.com:8080, замените mydomain.com вашим IP-адресом или доменом:
1 |
<a href="http://your-ip-address:8080</code%3E" target="_blank" rel="noopener noreferrer">http://Your-IP-Address:<span class="hljs-number">8080</span></a> |
Или же:
1 |
<a href="http://your-domain.com:8080</code%3E" target="_blank" rel="noopener noreferrer">http://Your-Domain.com:<span class="hljs-number">8080</span></a> |
Каталог по умолчанию для файлов Tomcat будет находиться в /usr/local/tomcat9, вы можете просматривать файлы конфигурации в папке conf, на главной странице, которую вы видели выше, когда вы открываете свой веб-сайт на порт 8080, в /usr/local/tomcat9/conf.
Шаг 3: Настройка Apache Tomcat 9
По умолчанию вы можете получить доступ только к странице Tomcat по умолчанию, чтобы получить доступ к административным и другим разделам, таким как «Состояние сервера», «Приложение менеджера» и «Диспетчер хостов». Вам необходимо настроить учетные записи пользователей для администраторов и менеджеров.
Для этого вам нужно отредактировать файл ‘tomcat-users.xml‘, расположенный в каталоге /usr/local/tomcat9/conf.
Настройка учетных записей Tomcat
Например, чтобы назначить роль manager-gui пользователю с именем «sedicomm» с паролем «t$cm1n1», добавьте следующую строку кода в файл конфигурации внутри раздела:
1 |
<span class="hljs-comment"># vi /usr/local/tomcat9/conf/tomcat-users.xml</span> |
1 2 |
<span class="hljs-tag"><<span class="hljs-title">role</span> <span class="hljs-attribute">rolename</span>=<span class="hljs-value">"manager-gui"</span>/></span> <span class="hljs-tag"><<span class="hljs-title">user</span> <span class="hljs-attribute">username</span>=<span class="hljs-value">"sedicomm"</span> <span class="hljs-attribute">password</span>=<span class="hljs-value">"t$cm1n1"</span> <span class="hljs-attribute">roles</span>=<span class="hljs-value">"manager-gui"</span>/></span> |
Аналогично, вы также можете добавить роль «admin-gui» для администратора с именем «admin» с паролем «adm!N», как показано ниже:
1 2 |
<span class="hljs-tag"><<span class="hljs-title">role</span> <span class="hljs-attribute">rolename</span>=<span class="hljs-value">"admin-gui"</span>/></span> <span class="hljs-tag"><<span class="hljs-title">user</span> <span class="hljs-attribute">username</span>=<span class="hljs-value">"admin"</span> <span class="hljs-attribute">password</span>=<span class="hljs-value">"adm!n"</span> <span class="hljs-attribute">roles</span>=<span class="hljs-value">"admin-gui"</span>/></span> |
Включить удаленный доступ к Tomcat
По умолчанию доступ к разделу Manager и Host Manager ограничен только локальным узлом, чтобы разрешить доступ к этим страницам, необходимо указать IP-адрес или диапазон сети в файле конфигурации:
1 |
<span class="hljs-comment"># vi /usr/local/tomcat9/webapps/manager/META-INF/context.xml</span> |
Затем найдите следующую строку и замените её на эту, чтобы разрешить tomcat доступ с IP-адреса 192.168.56.10.
1 |
allow=<span class="hljs-string">"127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1 |192.168.56.10"</span> /> |
Вы также можете разрешить tomcat доступ из локальной сети 192.168.56.0.
1 |
allow=<span class="hljs-string">"127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1 |192.168.56.*"</span> /gt; |
После настройки ролей администратора и менеджера перезапустите Tomcat и попробуйте получить доступ к разделу администратора:
1 2 |
./shutdown<span class="hljs-preprocessor">.sh</span> ./startup<span class="hljs-preprocessor">.sh</span> |
Теперь нажмите на вкладку «Состояние сервера», она предложит вам ввести учетные данные пользователя, ввести имя пользователя и пароль, которые вы добавили выше в файле конфигурации:
Как только вы введете учетные данные пользователя, вы увидите страницу, аналогичную приведенной ниже:
Изменение порта Apache Tomcat
Если вы хотите запустить Tomcat на другом порту, скажите 80 порт. Вам нужно будет отредактировать файл ‘server.xml‘ в ‘/usr/local/tomcat9/conf/‘. Перед изменением порта обязательно остановите использование сервера Tomcat.
1 |
<span class="hljs-comment"># /usr/local/tomcat9/bin/shutdown.sh</span> |
Теперь откройте файл server.xml с помощью редактора Vi.
1 |
<span class="hljs-comment"># vi /usr/local/tomcat9/conf/server.xml</span> |
Теперь выполните поиск «Connector port» и измените его значение с 8080 на 80 или любой другой порт, который вы хотите, следующим образом.
Чтобы сохранить файл и перезапустить сервер Apache Tomcat, используйте команду ниже:
1 |
<span class="hljs-comment"># /usr/local/tomcat9/bin/startup.sh</span> |
Вот так, ваш сервер Tomcat будет работать на 80-порт.
Конечно, вы должны запустить все вышеперечисленные команды как root, если вы этого не сделаете, они не будут работать, потому что мы работаем над каталогом /usr/local, который является папкой, принадлежащей только пользователю root, если вы хотите, чтобы вы могли запускать сервер как обычный пользователь, но вам придется использовать папку HOME в качестве рабочей области для загрузки, распаковки и запуска сервера Apache Tomcat.
Чтобы получить некоторую информацию о вашем работающем сервере Tomcat и вашем компьютере, запустите:
1 |
/usr/local/tomcat9/bin/version.sh |
Пример вывода
[codesyntax lang="php" blockstate="collapsed"]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Using CATALINA_BASE: /usr/local/tomcat9 Using CATALINA_HOME: /usr/local/tomcat9 Using CATALINA_TMPDIR: /usr/local/tomcat9/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat9/bin/bootstrap.jar:/usr/local/tomcat9/bin/tomcat-juli.jar NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED Server version: Apache Tomcat/9.0.26 Server built: Sep 16 2019 15:51:39 UTC Server number: 9.0.26.0 OS Name: Linux OS Version: 4.18.0-80.7.1.el8_0.x86_64 Architecture: amd64 JVM Version: 11.0.4+11-LTS JVM Vendor: Oracle Corporation |
[/codesyntax]
Вот и всё! Теперь вы можете начать развертывание приложений на основе JAVA в Apache Tomcat 9. Для получения дополнительной информации о развертывании приложений и создании виртуальных хостов ознакомьтесь с официальной документацией Tomcat.