Пост

Установка Apache Tomcat 9 и GeoServer на Сentos 7

Apache Tomcat - это веб-сервер и сервер сервлетов, разрабатываемый Apache Software Foundation. Он является открытым и бесплатным программным обеспечением, предназначенным для запуска веб-приложений на платформе Java. GeoServer — программное обеспечение с открытым исходным кодом, написанное на Java, предоставляющее возможность администрирования и публикации геоданных на сервере.

Подготовительный этап

Обновляем операционную систему, добавляем репозиторий EPEL

1
2
$ sudo yum update
$ sudo yum install epel-release

Устанавливаем необходимый софт

1
$ sudo yum install htop mc nano wget zip unzip

Устанавливаем Java 8. Пакет доступен в официальном репозитории

1
$ sudo yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

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

1
2
3
4
$ java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

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

С официального сайта Apache Tomcat скачиваем релиз программного обеспечения и распаковываем его

1
2
3
$ cd ~
$ wget http://apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-9/v9.0.13/bin/apache-tomcat-9.0.13.zip
$ sudo unzip apache-tomcat-9.0.13.zip -d /opt

После распаковки был создан каталог с именем apache-tomcat-9.0.13. Переименуем его

1
$ sudo mv /opt/apache-tomcat-9.0.13 /opt/tomcat

Выполним следующую команду, чтобы установить переменную среды CATALINA_HOME

1
2
$ echo "export CATALINA_HOME='/opt/tomcat/'" >> ~/.bashrc
$ source ~/.bashrc

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

1
2
$ sudo useradd -r tomcat --shell /bin/false
$ sudo chown -R tomcat:tomcat /opt/tomcat/

Создадим systemd unit, для запуска сервиса tomcat, со следующим содержимым

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ sudo nano /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat 9
After=syslog.target network.target

[Service]
User=tomcat
Group=tomcat
Type=forking
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure

[Install] 
WantedBy=multi-user.target

Сохраняем файл и обновим информацию о юнит-файлах

1
$ sudo systemctl daemon-reload

Настройка Apache Tomcat 9

Сделаем исполняемые скрипты запуска службы Tomcat, иначе он не запустится

1
2
$ sudo chmod a+x /opt/tomcat/bin/startup.sh
$ sudo chmod a+x /opt/tomcat/bin/catalina.sh

Запускаем Tomcat Apache и добавляем его в автозагрузку

1
2
$ sudo systemctl start tomcat
$ sudo systemctl enable tomcat

Откроем порт 8080 в фаерволле, чтобы можно было подключиться к сервису

1
2
$ sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
$ sudo firewall-cmd --reload

Добавление пользователей

Для того, чтобы открыть доступ к Tomcat Manager, необходимо отредактировать файл tomcat-users.xml, добавив в него следующие строки

1
2
3
4
5
6
7
8
9
10
11
$ sudo nano /opt/tomcat/conf/tomcat-users.xml
<role rolename="admin"/>
<role rolename="admin-gui"/> 
<role rolename="admin-script"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<!-- <role rolename="manager-script"/> -->
<!-- <role rolename="manager-jmx"/> -->
<!-- <role rolename="manager-status"/> -->
<user name="admin" password="password" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
</tomcat-users>

Не забываем поменять пароль на более защищенный

По умолчанию Tomcat Manager доступен только из браузера, работающего на том же компьютере, что и Tomcat. Если вы хотите удалить это ограничение, вам нужно отредактировать файл context.xml и закомментировать или удалить следующую строку:

1
2
3
4
5
$ sudo nano /opt/tomcat/webapps/manager/META-INF/content.xml
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->

Перезапускаем Tomcat

1
$ sudo systemctl restart tomcat

Теперь что бы попасть на наш серевер с Tomcat, необходимо в браузере набрать: http://IP_address:8080/manager/html

Установка GeoServer

Для установки GeoServer необходимо скачать его с официального сайта и распаковать

1
2
3
$ cd /home
$ wget http://sourceforge.net/projects/geoserver/files/GeoServer/2.14.1/geoserver-2.14.1-war.zip
$ sudo unzip geoserver-2.14.1-war.zip -d /opt/geoserver

Перенесем необходимый файл geoserver.war в каталог webapps

1
$ sudo mv /opt/geoserver/geoserver.war /opt/tomcat/webapps/geoserver.war

Что бы попасть на наш GeoServer, необходимо в браузере набрать:
http://IP_address:8080/geoserver/web/

Данные для авторизации по-умолчанию:

1
2
login: admin
pass: geoserver

Если у вас уже стоял GeoServer, но вы забыли login/password для доступа в админку, файл с паролями располагается тут:
/data/security/usergroup/default/users.xml

Для изменения пароля, надо заменить строку с зашифрованным паролем:

1
2
<user enabled="true" name="admin"
password="digest1:D9miXH/hVgfxZJscMbfXtbtliG0WOxhLfsznyWfG38X2pda2JOSV4POi55PQI4tw"/>

на

1
<user enabled="true" name="admin" password="plain:PASSWORD"/>
Авторский пост защищен лицензией CC BY 4.0 .

© IT Draft. Некоторые права защищены.