mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-04-01 13:15:29 +00:00
add install-ergo-irc-server-in-linux.gmi
This commit is contained in:
parent
1bb9c527a8
commit
aea6fd9ce1
2 changed files with 84 additions and 0 deletions
83
public/uk/install-ergo-irc-server-in-linux.gmi
Normal file
83
public/uk/install-ergo-irc-server-in-linux.gmi
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
# Встановлення 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue