Theodem: Unterschied zwischen den Versionen

Aus Stratum 0
Wechseln zu:Navigation, Suche
(+chrissi^, ssh läuft, kein http mehr vorgesehen)
(Doku)
 
(24 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{Hardware
 
{{Hardware
|kontakt=[[Benutzer:Kasalehlia|Kasalehlia]], [[Benutzer:Daniel Bohrer|Daniel Bohrer]], [[Benutzer:chrissi^|chrissi^]]
+
|kontakt=[[Benutzer:chrissi^|chrissi^]]
 
|status=working
 
|status=working
|ort=[[endor]]
+
|ort=[[endur]]
 
|beschreibung=VM für [[Vorstand]]sfoo
 
|beschreibung=VM für [[Vorstand]]sfoo
 
|links=
 
|links=
Zeile 36: Zeile 36:
  
 
== Doku ==
 
== Doku ==
* Debian jessie, systemd
+
* Debian 12
 
* 512 MB RAM
 
* 512 MB RAM
 
* 6 GB Platte
 
* 6 GB Platte
 
* 2 CPU-Kerne
 
* 2 CPU-Kerne
* Netzwerk intern, per DHCP
+
* Netzwerk intern, statisch via /etc/systemd/network/eth0.network
  
 
* gitolite3 in <tt>/var/lib/gitolite3/</tt>, user <tt>git</tt>
 
* gitolite3 in <tt>/var/lib/gitolite3/</tt>, user <tt>git</tt>
** Git-Hooks im Admin-Repo: siehe http://gitolite.com/gitolite/gitolite.html#hooks
+
* <tt>s0v-finanzen</tt>-Repo:
 +
** post-receive-Hook ist manuell im Repository angelegt, delegiert an
 +
*** <tt>/var/lib/gitolite3/scripts/jverein-finance-report/hook.sh</tt>
 +
**** benutzt virtualenv unter <tt>/var/lib/gitolite3/scripts/jverein-finance-report/venv</tt>
 +
*** <tt>/var/lib/gitolite3/scripts/jverein-regressionstests/run_tests.sh</tt>
 +
**** Verschickt die Reports an Schatzmeisterin und Vertreter
 
* SSH via Port-Forwarding von [[gandolf]], Port 2222
 
* SSH via Port-Forwarding von [[gandolf]], Port 2222
 +
* Alle Dateien in <tt>/var/www/html</tt> werden auf [[regolas]] gesynct, sobald die Datei <tt>/var/www/html/.dirty</tt> angelegt wird (z.B. durch Ausführen von <tt>/usr/local/bin/regolas-rsync</tt>, was auch stündlich als Cronjob geschieht). Die Dateien sind damit unter https://data.stratum0.org erreichbar.
 +
* jre8: Der H2DB-Server für die Finanz-Scripte funktioniert nicht unter der OpenJRE11. Es ist daher aus stretch eine jre8 installiert.
  
 +
=== Skripte etc ===
 +
/home/regolas-rsync/bin/regolas-rsync:
 +
#!/bin/sh
 +
rsync \
 +
  --recursive --delete --stats \
 +
  --chmod=D2755,F644 \
 +
  --exclude='.*' \
 +
  /var/www/html/ theodem-rsync@regolas:/var/www/data.stratum0.org/ | \
 +
  sed 's/^/regolas-rsync: /' 
 +
 +
/etc/systemd/system/regolas-rsync.service:
 +
[Unit]
 +
Description=rsync everything from /var/www/html to regolas
 +
Requires=network.target
 +
 +
[Service]
 +
User=regolas-rsync
 +
Group=www-data
 +
ExecStart=/bin/sh -c '                            \
 +
  while true; do                                  \
 +
    if [ -r /var/www/html/.dirty ]; then          \
 +
      /home/regolas-rsync/bin/regolas-rsync;      \
 +
      rm -f /var/www/html/.dirty;                \
 +
    fi;                                          \
 +
    sleep 1;                                      \                                                   
 +
  done'
 +
Restart=always
 +
 +
[Install]
 +
WantedBy=multi-user.target
 +
 +
=== Services ===
 +
* [https://data.stratum0.org/finanz/ Finanzreport] (Schatzmeister)
 +
** Git-Hook in /var/lib/gitolite3/repositories/s0v-finanzen.git/hooks/post-receive
 +
 +
 +
==== SSH-Config  ====
 +
Die folgende ~/.ssh/config ist ein Beispiel, wie theodem erreicht werden kann.
 +
 +
  Host theodem
 +
      User <user>
 +
      Port 2222
 +
      HostName theodem.stratum0.org
 +
 +
==== gitolite ====
 +
 +
===== Übersicht der eigenen Repositories =====
 +
 +
Man kann sich alle Repositories anzeigen lassen, auf die man zugriff hat:
 +
 +
$ ssh git@theodem
 +
 +
hello chrissi, this is git@theodem running gitolite3 3.6.6-1 (Debian) on git 2.11.0
 +
 +
  R W gitolite-admin
 +
  R W s0v-dokumente
 +
  R W s0v-finanzen
 +
  R W s0v-mails2011
 +
  R W s0v-mails2012
 +
  R W s0v-mails2013
 +
  R W s0v-mails2014
 +
  R W s0v-mails2015
 +
  R W s0v-mails2016
 +
  R W s0v-mails2017
 +
  R W s0v-mails2018
 +
  R W s0v-mails2019
 +
 +
===== Repository klonen =====
 +
Die URL eines Repositories ergibt sich aus seinem Namen und der Basisurl:
 +
 +
  git@theodem:<Name>
 +
 +
z.B.:
 +
  git@theodem:s0v-dokumente
 
[[Kategorie:Virtuelle Maschine]]
 
[[Kategorie:Virtuelle Maschine]]
 
[[Kategorie:Infrastruktur]]
 
[[Kategorie:Infrastruktur]]

Aktuelle Version vom 10. Januar 2024, 20:48 Uhr

Theodem
Beschreibung: VM für Vorstandsfoo
Ort: endur
Status: working (Was heißt das?)
Kontakt: chrissi^

SSH-Keys

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

$ for i in  /etc/ssh/ssh_host_*.pub; do ssh-keygen -lf $i; done
1024 ea:74:1e:22:63:7e:48:29:eb:60:c7:0c:2f:3c:56:60 /etc/ssh/ssh_host_dsa_key.pub (DSA)
256 ad:de:1a:1f:2b:8f:e4:5c:cb:72:0a:e2:f3:48:73:b1 /etc/ssh/ssh_host_ecdsa_key.pub (ECDSA)
256 2e:f0:ac:eb:83:6d:5c:5a:20:8f:8f:16:7a:8a:e9:13 /etc/ssh/ssh_host_ed25519_key.pub (ED25519)
2048 a3:28:ca:9f:9a:f5:ee:b7:5e:13:7a:9d:35:db:94:ca /etc/ssh/ssh_host_rsa_key.pub (RSA)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCgAGBQJXeHGPAAoJELJBPGbdLD/qO2QP/1ATa80NxMB5CHzpyWBq3tqV
zZYMAH2Hx1CQWZDQ/ATTfzt4duGL9REOVlkWIjsYlIEKgCSWT5vv9fuuDJIbKjfj
otPgB7SHZ5J9O4HtduneKNxWFb2VQvZiW7GD0Rrps2WD7PHtHmF2BjjkemWwkL1a
9AdpxxHfUB8Jr+06ciIe/z94mFlCPpr4phe1HW5WvPP/AlrIf+GYVCZL3J3FIcxh
HUGcykabjAoYhW6LDKL8ovVJkn8tf38D3LUJv7fePOGb9SFk/xf6JO30mveIRChz
pMUhyqPg6/qlZ4itxzFAzYs61hovK8PnD6eBk87PtJS2GE5jWnMmyO2y2xmQpGQH
c10Zq477R6useUDjc7xq/R6Ays5wM6extw8KA5UrQRikifA0yS0MdVnlqWbTufYj
9mlV0BBGPYN/zA55ui/mp2cDA9ph5/m+ZM5AC3mh8jxYMTWPEUBhCAK4UWfYjDy3
W6aX/WxV+hcQAivG1K97Skd3DIdSsokCVFoYrJMJ8SvVmI3kTTZL5AwcmW4A1s8A
fW5Oq2kIc5h6indDyy8tgN3dQodMWl5Nd5okEomCaIiT4YFMP65k5rZMLA8PE9Fv
JVYo/6IA7M+8qs5/hMVAbSNqZnm1CntgKNmSM2T8OWlyNyuxzb1AR2lM2CdIcrFf
tsFJqwX82h1NsOre6Lec
=OiC3
-----END PGP SIGNATURE-----

Doku

  • Debian 12
  • 512 MB RAM
  • 6 GB Platte
  • 2 CPU-Kerne
  • Netzwerk intern, statisch via /etc/systemd/network/eth0.network
  • gitolite3 in /var/lib/gitolite3/, user git
  • s0v-finanzen-Repo:
    • post-receive-Hook ist manuell im Repository angelegt, delegiert an
      • /var/lib/gitolite3/scripts/jverein-finance-report/hook.sh
        • benutzt virtualenv unter /var/lib/gitolite3/scripts/jverein-finance-report/venv
      • /var/lib/gitolite3/scripts/jverein-regressionstests/run_tests.sh
        • Verschickt die Reports an Schatzmeisterin und Vertreter
  • SSH via Port-Forwarding von gandolf, Port 2222
  • Alle Dateien in /var/www/html werden auf regolas gesynct, sobald die Datei /var/www/html/.dirty angelegt wird (z.B. durch Ausführen von /usr/local/bin/regolas-rsync, was auch stündlich als Cronjob geschieht). Die Dateien sind damit unter https://data.stratum0.org erreichbar.
  • jre8: Der H2DB-Server für die Finanz-Scripte funktioniert nicht unter der OpenJRE11. Es ist daher aus stretch eine jre8 installiert.

Skripte etc

/home/regolas-rsync/bin/regolas-rsync:

#!/bin/sh
rsync \
  --recursive --delete --stats \
  --chmod=D2755,F644 \
  --exclude='.*' \
  /var/www/html/ theodem-rsync@regolas:/var/www/data.stratum0.org/ | \ 
  sed 's/^/regolas-rsync: /'  

/etc/systemd/system/regolas-rsync.service:

[Unit]
Description=rsync everything from /var/www/html to regolas
Requires=network.target

[Service]
User=regolas-rsync
Group=www-data
ExecStart=/bin/sh -c '                            \
  while true; do                                  \
    if [ -r /var/www/html/.dirty ]; then          \
      /home/regolas-rsync/bin/regolas-rsync;      \
      rm -f /var/www/html/.dirty;                 \
    fi;                                           \
    sleep 1;                                      \                                                    
  done'
Restart=always

[Install]
WantedBy=multi-user.target

Services

  • Finanzreport (Schatzmeister)
    • Git-Hook in /var/lib/gitolite3/repositories/s0v-finanzen.git/hooks/post-receive


SSH-Config

Die folgende ~/.ssh/config ist ein Beispiel, wie theodem erreicht werden kann.

 Host theodem
     User <user>
     Port 2222
     HostName theodem.stratum0.org

gitolite

Übersicht der eigenen Repositories

Man kann sich alle Repositories anzeigen lassen, auf die man zugriff hat:

$ ssh git@theodem

hello chrissi, this is git@theodem running gitolite3 3.6.6-1 (Debian) on git 2.11.0

  R W	gitolite-admin
  R W	s0v-dokumente
  R W	s0v-finanzen
  R W	s0v-mails2011
  R W	s0v-mails2012
  R W	s0v-mails2013
  R W	s0v-mails2014
  R W	s0v-mails2015
  R W	s0v-mails2016
  R W	s0v-mails2017
  R W	s0v-mails2018
  R W	s0v-mails2019
Repository klonen

Die URL eines Repositories ergibt sich aus seinem Namen und der Basisurl:

 git@theodem:<Name>

z.B.:

 git@theodem:s0v-dokumente