Установка Verlihub Ubuntu 20.04

 

 

 

 

 

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

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

Скачивание и компиляция 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    (иногда требуется в ручную отредактироать  строчку в dbconfig :db_charset = latin1 )

Запускаем 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 && go build 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="ваш ip:411" --hub="127.0.0.1:411"  &

Для упрощения запуска сделаем службу systemd:

nano /etc/systemd/system/verlihub.service

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

[Unit]
Description=Verlihub DC Server
After=network.target mysql.service

[Service]
Type=forking
PIDFile=/etc/verlihub/pid

ExecStart=/usr/local/bin/vh -r
ExecStop=/usr/local/bin/vh -s
ExecReload=/usr/local/bin/vh -q

PrivateTmp=true
Restart=always

[Install]
WantedBy=multi-user.target

Сохраняем и создаем второй :

 nano /etc/systemd/system/tls-proxy.service

[Unit]
Description=TLS proxy server for NMDC protocol
After=network.target mysql.service verlihub.service

[Service]
Type=simple
#Type=forking
PIDFile=/run/tls-proxy.pid

ExecStart=/etc/verlihub/tls/tls-proxy/proxy --cert="/etc/verlihub/tls/hub.crt" --key="/etc/verlihub/tls/hub.key" --host="ваш ip:411" --hub="127.0.0.1:411"
#ExecStop=/bin/kill -s QUIT $MAINPID
#ExecReload=/bin/kill -s HUP $MAINPID

#PrivateTmp=true
TimeoutSec=300
Restart=always

[Install]
WantedBy=multi-user.target

Добавляем службы в автозагрузку:

sudo systemctl enable verlihub.service

sudo systemctl enable tls-proxy.service

sudo systemctl start verlihub.service

sudo systemctl start  tls-proxy.service

reboot