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.