Ayant du installer gogs sur une raspberry pour un petit projet au boulot, j’en profite pour me faire un petit tuto.
Premier prérequis : installer GITBizbi@rpiprepa:~ $ sudo apt-get install git
Second prérequis : télécharger gogs et l’unzipBizbi@rpiprepa:~ $ cd /tmp/
Bizbi@rpiprepa:/tmp $ wget https://dl.gogs.io/0.12.7/gogs_0.12.7_linux_armv7.zip
--2022-05-17 09:35:36-- https://dl.gogs.io/0.12.7/gogs_0.12.7_linux_armv7.zip
Résolution de dl.gogs.io (dl.gogs.io)… 188.114.96.6, 188.114.97.6, 2a06:98c1:3121::6, …
Connexion à dl.gogs.io (dl.gogs.io)|188.114.96.6|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 25083162 (24M) [application/zip]
Sauvegarde en : « gogs_0.12.7_linux_armv7.zip »
gogs_0.12.7_linux_armv7.zip 100%[============================================================================================================================================================================>] 23,92M 7,62MB/s ds 3,1s
2022-05-17 09:35:40 (7,62 MB/s) — « gogs_0.12.7_linux_armv7.zip » sauvegardé [25083162/25083162]
Bizbi@rpiprepa:/tmp $ unzip gogs_0.12.7_linux_armv7.zip
Troisième prérequis : Avoir une BDD et un utilisateur dédié.
Bizbi@rpiprepa:~ $ sudo apt install mariadb-server
Bizbi@rpiprepa:~
$ sudo mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 36
Server version: 10.5.15-MariaDB-0+deb11u1 Raspbian 11
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]>
MariaDB [(none)]> source /tmp/gogs/scripts/mysql.sql
Query OK, 0 rows affected, 2 warnings (0.001 sec)
Query OK, 0 rows affected (0.000 sec)
Statement prepared
Query OK, 0 rows affected (0.000 sec)
Query OK, 0 rows affected, 1 warning (0.000 sec)
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| gogs |
| information_schema |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.002 sec)
MariaDB [(none)]>
MariaDB [(none)]> GRANT ALL PRIVILEGES ON gogs.* TO 'gogs'@'localhost' IDENTIFIED BY "Bizbi";
Query OK, 0 rows affected (0.006 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.003 sec)
MariaDB [(none)]> exit
Bye
Dernier prérequis : création de l’utilisateur « git »Bizbi@rpiprepa:~ $ sudo adduser git
Ajout de l'utilisateur « git » …
Ajout du nouveau groupe « git » (1001) …
Ajout du nouvel utilisateur « git » (1001) avec le groupe « git » …
Création du répertoire personnel « /home/git »…
Copie des fichiers depuis « /etc/skel »…
Nouveau mot de passe :
Retapez le nouveau mot de passe :
passwd: password updated successfully
Changing the user information for git
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Cette information est-elle correcte ? [O/n]
Passons à l’installation de gogs avec pour commencer la gestion des logs :Bizbi@rpiprepa:~ $ sudo mkdir /var/log/gogs
Bizbi@rpiprepa:~ $ sudo chown -R git:git /var/log/gogs/
Puis la copie du dossier dans le home :Bizbi@rpiprepa:~ $ su - git
Mot de passe :
git@rpiprepa:~ $ cp -r /tmp/gogs .
Création du service gogs :Bizbi@rpiprepa:~ $ exit
Bizbi@rpiprepa:~ $ sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system
Bizbi@rpiprepa:~ $ sudo systemctl start gogs
Bizbi@rpiprepa:~ $ sudo systemctl status gogs
● gogs.service - Gogs
Loaded: loaded (/etc/systemd/system/gogs.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2022-05-17 11:09:58 CEST; 7s ago Main PID: 12521 (gogs)
Tasks: 8 (limit: 1598) CPU: 1.526s CGroup: /system.slice/gogs.service └─12521 /home/git/gogs/gogs web
mai 17 11:09:58 rpiprepa gogs[12521]: 2022/05/17 11:09:58 [TRACE] Log mode: Console (Trace)
mai 17 11:09:58 rpiprepa gogs[12521]: 2022/05/17 11:09:58 [ INFO] Gogs 0.12.7 mai 17 11:09:58 rpiprepa gogs[12521]: 2022/05/17 11:09:58 [TRACE] Work directory: /home/git/gogs
mai 17 11:09:58 rpiprepa gogs[12521]: 2022/05/17 11:09:58 [TRACE] Custom path: /home/git/gogs/custom
mai 17 11:09:58 rpiprepa gogs[12521]: 2022/05/17 11:09:58 [TRACE] Custom config: /home/git/gogs/custom/conf/app.ini
mai 17 11:09:58 rpiprepa gogs[12521]: 2022/05/17 11:09:58 [TRACE] Log path: /home/git/gogs/log
mai 17 11:09:58 rpiprepa gogs[12521]: 2022/05/17 11:09:58 [TRACE] Build time: 2022-05-05 11:13:48 UTC
mai 17 11:09:58 rpiprepa gogs[12521]: 2022/05/17 11:09:58 [TRACE] Build commit: d06ba7e527fcc462aecdb660ce001e87d94f024c
mai 17 11:09:58 rpiprepa gogs[12521]: 2022/05/17 11:09:58 [ INFO] Run mode: Development
mai 17 11:09:59 rpiprepa gogs[12521]: 2022/05/17 11:09:59 [ INFO] Listen on http://0.0.0.0:3000
Ok le reste se passe sur l’interface web http://YourIP:3000
On renseigne l’accès à la base de données :
Et le reste des paramètres :
Et c’est ok on a un petit serveur git fonctionnel !