GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Comment installer Gitea avec NGINX et Free Let's Encrypt SSL sur Ubuntu 20.04

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 -t

Le 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éussi

Si 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 -y

Une fois le Certbot installé, nous sommes prêts à installer le certificat pour le domaine :

sudo certbot --nginx -d gitea.example.com

Lors 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.pem

11. 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.


Panels
  1. Comment installer Nextcloud avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04 LTS

  2. Comment installer Elgg avec Nginx sur Ubuntu 14.04

  3. Comment installer Let's Encrypt SSL sur Ubuntu 18.04 avec Nginx

  4. Comment installer Joomla avec Nginx sur Ubuntu 18.04

  5. Comment sécuriser Nginx avec Let's Encrypt sur Ubuntu 20.04

Comment installer MediaWiki avec Nginx et Lets Encrypt SSL sur Ubuntu 20.04

Comment installer Gitea avec Nginx et Lets Encrypt SSL gratuit sur Ubuntu 20.04

Comment installer Let's Encrypt SSL avec Nginx sur CentOS 7

Comment installer Let's Encrypt SSL avec Nginx sur Ubuntu 16.04 LTS

Comment installer Nginx avec Let's Encrypt SSL sur Ubuntu 20.04 LTS

Comment sécuriser le serveur LEMP avec Let's Encrypt Free SSL sur Ubuntu 18.04 VPS