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
====== 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/|Домашняя страница]] |