Установка и настройка Tomcat 9 на Ubuntu server

В текущей статье рассматривается установка Java и Tomcat 9 на Ubuntu.

Tomcat представляет собой контейнер Java сервлетов, реализует спецификацию JSP и JSF.

Установка Java на Ubuntu server

Как подружить Java и Tomcat

Для начала необходимо установить Java:

sudo apt-get install default-jdk

Начнет устанавливаться Java и выглядеть это будет примерно следующим образом:

Java install

Командой java -version можно проверить, какая версия Java установилась:

java version

Установка Tomcat 9 на ubuntu server

Заходим на сайт https://tomcat.apache.org
Копируем ссылку на самую свежую версию tomcat (архив tar.gz):

wget tomcat

Создадим папку /opt в корневой директории:

sudo mkdir opt

Далее перейдем в папку opt командой cd /opt и выполняем команду на скачивание файла (у вас ссылка может быть другая — с другого сервера, ближе всего расположенного у вам):

sudo wget http://ftp.byfly.by/pub/apache.org/tomcat/tomcat-9/v9.0.6/bin/apache-tomcat-9.0.6.tar.gz

Данная команда загрузит tomcat в текущую папку.

Распакуем скачанный архив:

sudo tar xf apache-tomcat-9.0.6.tar.gz

И переименуем папку:

sudo mv apache-tomcat-9.0.6.tar.gz tomcat

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

nano /etc/systemd/system/tomcat.service

И добавим в него строки:

[Unit]
Description=Tomcat9
After=network.target

[Service]
Type=forking

Environment=CATALINA_PID=/opt/tomcat/tomcat9.pid
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment="CATALINA_OPTS=-Xms512m -Xmx512m"
Environment="JAVA_OPTS=-Dfile.encoding=UTF-8 -Dnet.sf.ehcache.skipUpdateCheck=true -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Обратите внимание tomcat находится в папке /opt. Так же необходимо убедиться, что путь JAVA_HOME здесь прописан правильно.

Сохраняем файл и выполняем команды:

systemctl daemon-reload
service tomcat start
service tomcat status

Получаем результат:

Loaded: loaded (/etc/systemd/system/tomcat.service: disabled; vendor preset: enabled)
Active: active (running) since Mon 2018-04-21 10:03:18 MSK; 5s ago

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

Tomcat9

Как создать пользователя Tomcat

Чтобы создать пользователя Tomcat необходимо открыть файл tomcat-users.xml, находящийся в папке conf, затем создать роли:

  • manager-gui
  • manager-script
  • manager-jmx
  • manager-status

И прописать пользователя, присвоив ему эти роли:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user password="s3cret" roles="manager-gui,manager-script,admin" username="tomcat"/>

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

Чтобы получить такой доступ необходимо настроить список адресов, с которых будет разрешен вход в систему и просмотр такой информации.

Адреса можно задавать по очереди, разделяя их символом «|». Так же можно прописать регулярное выражение, захватывающее диапазон адресов.

Делаются эти настройки в файле webapps/manager/META-INF/context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.0\.10[14]" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

Часть |192\.168\.0\.10[14] была добавлена мной. Она означает, что заходить в систему разрешено только с адресов 192.168.0.101 и 192.168.0.104.

Настройка HTTPS на Tomcat

После всех приведенных действий у нас доступен интерфейс tomcat по протоколу http.

Так же доступ ко всем приложениям, расположенным на этом сервере, доступ будет осуществляться по протоколу http, что не есть безопасно, так как туда будут отправляться get и post запросы, которые перехватить труда не составляет.

Чтобы настроить https необходимо создать файл .keystore утилитой keytool, входящей в состав jdk. На Linux и на Windows эта операция делается примерно одинаково. Заходим в папку bin нашего jdk и выполняем команду:

keytool -genkey -alias yourname -keyalg RSA -keystore c:\yournamekeystore

Заполняете все данные, которые запросит утилита.

Далее открываете файл conf/server.xml в папке с tomcat и добавляете следующие строки:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
              maxThreads="150" scheme="https" secure="true"
              clientAuth="false" sslProtocol="TLS" 
        keystoreFile="yournamekeystore_path"
        keystorePass="password" />

И перезапускаете tomcat:

service tomcat restart

Теперь вы сможете зайти в интерфейс tomcat по следующему адресу: https://адрес_сервера:8443

Настройка майнера Minerd на Linux Ubuntu 16.04 (Пул minergate.com)

Оставляю заметку о том, как запустить майнинг XMR на Linux Ubuntu.

Git должен быть уже установлен.

sudo apt-get update
sudo apt-get -y install git make automake gcc libcurl4-openssl-dev libmysqlclient-dev
git clone https://github.com/wolf9466/cpuminer-multi
cd cpuminer-multi
./autogen.sh
CFLAGS="-march=native" ./configure --disable-aes-ni
make

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

Команда для запуска майнига

./minerd -a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u user@myemail.ru -p x

Так же на сайте есть статья о запуске майнинга на Linux Fedora.

Ручная настройка сети и MySQL сервера на Ubuntu Server 16.04

Заметка по установке Linux Ubuntu Server 16.04 на сервер HP  (думаю, что подобным образом его можно поставить на любой другой сервер) и о том, как настроить MySQL сервер.

Во время установки выбираем установить LAMP, SSH server, Samba сервер.

Система спросит, надо будет выбрать перечисленное пробелами.

DHCP сервера у меня не было, поэтому отметил «Настроить сеть вручную». Настройкой занялся после установки ОС.

Установленный сервер Ubuntu выглядит таким образом:

Installed ubuntu16.04

Настройка сети

Логинимся в систему и выполняем следующую команду:

sudo lshw -C network

Получаем примерно следующее:

lshw

Здесь нас интересует имя сетевого адаптера logical name: enp0s3.

Далее выполняем следующую команду:

sudo nano /etc/network/interfaces

В данном файле прописываем настройки сети для адаптера enp0s3:

interfaces

(Настройки у вас должны быть, конечно, свои)

Сохраняем файл комбинацией клавиш Ctrl+O и выходим из программы с помощью Ctrl+X.

Перезапускаем сеть:

sudo /etc/init.d/networking restart

На этом этапе сеть должна уже работать и соседние компьютеры пинговаться.

Настройка MySQL

Далее настраиваю MySQL, так как необходима возможность подключения к MySQL серверу с других компьютеров.

Так же необходимо изменить движок таблиц по умолчанию с InnoDB на MyISAM (в моем случае), так как транзакций не будет, а на движке MyISAM все будет работать быстрее. Для этого необходимо присвоить переменной default_storage_engine значение MyISAM в файле mysqld.cnf.

Пишем в консоли:

sudo nano /etc/mysql/mysql.conf.d/mysql.cnf

Прописываем переменную в конфиге и комментируем строку bind-address = 127.0.0.1 чтобы мы могли подключаться к MySQL с других компьютеров:

mysqld conf

По умолчанию MySQL сервер не позволит пользователю root подключиться с других компьютеров.

Создадим нового пользователя и дадим ему полные права. Для этого запустим mysql client на сервере либо по SSH:

mysql -h 127.0.0.1 -u root -p

Введем пароль, установленный для root и получим следующее:

mysql

На этом этапе и можем писать SQL запросы. В конце каждого запроса ставим символ ‘;‘ и нажимаем Enter.

Создаем нового пользователя MySQL со всеми правами

Создаем нового пользователя (здесь myuser11 это пароль):

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'myuser11';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'myuser11';

Даем все права:

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

Обновляем все права доступа командой:

FLUSH PRIVILEGES;

На этом этапе мы имеем настроенный MySQL сервер с админом myuser, который может подключаться к MySQL с других компьютеров.

Подключаемся к удаленному рабочему столу Linux Ubuntu 16.04 из Windows (VNC)

В данной записи рассматриваем возможность подключения к удаленному рабочему столу на Linux Ubuntu.

В Ubuntu за доступ к удаленным рабочим столам отвечает программа Vino.

Ищем ее в поиске и запускаем. Получаем такое окно:

ubuntu vino

Можно настроить программу под ваши нужды и подключаться к данной машине по протоколу VNC.

Но есть важное замечание. Из систем Windows подключение выполнить нельзя.

Чтобы подключиться из Windows необходимо выполнить следующие действия:

  1. Установить dconf-editor;
  2. Отключить принудительное шифрование;
  3. Подготовить программу для подключения к удаленным рабочим столам (я использовал mRemoteNG).

Шаг 1 (Открываем терминал и пишем команду)

sudo apt install dconf-editor

Шаг 2 (Запускаем dconf и убираем галочку с require-encryption)

Убираем галочку с require-encryption

Шаг 3 (Подключаемся к удаленному рабочему столу)

Подключаемся к удаленному рабочему с помощью программы mRemoteNG.

Подключение через mRemoteNG

 

Установка шрифтов Microsoft на Linux Ubuntu 16.04

Недавно понадобилось установить Microsoft шрифты в Ubuntu для редакторов LibreOffice и прочих,

чтобы документы выглядели как в продуктах Microsoft Office.

Устанавливаем шрифты Microsoft

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

wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb

Далее:

sudo dpkg -i ttf-mscorefonts-installer_3.6_all.deb

Обновим кэш шрифтов:

sudo fc-cache -f -v

Всё готово. Чтобы увидеть установленные шрифты, выполните поиск по запросу «шрифты» и увидите следующее окошко:

Установка шрифтов Microsoft на Linux

После данных манипуляций в редакторах будут доступны шрифты Microsoft.

Настройка майнинга XMR на Linux Fedora (Пул minergate.com)

Майнинг XMR на Fedora.

В данной заметке запускаем майнинг XMR на Fedora, используя сервис Minergate.com через CPU майнер minerd.

Майнер будет браться с GitHub и компилироваться. Git должен быть уже установлен, если у вас нету Git, установить можно так:

yum install git

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

yum install -y cpp make automake gcc libcurl-devel openssl-devel

Клонируем репозиторий с GitHub:

git clone https://github.com/wolf9466/cpuminer-multi

Выполняем команды в терминале:

cd cpuminer-multi
./autogen.sh
CFLAGS="-march=native"
./configure
make
make install

Запускаем майнинг

Лично мне пригодилась следующая команда для запуска:

minerd -a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u MY_EMAIL -p 4

Пример выполнения команды:

Майнинг XMR на Fedora

Список команд для запуска можно взять здесь.

На данном сайте есть статья о запуске майнинга на Linux Ubuntu.