@ -390,41 +390,43 @@ sollte nat"urlich "uber LAN (und nicht via WLAN) mit dem Netz verbunden sein, da
Daten"ubertragung m"oglichst hastig erfolgen kann. Eine FritzBox zum Beispiel hat
Daten"ubertragung m"oglichst hastig erfolgen kann. Eine FritzBox zum Beispiel hat
Gigabitinterfaces, da kann man schon mal gut was "uber die Leitung jagen (wobei des Raspberries
Gigabitinterfaces, da kann man schon mal gut was "uber die Leitung jagen (wobei des Raspberries
Interface langsamer ist).\\
Interface langsamer ist).\\
Als GIT-Serversoftware empfehle ich an dieser Stelle gogs\footnote{https://gogs.io/}.\\
Als GIT-Serversoftware empfehle ich an dieser Stelle gitea\footnote{https://gitea.io/}.\\
Wenn du dich damit besch"aftigen willst, solltest du aber "uber gute Linuxkenntnisse
Wenn du dich damit besch"aftigen willst, solltest du aber "uber gute Linuxkenntnisse
verf"ugen.\\
verf"ugen.\\
Mit gogs hast du eine Weboberfl"ache, "ahnlich wie bei GitHub, unter der du deine Projekte
Mit gitea hast du eine Weboberfl"ache, "ahnlich wie bei GitHub, unter der du deine Projekte
recht einfach verwalten kannst. Du hast auch die M"oglichkeit, private Projekte dort anzulegen
recht einfach verwalten kannst. Du hast auch die M"oglichkeit, private Projekte dort anzulegen
und mit Hilfe der Benutzerverwaltung kannst du auch Einfluss darauf nehmen, was deine Teammitgleider
und mit Hilfe der Benutzerverwaltung kannst du auch Einfluss darauf nehmen, was deine Teammitgleider
alles so d"urfen.
alles so d"urfen.
\subsection{gogs}
\subsection{gitea}
Gogs ist ein kleines, aber feines Projekt, das ein Webfrontend f"ur einen git-Server bereitstellt.
Gitea ist ein kleines, aber feines Projekt, das ein Webfrontend f"ur einen git-Server bereitstellt.
Es ist in der Programmiersprache go geschrieben und ben"otigt nur minimale Resourcen.
Es ist in der Programmiersprache go geschrieben und ben"otigt nur minimale Resourcen.
\subsubsection{Vorbereiten der Datenbank}
\subsubsection{Vorbereiten der Datenbank}
Bevor du dir gogs herunterl"adst und installierst, solltest du das Datenbanksystem
Bevor du dir gitea herunterl"adst und installierst, solltest du das Datenbanksystem
ausw"ahlen, das gogs sp"ater benutzen soll. Du kannst zwischen MariaDB/MySQL und PostgreSQL
ausw"ahlen, das gitea sp"ater benutzen soll. Du kannst zwischen MariaDB/MySQL und PostgreSQL
w"ahlen. Gut, es giobt noch SQLite, MSSQL oder TiDB nutzen, aber die ersten beiden will man
w"ahlen. Gut, es gibt noch SQLite, MSSQL oder TiDB nutzen, aber die ersten beiden will man
nicht wirklich und TiDB ist wohl noch zu speziell. Achte darauf, dass MySQL/MariaDB auch
nicht wirklich und TiDB ist wohl noch zu speziell. Achte darauf, dass MySQL/MariaDB auch
tats"achlich auf dem Netzwerkinterface horcht, das du bei der Installation angibst!\\
tats"achlich auf dem Netzwerkinterface horcht, das du bei der Installation angibst!\\
\paragraph{PostgreSQL}
\paragraph{PostgreSQL}
Am einfachsten loggst du dich per ``sudo su - postgres'' als Benutzer postgres in deiner
Am einfachsten loggst du dich per ``sudo su - postgres'' als Benutzer postgres in deiner
Shell auf deinem GIT-Server ein, dann erzeugst du per ``createuser -P -d gogs'' einen Benutzer
Shell auf deinem GIT-Server ein, dann erzeugst du per ``createuser -P -d gitea'' einen Benutzer
f"ur die Datenbank ``gogs''.\\
f"ur die Datenbank ``gitea''.\\
Im n"achsten Schritt loggst du dich auf der Shell per ``psql -h localhost template1 gogs''
Im n"achsten Schritt loggst du dich auf der Shell per ``psql -h localhost template1 gitea''
in das Datenbanksystem ein. Hier reicht nun ein ``CREATE DATABASE gogs;'', um die Datenbank
in das Datenbanksystem ein. Hier reicht nun ein ``CREATE DATABASE gitea;'', um die Datenbank
f"ur gogs anzulegen.
f"ur gitea anzulegen.
\paragraph{MariaDB/MySQL}
\paragraph{MariaDB/MySQL}
Du loggst dich mit dem administrativen Benutzer in MariaDB/MySQL, den du bei der Installation
Du loggst dich mit dem administrativen Benutzer in MariaDB/MySQL, den du bei der Installation
eingerichtet hast, in das Datenbanksystem ein. Das ist oft der Datenbankbenutzer ``root''
eingerichtet hast, in das Datenbanksystem ein. Das ist oft der Datenbankbenutzer ``root''
(nicht zu verwechseln mit dem Systembenutzer ``root''). Also ``mysql -p -u root''. Nun
(nicht zu verwechseln mit dem Systembenutzer ``root''). Also ``mysql -p -u root''. Nun
erfolgt ein ``GRANT ALL PRIVILEGES ON gogs.* to 'gogs'@'localhost' IDENTIFIED BY
erfolgt ein ``GRANT ALL PRIVILEGES ON gitea.* to 'gitea'@'localhost' IDENTIFIED BY
'geheimes passwort';''. Dann loggst du dich aus, loggst dich per ``mysql -p -u gogs''
'geheimes passwort';''. Dann loggst du dich aus, loggst dich per ``mysql -p -u gitea''
wieder ein und f"uhrst ein ``CREATE DATABASE gogs CHARACTER SET utf8mb4;'' aus,
wieder ein und f"uhrst ein ``CREATE DATABASE gitea CHARACTER SET utf8mb4;'' aus,
um die Datenbank f"ur gogs anzulegen.
um die Datenbank f"ur gitea anzulegen.
\\
\\
\textbf{Hinweis:} Sollte bei Benutzung von MariaDB w"ahrend der Installation im
\textbf{Hinweis:} Sollte bei Benutzung von MariaDB w"ahrend der Installation im
Webbrowser die Fehlermeldung ``Datenbankeinstellungen sind nicht korrekt: Error 1071: Specified key was too long; max key length is 767 bytes'', dann folgende Befehle in der
Webbrowser die Fehlermeldung ``Datenbankeinstellungen sind nicht korrekt: Error 1071: Specified key was too long; max key length is 767 bytes'', dann folgende Befehle in der
@ -437,20 +439,195 @@ set global innodb_file_format=Barracuda;
\subsubsection{Installation}
\subsubsection{Installation}
Bevor du dir gleich die Software runterl"adst, lege bitte einen Benutzer ``git'' auf deinem
Bevor du dir gleich die Software runterl"adst, lege bitte einen Benutzer ``git'' auf deinem
Server an, sofern der Benutzer noch nicht existiert.\\
Server an, sofern der Benutzer noch nicht existiert.\\
Von https://gogs.io/docs/installation/install\_from\_binary l"adt man sich die passende Version
Von https://gitea.io/ l"adt man sich die passende Version
f"ur seinen Server runter und entpackt diese. Das entstandene Verzeichnis wird dann in das
f"ur seinen Server runter und entpackt diese. Das entstandene Verzeichnis wird dann in das
Benutzerverzeichnis des Benutzers ``git'' verschoben und diesem zu eigen gemacht (chown).\\
Benutzerverzeichnis des Benutzers ``git'' verschoben und diesem zu eigen gemacht (chown).\\
Im Verzeichnis gogs/scripts findest du Beispiele, um gogs auf deinem System bei Systemstart
Um gitea beim Systemstart zu starten, benötigst du die passenden Skripte.\\
automatisch zu starten. Das geht zum Beispiel via init oder systemd.\\
Nat"urlich solltest du die Dateien entsprechend f"ur dein System anpassen, sonst stimmen
Nat"urlich solltest du die Dateien entsprechend f"ur dein System anpassen, sonst stimmen
die Pfade unter Umst"anden nicht.
die Pfade unter Umst"anden nicht.
\paragraph{systemd}
In ``/etc/systemd/system/'' legst du (z.B. mit vim) die Datei ``gitea.service'' mit