У меня используется свеже установленая Ubuntu 20.04.2 LTS. При установке на уже настроенный сервер, может возникнуть проблема с базой MySQL. Дело том, что verlihub не корректно отображает кириллицу, при использование MySQL 8.0. Которая по умолчанию ставится в Ubuntu 20.04. По этому использовать будем MySQL 5.7.

Установка базы MySQL 5.7 на Ubuntu 20.04:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb

 

dpkg -i mysql-apt-config_0.8.12-1_all.deb

В процессе установки программа попросит выбрать дистрибутив. Если у вас Ubuntu 20.04 или выше, выбирайте версию для Ubuntu 18.04 - bionic:

 

Затем выберите MySQL Server and Cluster:

После этого выбираем версию MySQL 5.7:

Посмотрим какие версии MySQL доступны:

apt update

 

apt-cache policy mysql-server

Устанавливаем mysql 5.7:

apt install mysql-server=5.7.34-1ubuntu18.04 mysql-community-server=5.7.34-1ubuntu18.04 mysql-client=5.7.34-1ubuntu18.04

При установке программа запросит пароль пользователя root:

 

Установка зависимостей:

apt install build-essential libgeoip-dev cmake libpcre3 libpcre3-dev libmysqlclient-dev liblua5.1-0-dev gettext libssl-dev git-core libperl-dev python2.7-dev curl libasprintf-dev libmaxminddb-dev icu-devtools libicu-dev lua-socket

 

Скачивание и компиляция verlihub:

git clone http://github.com/verlihub/verlihub/

 

cd verlihub && mkdir build && cd build && cmake .. -DWITH_FLOODPROT=ON -DWITH_REPLACER=ON -DWITH_STATS=ON -DWITH_MESSENGER=ON -DWITH_ISP=ON -DWITH_IPLOG=ON -DWITH_CHATROOM=ON -DWITH_FORBID=ON -DWITH_PERL=ON  -DWITH_PLUGINS=ON -DWITH_PYTHON=ON

 

make

 

make install

 

ldconfig

Установка verlihub:

vh -i

В процессе установки отвечаем на вопросы:

О пользователе и базе MySQL:

Указываем пароль пользователя root MySQL:

Папку установки выбираем /etc/verlihub

Создаём пользователя на хабе, настраиваем порт, хост и название хаба:

Обновляем geo-ip:

vh -g

Переводим verlihub на русский язык:

locale-gen ru_RU.CP1251

 

echo "locale = ru_RU.CP1251" >> /etc/verlihub/dbconfig

Запускаем verlihub:

vh -r

 

Скрипты для verlihub:

Переходим в нужную папку:

cd /etc/verlihub/scripts

Скачивем скрипты:

wget https://ledo.feardc.net/dev/ledokol.lua

 

wget https://ledo.feardc.net/dev/ledo_ru.lang

 

wget https://ledo.feardc.net/python/blacklist/blacklist.py

 

wget https://ledo.feardc.net/python/blacklist/black_ru.lang

Включаем скрипты через dc-клиент:

!modplug lua -a 1

 

!onplug lua

 

!modplug python -a 1

 

!onplug python

 

 

TLS proxy:

Устанавливаем компилятор Go:

apt install golang

Генерируем сертификат и ключ:

mkdir /etc/verlihub/tls && cd /etc/verlihub/tls

 

openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out "hub.crt" -keyout "hub.key"

Отвечаем на несколько вопросов:

Скачиваем и компилируем tls-proxy:

git clone https://github.com/verlihub/tls-proxy.git


cd tls-proxy

 

export CGO_ENABLED=0 && go build -ldflags "-libgcc=none" -tags netgo proxy.go

Настраиваем verlihub через dc-клиент:

!set tls_proxy_ip 127.0.0.1

 

!set listen_ip 127.0.0.1

Перезагружаем сервер:

reboot

 

Запускаем verlihub и tls-proxy на сервере:

vh -r

 

/etc/verlihub/tls/tls-proxy/proxy --cert="/etc/verlihub/tls/hub.crt" --key="/etc/verlihub/tls/hub.key" --host="10.10.0.211:411" --hub="127.0.0.1:411"  &

 

Где 10.10.0.211 ваш ip, куда подключаются клиенты

Для упрощения запуска сделаем sh скрипт:

nano /etc/verlihub/tls.sh

Вставляем строки:

#!/bin/sh

/etc/verlihub/tls/tls-proxy/proxy --cert="/etc/verlihub/tls/hub.crt" --key="/etc/verlihub/tls/hub.key" --host="10.10.0.211:411" --hub="127.0.0.1:411"  &

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

chmod +x /etc/verlihub/tls.sh

Автозагрузка в ubuntu 20.04:

nano /etc/rc.local

Добавляем строки:

#!/bin/sh

sleep 15

vh -r

/etc/verlihub/tls.sh

exit 0

В ubuntu 20.04  rc.local выключен, включаем его:

chmod -v +x /etc/rc.local
systemctl enable rc-local.service

На этом всё. Хаб установлен, осталось настроить скрипты. Но об этом в следующим материале.