πΎ Archived View for dmntv.ru βΊ notes βΊ raspiagate.gmi captured on 2024-12-17 at 10:05:13. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
(ΠΏΠ°ΠΌΡΡΠΊΠ°/ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ)
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° Raspberry Pi (user-name@ip-address)
ssh user@host
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²/ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΊ ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π°Π²Π°ΡΡ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ
(ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΡΡΠΎ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π² Π½Π°ΡΠ΅ΠΉ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ)
mkdir gemini gemini/bin gemini/bin/.certs gemini/public
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Β«ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡΠΉΒ» ΡΠ°ΠΉΠ»
nano gemini/public/index.gmi
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠ΄Π° ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΈΠΏΠ°:
# Hello! This is my first page in GeminiSpace
ΠΠ°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ». Π’Π°ΠΌ ΡΠ°Π·Π½ΡΠ΅. ΠΠ΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ.
Agate: Simple Gemini server for static files
ΠΠΎΠΌΠ°Π½Π΄Π° uname Π²ΡΠ²ΠΎΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅.
uname -a Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ»Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
uname -a
uname -m Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠΌΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ°ΡΠΈΠ½Ρ.
uname -m
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ aarch64
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ:
wget https://github.com/mbrubeck/agate/releases/download/v3.3.11/agate.aarch64-unknown-linux-gnu.gz
Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ
gunzip agate.aarch64-unknown-linux-gnu.gz
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ Π² ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΠ°Π½Π΅Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ bin ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅ΠΌ Π² agate
mv agate.aarch64-unknown-linux-gnu gemini/bin/agate
ΠΠ°Π΅ΠΌ ΠΏΡΠ°Π²Π° Π½Π° Β«Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅Β» ΡΠ°ΠΉΠ»Π°
chmod +x gemini/bin/agate
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΡΠΈ Π΄ΠΎ Π½Π°ΡΠ΅ΠΉ public Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌ (1965) ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
(ΠΏΠΎΠ΄ΡΡΠ°Π²ΡΠ΅ ΡΠ²ΠΎΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ)
/home/dmntv/gemini/bin/agate --content /home/dmntv/gemini/public/ --addr [::]:1965 --addr 0.0.0.0:1965 --hostname dmntv.ru --certs /home/dmntv/gemini/bin/.certs --lang ru-RU
Agate ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΊΠ»ΡΡΠΈ ΠΈ ΡΠ°ΠΌΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ ΠΎΡΡΠ° ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡ ΠΈΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ .certs ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΡΠ°ΠΌΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅, ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ ΠΌΡ ΠΈΠΌ Π΄ΠΎΠ²Π΅ΡΡΠ΅ΠΌ.
Π ΠΈΡΠΎΠ³Π΅ (Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅) Π²ΡΡ ΡΡΡΡΠΊΡΠΊΡΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
/home/dmntv βββ ~/gemini β£β ~/gemini/bin β β£β ~/gemini/bin/.certs β β ββ ~/gemini/bin/.certs/dmntv.ru β β β£β ~/gemini/bin/.certs/cert.der β β ββ ~/gemini/bin/.certs/key.der β ββ ~/gemini/bin/agate ββ ~/gemini/public ββ ~/gemini/public/index.gmi
ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ /etc/systemd/system/
sudo nano /etc/systemd/system/agate.service
Π Π°Π·ΠΌΠ΅ΡΡΠΈΠΌ ΡΠ°ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΡΡΡΡΠΊΡΠΈΠΈ
(ΠΠΎΠ΄ΡΡΠ°Π²Π»ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ Π΄Π»Ρ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΡΠΊΠ°Π·Π°Π² Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ)
[Unit] Description=agate After=network.target [Service] User=dmntv Type=simple ExecStart=/home/dmntv/gemini/bin/agate \ --content /home/dmntv/gemini/public/ \ --addr [::]:1965 \ --addr 0.0.0.0:1965 \ --hostname dmntv.ru \ --certs /home/dmntv/gemini/bin/.certs \ --lang ru-RU [Install] WantedBy=default.target
ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ
sudo systemctl start agate
ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ
sudo systemctl stΠΎΡ agate
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ»ΡΠΆΠ±Ρ
sudo systemctl status agate
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ
sudo systemctl enable agate
ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
sudo systemctl daemon-reload
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ systemctl
systemctl --help