How to Wiki Database (change log)
http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.8 KiB
96 lines
2.8 KiB
10 months ago
|
====== Gmid ======
|
||
|
|
||
|
Многофункциональный сервер для протокола [[:gemini_protocol|Gemini]], с поддержкой виртуальных хостов и реверсивного проксирования.
|
||
|
|
||
|
===== Установка =====
|
||
|
|
||
|
Кроме типичных пакетов для сборки программ с make, потребуется также:
|
||
|
|
||
|
<code>
|
||
|
apt install bison byacc
|
||
|
</code>
|
||
|
|
||
|
Как и в большинстве случаев, удобным будет создать отдельного пользователя:
|
||
|
|
||
|
<code>
|
||
|
useradd -m gmid
|
||
|
</code>
|
||
|
|
||
|
Логинимся и забираем последнюю версию из репозитория (есть зеркало на GitHub) и осуществляем сборку командами:
|
||
|
|
||
|
<code>
|
||
|
git clone https://github.com/omar-polo/gmid.git
|
||
|
cd gmid
|
||
|
./configure
|
||
|
make
|
||
|
</code>
|
||
|
|
||
|
===== Проксирование =====
|
||
|
|
||
|
Для сертификатов виртуальных хостов можно создать отдельные директории, там же можно расположить конфигурации.
|
||
|
|
||
|
Можно создать общий файл конфигурации для запуска в рамках одного юнита / процесса.
|
||
|
|
||
|
Пример проксирования общего IPv4 Clearnet на два IPv6 Yggdrasil:
|
||
|
|
||
|
<file - /home/gmid/gmid.conf>
|
||
|
server "betahowto.duckdns.org" {
|
||
|
|
||
|
listen on 94.140.114.89 port 1965
|
||
|
|
||
|
cert "/home/gmid/host/betahowto.duckdns.org/cert.pem"
|
||
|
key "/home/gmid/host/betahowto.duckdns.org/key.rsa"
|
||
|
|
||
|
proxy {
|
||
|
sni "betahowto.duckdns.org"
|
||
|
relay-to 301:5eb5:f061:678e::b port 1965
|
||
|
verifyname off
|
||
|
}
|
||
|
}
|
||
|
|
||
|
server "kevachat.duckdns.org" {
|
||
|
|
||
|
listen on 94.140.114.89 port 1965
|
||
|
|
||
|
cert "/home/gmid/host/kevachat.duckdns.org/cert.pem"
|
||
|
key "/home/gmid/host/kevachat.duckdns.org/key.rsa"
|
||
|
|
||
|
proxy {
|
||
|
sni "kevachat.duckdns.org"
|
||
|
relay-to 201:23b4:991a:634d:8359:4521:5576:15b7 port 1965
|
||
|
verifyname off
|
||
|
}
|
||
|
}
|
||
|
</file>
|
||
|
|
||
|
Юнит в этом случае будет таким:
|
||
|
|
||
|
<file - /etc/systemd/system/gmid.service>
|
||
|
[Unit]
|
||
|
Description=gmid
|
||
|
After=network.target
|
||
|
|
||
|
[Service]
|
||
|
Type=simple
|
||
|
User=gmid
|
||
|
Group=gmid
|
||
|
WorkingDirectory=/home/gmid/
|
||
|
ExecStart=/home/gmid/gmid/gmid -c /home/gmid/gmid.conf -f -v
|
||
|
StandardOutput=file:/home/gmid/output.log
|
||
|
StandardError=file:/home/gmid/debug.log
|
||
|
Restart=on-failure
|
||
|
|
||
|
[Install]
|
||
|
WantedBy=multi-user.target
|
||
|
</file>
|
||
|
|
||
|
* -f указывает на "foreground", иначе процесс будет стартовать в фоновом режиме
|
||
|
* -v verbose, отладка
|
||
|
|
||
|
Проверить работу сервера можно выполнив от пользователя gmid:
|
||
|
|
||
|
<code>netstat -tulpn | grep LISTEN</code>
|
||
|
|
||
|
===== Ссылки =====
|
||
|
|
||
|
[[https://gmid.omarpolo.com/|Домашняя страница]]
|