# Встановлення IRC сервера Ergo в Linux Віднедавна запустив сервер, багато писати не буду - бо тут все просто і детально розжовано в коментах файлу конфігурації. Сервер Ergo написано мовою Go, тому при збірці останньої версії з репозиторію, починати потрібно з актуалізації останньої версії: => install-latest-golang-version-on-debian-linux.gmi Встановлення останньої версії Go в Debian Далі виконується `make` і отримується бінарник `ergo`, який в свою чергу переміщується до канонічного розташування: ``` bash sudo install ./ergo /usr/local/bin ``` Оскільки доки я не читав, systemd в мене виглядає так: ``` [Unit] Description=Ergo IRC server After=network.target [Service] Type=simple User=ergo Group=ergo WorkingDirectory=/var/lib/ergo ExecStart=/usr/local/bin/ergo run --conf /etc/ergo.yaml StandardOutput=file:///var/log/ergo/debug.log StandardError=file:///var/log/ergo/error.log Restart=on-failure [Install] WantedBy=multi-user.target ``` * тут ключовим моментом є `WorkingDirectory`, де по суті зберігається база даних рушія `ircd.db` * файл `/etc/ergo.yaml` створюється на базі `./default.yaml` і правиться під свої потреби * `StandardOutput` пишеться в `StandardError` - тут може варто поставити на перший `null` Юзера створив командою, без домашньої теки і племені: ``` bash useradd -s /usr/sbin/nologin -Mr ergo ``` Для коректної роботи системного сервісу, руками додано такі розташування: ``` bash mkdir /var/lib/ergo mkdir /var/log/ergo ``` І виставлено права: ``` bash chown ergo:ergo /var/lib/ergo chown ergo:ergo /var/log/ergo chown ergo:ergo /etc/ergo.yaml chmod +x /usr/local/bin/ergo ``` Керування сервісом стандартно: * `systemctl restart ergo` - (пере) запуск * `systemctl enable ergo` - авт-запуск при старті системи * `systemctl status ergo` - перевірка статусу Не забуваємо про фаєрвол, для мереж Yggdrasil і Mycelium, команда `ufw` в мене виглядає так: ``` bash ufw allow from 0200::/7 to 202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148 port 6667 proto tcp ufw allow from 0400::/7 to 505:6847:c778:61a1:5c6d:e802:d291:8191 port 6667 proto tcp ``` ## Посилання => https://github.com/ergochat/ergo ### Дивіться також => ukrainian-irc.gmi Локальні канали IRC => connecting-znc-bouncer-to-libera-chat-irc-via-tor.gmi Підключення баунсера ZNC до Libera.Chat/IRC через Tor => custom-proxy-option-per-server-in-the-halloy-irc.gmi Реалізував опцію вибіркового проксі в IRC-клієнті Halloy => soju-irc-bouncer-setup.gmi Встановлення та базове налаштування IRC-баунсера soju в Linux => znc-irc-bouncer-setup.gmi Встановлення та налаштування IRC-баунсера ZNC в Linux