Установка зависимостей:
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/pidExecStart=/usr/local/bin/vh -r
ExecStop=/usr/local/bin/vh -s
ExecReload=/usr/local/bin/vh -qPrivateTmp=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.pidExecStart=/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