Dans ce didacticiel, nous allons vous montrer comment installer le logiciel Gitea sur votre VPS avec Nginx en tant que serveur Web et le certificat Free Let's Encrypt, en utilisant Ubuntu 20.04.
Gitea est un logiciel écrit en langage de programmation « Go » et est similaire à Bitbucket, GitHub et Gitlab. Le logiciel est utilisé pour le service Git auto-hébergé et est compatible avec plusieurs systèmes d'exploitation tels que Linux, Windows, macOS et ARM.
L'installation ne prendra pas plus de 10 minutes et vous en profiterez tout en l'installant. Commençons !
Prérequis
- Nouvelle installation d'Ubuntu 20.04
- Privilèges utilisateur :utilisateur root ou non root avec privilèges sudo
Étape Étape 1. Mettre à jour le système
Une nouvelle installation d'Ubuntu 20.04 nécessite une mise à jour du système et c'est pourquoi nous devons exécuter les commandes suivantes.
sudo apt update -y &&sudo apt upgrade -y
Étape 2. Installez les dépendances requises
Ces packages doivent être installés avant de procéder à l'installation.
apt install gnupg2 git unzip -y
Étape 3. Installer le serveur Web Nginx
Le serveur Web Nginx peut être installé avec la commande suivante :
sudo apt install nginx -y
Une fois l'installation terminée, vous pouvez vérifier l'état du service Nginx :
sudo systemctl status nginx
Étape 4. Installer le serveur de base de données MariaDB
MariaDB est utilisé comme backend de base de données pour Gitea et peut être installé avec la commande ci-dessous :
sudo apt-get install mariadb-server -y
Étape 5. Configurer le serveur de base de données MariaDB
Une fois que le serveur de base de données est installé avec succès, nous devons le configurer.
Connectez-vous au shell MariaDB avec "mysql ” et activez la table Innodb :
MariaDB [(none)]> SET GLOBAL innodb_file_per_table =ON ;
Quittez le shell MariaDB avec "exit " et ouvrez le fichier de configuration par défaut de MariaDB :
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Ajoutez les lignes de code suivantes sous "mysqld ” rubrique
innodb_file_format =Barracuda
innodb_large_prefix =1
innodb_default_row_format =dynamique
Une fois les modifications apportées, redémarrez le service MariaDB pour que les modifications prennent effet.
sudo systemctl redémarre mariadb
Étape 6. Créer une base de données et un utilisateur de base de données
Le logiciel Gitea nécessite une base de données et un utilisateur pour fonctionner correctement. Pour les créer et accorder les privilèges appropriés, veuillez vous reconnecter au shell MariaDB et exécuter les commandes suivantes :
MariaDB [(none)]>CREATE DATABASE gitea ;
MariaDB [(aucun)]> CRÉER UN UTILISATEUR 'gitea'@'localhost' IDENTIFIÉ PAR 'strongpasswordhere' ;
MariaDB [(none)]>GRANT ALL ON gitea.* À 'gitea'@'localhost' IDENTIFIÉ PAR 'strongpasswordhere' AVEC GRANT OPTION ;
MariaDB [(aucun)]>ALTER DATABASE gitea CHARACTER SET =utf8mb4 COLLATE utf8mb4_unicode_ci ;
MariaDB [(aucun)]>PRIVILÈGES FLUSH ;
MariaDB [(aucun)]>quitter ;
Étape 7. Installer Gitea
C'est l'étape que nous attendions depuis si longtemps et qui est l'installation du logiciel Gitea. Avant de l'installer, nous devons créer un utilisateur système pour exécuter Gitea avec la commande suivante :
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
Ensuite, téléchargez la dernière version de Gitea sur votre serveur.
sudo wget https://dl.gitea.io/gitea/1.14.6/gitea-1.14.6-linux-amd64
Une fois le Gitea téléchargé, nous devons copier le binaire dans le chemin système et définir les bonnes autorisations :
sudo cp gitea-1.14.6-linux-amd64 /usr/bin/gitea &&chmod 755 /usr/bin/gitea
Ensuite, l'étape consiste à créer un répertoire Gitea pour stocker les données et les journaux avec leurs autorisations :
sudo mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git:git /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo chmod 770 /etc/gitea
Étape 8. Créer le service Gitea
Créez un fichier vide :
sudo nano /etc/systemd/system/gitea.service
Et importez les lignes de code suivantes :
[Unité]
Description=Gitéa
Après=syslog.target
Après=réseau.cible
Après=mysql.service
[Service]
RestartSec=2s
Genre=simple
Utilisateur=git
Groupe=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/bin/gitea web -c /etc/gitea/app.ini
Redémarrer=toujours
Environnement=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Installer]
WantedBy=multi-utilisateur.cible
Après avoir créé le fichier avec du contenu, rechargez le fichier de configuration, activez et démarrez le service Gitea.
démon sudo systemctl-reload
sudo systemctl activer gitea
sudo systemctl start gitea
Pour vérifier si Gitea fonctionne correctement, exécutez la commande suivante :
sudo systemctl status gitea
Le résultat devrait ressembler à ceci :
# sudo systemctl status gitea
● gitea.service - Gitea
Chargé :chargé (/etc/systemd/system/gitea.service ; activé ; préréglage fournisseur :activé)
Actif :actif (en cours d'exécution) depuis le lun. 2021-08-09 23:36:36 CEST ; il y a 8 minutes
PID principal :42187 (gitea)
Tâches :6 (limite :4 652)
Mémoire :111,8 M
CGroup :/system.slice/gitea.service
└─42187 /usr/bin/gitea web -c /etc/gitea/app.ini
Étape 9. Nginx en tant que proxy inverse pour Gitea
Tout d'abord, créez un nouveau fichier de configuration Nginx :
sudo nano /etc/nginx/conf.d/gitea.conf
Ajoutez les lignes de code suivantes :
gitea en amont {
serveur 127.0.0.1:3000 ;
}
serveur {
écouter 80 ;
nom_serveur gitea.votredomaine.com ;
racine /var/lib/gitea/public ;
access_log off ;
déconnexion_erreur ;
emplacement / {
try_files maintenait.html $uri $uri/index.html @node;
}
emplacement @noeud {
client_max_body_size 0 ;
proxy_pass http://localhost:3000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header Hôte $http_host ;
proxy_set_header X-Forwarded-Proto $scheme ;
proxy_max_temp_file_size 0 ;
proxy_redirect désactivé ;
proxy_read_timeout 120 ;
}
}Une fois le fichier créé, fermez-le et vérifiez la configuration de Nginx avec la commande suivante :
nginx -tLe résultat devrait être :
#nginx -t
nginx :la syntaxe du fichier de configuration /etc/nginx/nginx.conf est correcte
nginx :le test du fichier de configuration /etc/nginx/nginx.conf a réussiSi la configuration est correcte, redémarrez le service Nginx pour obtenir les dernières modifications.
systemctl redémarrer nginxÉtape 10. Installez le certificat SSL gratuit Let's Encrypt
Ensuite, vous devrez installer un certificat SSL gratuit ‘Let’s Encrypt’. ‘Let’s Encrypt’ est actuellement l’un des fournisseurs de chiffrement TLS les plus populaires de ces dernières années. Il s'agit de la plus grande autorité de certification au monde, utilisée par plus de 250 millions de sites Web.
Tout d'abord, vous devez installer le logiciel Certbot sur le serveur avec la commande suivante :
sudo apt install certbot python3-certbot-nginx -yUne fois le Certbot installé, nous sommes prêts à installer le certificat pour le domaine :
sudo certbot --nginx -d gitea.example.comLors de l'installation, vous pouvez choisir l'option de redirection et toutes les requêtes HTTP seront redirigées vers HTTPS.
Une fois l'installation réussie, le message similaire suivant sera reçu :
- Félicitations ! Votre certificat et votre chaîne ont été enregistrés sur :
/etc/letsencrypt/live/gitea.example.com/fullchain.pem
Votre fichier de clé a été enregistré dans :
/etc/letsencrypt/live/gitea.example.com/privkey.pem11. Accéder au site Gitea en toute sécurité
Maintenant, lorsque chaque étape est terminée, nous pouvons accéder à notre site Web Gitea à l'adresse https://gitea.example.com Entrez le mot de passe utilisateur MySQL que vous avez utilisé pour créer à l'étape 6. Faites défiler vers le bas en bas de la page et appuyez sur le bouton "Installer Gitea ".
Toutes nos félicitations! Vous avez installé avec succès le logiciel Gitea et vous pouvez maintenant en profiter. Bien sûr, vous pouvez simplement vous abonner à l'un de nos plans d'hébergement Linux VPS et laisser nos experts tout configurer en quelques minutes, entièrement gratuitement.
PS. Si vous avez aimé cet article sur l'installation de Gitea sur Nginx avec Free Lets Encrypt SSL sur Ubuntu 20.04, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.