Comment installer Gitea sur Ubuntu 18.04

Gitea est un système de contrôle de version gratuit et open-source similaire à GitHub. Gitea est un clone de Gogs, une solution légère d’hébergement de code écrite en Go et publiée sous la licence MIT. Il est simple, rapide, facile à utiliser, évolutif et constitue une excellente alternative aux autres services git. Gitea est doté de nombreuses fonctionnalités, notamment la prise en charge de plusieurs bases de données, la prise en charge de plusieurs systèmes d’exploitation, un processus de mise à niveau facile, la prise en charge des CSV, un wiki intégré alimenté par Git, un registre de conteneurs intégré, un miroir git externe, le suivi des problèmes et du temps, le branchement du dépôt et bien plus encore.

Dans ce tutoriel, nous allons expliquer comment installer le serveur git Gitea sur le serveur Ubuntu 18.04.

Exigences

  • Un serveur fonctionnant sous Ubuntu 18.04.
  • Une adresse IP statique 192.168.0.101 est configurée sur ton serveur.
  • Un utilisateur non-root avec des privilèges sudo.

Pour commencer

Avant de commencer, tu dois mettre à jour ton système avec la dernière version. Tu peux le faire en exécutant la commande suivante :

sudo apt-get update -y
sudo apt-get upgrade -y

Installer les paquets requis

Tout d’abord, tu devras installer le serveur MariaDB, git, unzip et wget sur ton serveur. Tu peux les installer tous à l’aide de la commande suivante :

sudo apt-get install mariadb-server wget unzip git -y

Une fois que tous les paquets sont installés, démarre le service MariaDB et active-le pour qu’il démarre au démarrage avec la commande suivante :

sudo systemctl start mariadb
sudo systemctl enable mariadb

Configurer MariaDB

Par défaut, MariaDB n’est pas sécurisé. Tu devras donc la sécuriser. Tu peux le faire en exécutant le script mysql_secure_installation :

sudo mysql_secure_installation

Ce script modifiera ton mot de passe root actuel, supprimera les utilisateurs anonymes et interdira la connexion root à distance, comme indiqué ci-dessous :

    Enter current password for root (enter for none):
    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 que MariaDB est sécurisée, connecte-toi au shell MariaDB :

mysql -u root -p

Saisis ton mot de passe root à l’invite. Ensuite, crée une base de données et un utilisateur pour Gitea :

MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
MariaDB [(none)]> CREATE DATABASE giteadb;
MariaDB [(none)]> CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'password';

Ensuite, accorde tous les privilèges à Gitea avec la commande suivante :

MariaDB [(none)]> GRANT ALL ON giteadb.* TO 'giteauser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Ensuite, mets à jour le jeu de caractères de la base de données avec la commande suivante :

ALTER DATABASE giteadb CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;

Ensuite, vide les privilèges et quitte le shell MariaDB :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Ensuite, tu devras éditer le fichier de configuration par défaut de MariaDB et y apporter quelques modifications :

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Ajoute les lignes suivantes :

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic

Sauvegarde et ferme le fichier. Ensuite, redémarre le service MariaDB pour appliquer les modifications :

sudo systemctl restart mariadb

Structure de répertoire de Crete Gitea

Tout d’abord, tu dois créer un utilisateur Gitea. Tu peux le faire avec la commande suivante :

sudo adduser --system --shell /bin/bash --group --disabled-password --home /home/gitea gitea

Ensuite, crée une structure de répertoire pour Gitea avec la commande suivante :

sudo mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}

Ensuite, donne la propriété à l’utilisateur Gitea avec la commande suivante :

sudo chown gitea:gitea /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo chmod 770 /etc/gitea

Installe Gitea

Ensuite, tu dois télécharger le paquet Gitea depuis le dépôt Git Hub. Tu peux le télécharger avec la commande suivante :

wget https://github.com/go-gitea/gitea/releases/download/v1.5.1/gitea-1.5.1-linux-amd64

Ensuite, déplace le binaire téléchargé dans le répertoire /usr/local/bin avec la commande suivante :

sudo mv gitea-1.5.1-linux-amd64 /usr/local/bin/gitea

Ensuite, donne la permission appropriée au binaire Gitea avec la commande suivante :

sudo chmod +x /usr/local/bin/gitea

Ensuite, crée un fichier de service systemd pour gérer le service Gitea avec la commande suivante :

sudo nano /etc/systemd/system/gitea.service

Ajoute les lignes suivantes :

[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because of that
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

Sauvegarde et ferme le fichier lorsque tu as terminé. Ensuite, recharge systemd et démarre le service Gitea avec la commande suivante :

sudo systemctl daemon-reload
sudo systemctl start gitea

Tu peux maintenant vérifier l’état de Gitea avec la commande suivante :

sudo systemctl status gitea

Sortie :

? gitea.service - Gitea
   Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-01-06 08:04:52 UTC; 3s ago
 Main PID: 6030 (gitea)
    Tasks: 8 (limit: 1114)
   CGroup: /system.slice/gitea.service
           ??6030 /usr/local/bin/gitea web -c /etc/gitea/app.ini

Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [T] Log path: /var/lib/gitea/log
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Gitea v1.5.1 built with: bindata, sqlite
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Log Mode: Console(Info)
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] XORM Log Mode: Console(Info)
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Cache Service Enabled
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Session Service Enabled
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] SQLite3 Supported
Jan 06 08:04:52 ubuntu1804 gitea[6030]: 2019/01/06 08:04:52 [I] Run Mode: Development
Jan 06 08:04:53 ubuntu1804 gitea[6030]: 2019/01/06 08:04:53 Serving [::]:3000 with pid 6030
Jan 06 08:04:53 ubuntu1804 gitea[6030]: 2019/01/06 08:04:53 [I] Listen: http://0.0.0.0:3000

Accéder à l’interface Web de Gitea

Gitea est maintenant opérationnel et écoute sur le port 3000. Maintenant, ouvre ton navigateur Web et tape l’URL http://192.168.0.101:3000/install. Tu seras redirigé vers la page suivante :

Ici, fournis toutes les informations requises comme le nom de la base de données Gitea, le nom d’utilisateur, le mot de passe, l’url de base, le nom d’utilisateur Run as, le nom d’utilisateur admin, le mot de passe et le chemin de connexion. Ensuite, clique sur le bouton Installer Gitea. Une fois l’installation terminée avec succès, tu seras redirigé vers le tableau de bord Gitea présenté sur la page suivante :

Félicitations ! Tu as installé avec succès le service git Gitea sur le serveur Ubuntu 18.04. Tu peux maintenant gérer facilement ton dépôt git à l’aide d’un navigateur Web.

Vous aimerez aussi...