Dans ce tutoriel, nous allons vous montrer comment installer Gitea sur Debian 9. Nous vous montrerons également comment déployer le service Gitea git sur un VPS Debian 9.
Gitéa est un système de contrôle de version gratuit, open-source et léger écrit en Golang. Il s'agit d'un service git auto-hébergé et d'une solution alternative à GitHub, Bitbucket et Gitlab. Son objectif principal est de fournir le moyen le plus simple de configurer un service Git auto-hébergé. Il fonctionne sur plusieurs plates-formes, notamment Linux, macOS et Windows. Gitea prend également en charge plusieurs systèmes de bases de données, notamment SQLite, MySQL et PostgreSQL prêts à l'emploi. L'installation de Gitea sur Debian 9 ne devrait pas prendre plus de 10 minutes. Commençons.
Prérequis :
- Un VPS Debian 9 avec un accès root activé ou un utilisateur avec des privilèges sudo.
- Un nom de domaine valide pointant vers l'adresse IP de votre serveur. Dans ce tutoriel, nous utiliserons
gitea.mydomain.com
.
Étape 1 :Connexion et mise à jour des packages
Tout d'abord, nous allons devoir nous connecter à notre serveur en utilisant SSH. Vous pouvez le faire en saisissant cette commande :
ssh root@IP_Address -p Port_Number
N'oubliez pas de remplacer "root" par votre nom d'utilisateur si vous n'utilisez pas l'utilisateur root. Modifiez "IP_Address" et "Port_Number" en fonction de l'adresse IP et du numéro de port SSH de votre serveur.
Une fois connecté, vous devez mettre à jour tous vos packages vers leurs dernières versions disponibles.
apt-get update -y apt-get upgrade -y
Étape 2 :Installer et configurer la base de données MariaDB
Gitea utilise SQLite, MySQL/MariaDB et PostgreSQL pour stocker ses données. Ici, nous utiliserons MariaDB pour notre solution de base de données.
Installons MariaDB en exécutant la commande suivante :
apt-get install mariadb-server mariadb-client -y
Une fois installé, exécutez la commande suivante pour sécuriser l'installation de MariaDB :
mysql_secure_installation
Cette commande définira le mot de passe root, supprimera les utilisateurs anonymes, désactivera la connexion root à distance et supprimera la base de données de test comme indiqué ci-dessous :
Enter current password for root (enter for none): press [Enter] Set root password? [Y/n]: N Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Une fois MariaDB sécurisée, connectez-vous au shell MariaDB avec la commande suivante :
mysql -u root -p
Entrez votre mot de passe root lorsque vous y êtes invité, puis modifiez le GLOBAL innodeb_file_per_table
à On
:
MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
Ensuite, créez une base de données et un utilisateur pour Gitea avec la commande suivante :
MariaDB [(none)]> CREATE DATABASE gitea; MariaDB [(none)]> CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'password';
Assurez-vous de choisir un mot de passe unique et fort pour votre utilisateur Gitea MariaDB.
Ensuite, accordez tous les privilèges à Gitea et modifiez la base de données avec la commande suivante :
MariaDB [(none)]> GRANT ALL ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; MariaDB [(none)]> ALTER DATABASE gitea CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
Enfin, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Ensuite, ouvrez le fichier de configuration par défaut de MariaDB et modifiez certains paramètres :
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Ajoutez les lignes suivantes :
innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_default_row_format = dynamic
Enregistrez et fermez le fichier. Ensuite, redémarrez le service MariaDB pour appliquer les modifications de configuration :
systemctl restart mariadb
Étape 3 :Téléchargez et installez Gitea sur Debian 9
Rendez-vous sur la page de téléchargement de Gitea et téléchargez la dernière version du paquet binaire Gitea avec la commande suivante :
wget https://github.com/go-gitea/gitea/releases/download/v1.9.1/gitea-1.9.1-linux-amd64
Une fois téléchargé, copiez le binaire téléchargé dans le /usr/local/bin
répertoire :
cp gitea-1.9.1-linux-amd64 /usr/local/bin/gitea
Ensuite, fournissez une autorisation exécutable à l'aide de la commande suivante :
chmod 755 /usr/local/bin/gitea
Vous pouvez maintenant vérifier la version de Gitea à l'aide de la commande suivante :
gitea --version
Vous devriez obtenir le résultat suivant :
Gitea version 1.9.1 built with GNU Make 4.1, go1.12.8 : bindata, sqlite, sqlite_unlock_notify
Ensuite, nous devrons créer une structure de répertoires pour nos référentiels, nos fichiers de configuration et nos fichiers journaux. Exécutez la commande suivante pour créer la structure de répertoires pour Gitea :
mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
Étape 4 :Créer un fichier de service Systemd pour Gitea
Maintenant, nous allons devoir créer un fichier de service systemd pour gérer le service Gitea. Vous pouvez démarrer, arrêter et redémarrer le service Gitea avec Systemd.
Exécutez la commande suivante pour créer un fichier de service systemd :
nano /etc/systemd/system/gitea.service
Ajoutez les lignes suivantes :
[Unit] Description=Gitea After=syslog.target After=network.target After=mysql.service [Service] RestartSec=2s Type=simple User=root Group=root WorkingDirectory=/var/lib/gitea/ ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini Restart=always Environment=USER=root HOME=/root GITEA_WORK_DIR=/var/lib/gitea [Install] WantedBy=multi-user.target
Enregistrez et fermez le fichier. Ensuite, rechargez la liste des démons systemd avec la commande suivante :
systemctl daemon-reload
Ensuite, démarrez le service Gitea et activez-le pour qu'il démarre automatiquement après le redémarrage du système avec les commandes suivantes :
systemctl start gitea systemctl enable gitea
Vous pouvez également vérifier l'état du service Gitea à l'aide de la commande suivante :
systemctl status gitea
Vous devriez obtenir le résultat suivant :
● gitea.service - Gitea Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2019-08-21 10:44:06 UTC; 7s ago Main PID: 3995 (gitea) Tasks: 6 (limit: 7372) CGroup: /system.slice/gitea.service └─3995 /usr/local/bin/gitea web -c /etc/gitea/app.ini Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:74:GlobalInit() [T] Custom path: /var/lib/gitea/custom Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:75:GlobalInit() [T] Log path: /var/lib/gitea/log Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...dules/setting/log.go:226:newLogService() [I] Gitea v1.9.1 built with GNU Make 4.1, g Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...dules/setting/log.go:269:newLogService() [I] Gitea Log Mode: Console(Console:info) Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...les/setting/cache.go:42:newCacheService() [I] Cache Service Enabled Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 ...s/setting/session.go:45:newSessionService() [I] Session Service Enabled Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:106:GlobalInit() [I] SQLite3 Supported Aug 21 10:44:06 debian9 gitea[3995]: 2019/08/21 10:44:06 routers/init.go:37:checkRunMode() [I] Run Mode: Development Aug 21 10:44:07 debian9 gitea[3995]: 2019/08/21 10:44:07 cmd/web.go:151:runWeb() [I] Listen: http://0.0.0.0:3000 Aug 21 10:44:07 debian9 gitea[3995]: 2019/08/21 10:44:07 ...ce/gracehttp/http.go:142:Serve() [I] Serving [::]:3000 with pid 3995
Par défaut, Gitea tourne sur le port 3000. Vous pouvez le vérifier avec la commande suivante :
netstat -ant | grep 3000
Sortie :
tcp6 0 0 :::3000 :::* LISTEN
Étape 5 : Configurer Nginx en tant que proxy inverse pour Gitea
Si vous souhaitez accéder à votre installation Gitea via un domaine, vous devrez créer un reverse proxy.
Tout d'abord, installez le serveur Web Nginx avec la commande suivante :
apt-get install nginx -y
Une fois installé, créez un nouveau bloc de serveur d'hôte virtuel pour Gitea :
nano /etc/nginx/sites-available/gitea.conf
Ajoutez les lignes suivantes :
upstream gitea { server 127.0.0.1:3000 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name gitea.mydomain.com; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://gitea/; } }
N'oubliez pas de remplacer mondomaine.com par votre propre domaine enregistré.
Enregistrez et fermez le fichier. Ensuite, vérifiez Nginx pour toute erreur de syntaxe avec la commande suivante :
nginx -t
Ensuite, activez la directive d'hôte virtuel avec la commande suivante :
ln -s /etc/nginx/sites-available/gitea.conf /etc/nginx/sites-enabled/
Enfin, redémarrez le service Nginx pour appliquer les modifications de configuration :
systemctl restart nginx
Étape 6 :Accéder à l'assistant d'installation de Gitea Web
Maintenant, ouvrez votre navigateur Web et visitez l'URL http://gitea.mydomain.com/install
. Vous allez être redirigé vers la page d'installation de Gitea :
Entrez les informations de votre base de données, le titre du site, l'URL de base de Gitea et l'URL du serveur, les informations de compte administrateur et cliquez sur Installer Gitea bouton. Une fois l'installation terminée avec succès, vous serez redirigé vers l'écran du tableau de bord Gitea :
Maintenant, cliquez sur le + bouton pour créer votre premier référentiel :
Fournissez les détails de votre référentiel et cliquez sur le bouton Créer un référentiel. Une fois le dépôt créé, vous devriez voir la page suivante :
Maintenant, cliquez sur le bouton Télécharger le fichier. Vous devriez voir la page suivante :
Téléchargez votre fichier, ajoutez une description dans la case Commit Changes et cliquez sur le bouton Commit Changes. Vous devriez voir votre nouveau fichier téléchargé sur la page suivante :
Félicitations ! vous avez installé avec succès Gitea sur un VPS Debian 9 et créé un projet de test. Vous avez également configuré Gitea derrière le Nginx Reverse Proxy. Vous pouvez désormais créer vos propres référentiels avec Gitea et les déployer dans un environnement de développement. Pour plus d'informations, vous pouvez consulter la documentation officielle de Gitea.
Suivez ce tutoriel pour installer Gitea sur Ubuntu 20.04
Bien sûr, vous n'êtes pas obligé de je ninstallez Gitea sur Debian 9 si vous avez un serveur Debian géré avec nous. Vous pouvez simplement demander à notre équipe de support d'installer Gitea sur Debian 9 pour vous. Ils sont disponibles 24h/24 et 7j/7 et pourront vous aider dans l'installation.
PS . Si vous avez apprécié la lecture de cet article de blog sur l'installation de Gitea sur Debian 9, n'hésitez pas à le partager sur les réseaux sociaux en utilisant les raccourcis ci-dessous, ou simplement à laisser un commentaire dans la section des commentaires. Merci.