GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Gitea sur Ubuntu 20.04

Gitea est un serveur git auto-hébergé rapide et facile à utiliser écrit en Go. Il comprend un éditeur de fichiers de référentiel, un suivi des problèmes de projet, la gestion des utilisateurs, des notifications, un wiki intégré et bien plus encore.

Giteest une application légère et peut être installée sur des systèmes de faible puissance. Si vous recherchez une alternative à Gitlab avec une empreinte mémoire beaucoup plus petite et que vous n'avez pas besoin de toutes les cloches et sifflets que Gitlab offre, alors vous devriez essayer Gitea.

Cet article explique comment installer et configurer Gitea sur Ubuntu 20.04.

Prérequis #

Gitea prend en charge les bases de données SQLite, PostgreSQL et MySQL/MariaDBas.

SQLite n'est recommandé que pour les petites installations. Les installations plus importantes doivent utiliser MySQL ou PostgreSQL.

Nous utiliserons SQLite comme base de données pour Gitea. Si SQLite n'est pas installé sur votre système Ubuntu, installez-le en saisissant les commandes suivantes en tant qu'utilisateur sudo :

sudo apt updatesudo apt install sqlite3

Installer Gitea #

Gitea fournit des images Docker et peut être installé à partir de la source, du binaire et en tant que package. Nous allons installer Gitea à partir du binaire.

Installer Git #

La première étape consiste à installer Giton sur votre serveur :

sudo apt updatesudo apt install git

Vérifiez l'installation en affichant la version de Git :

git --version
git version 2.25.1

Créer un numéro d'utilisateur Git

Créez un nouvel utilisateur système qui lancera l'application Gitea en tapant :

sudo adduser \   --system \   --shell /bin/bash \   --gecos 'Git Version Control' \   --group \   --disabled-password \   --home /home/git \   git

La commande ci-dessus crée un nouvel utilisateur et un groupe nommé git , et définissez le répertoire personnel sur /home/git . La sortie ressemblera à quelque chose comme ci-dessous :

Adding system user `git' (UID 112) ...
Adding new group `git' (GID 118) ...
Adding new user `git' (UID 112) with group `git' ...
Creating home directory `/home/git' ...

Télécharger le binaire Gitea #

Rendez-vous sur la page de téléchargement de Gitea et téléchargez le dernier binaire pour votre architecture. Au moment de la rédaction, la dernière version est la 1.10.2. Si une nouvelle version est disponible, modifiez la VERSION variable dans la commande ci-dessous.

Utilisez wget pour télécharger le binaire Gitea dans le /tmp répertoire :

VERSION=1.14.1sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

Vous pouvez exécuter le gitea binaire depuis n'importe quel endroit. Nous suivrons la convention et déplacerons le binaire vers /usr/local/bin répertoire :

sudo mv /tmp/gitea /usr/local/bin

Rendre le binaire exécutable :

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

Exécutez les commandes ci-dessous pour créer les répertoires et définir les autorisations et la propriété requises :

sudo mkdir -p /var/lib/gitea/{custom,data,log}sudo chown -R git:git /var/lib/gitea/sudo chmod -R 750 /var/lib/gitea/sudo mkdir /etc/giteasudo chown root:git /etc/giteasudo chmod 770 /etc/gitea

La structure de répertoires ci-dessus est recommandée par la documentation officielle de Gitea.

Les permissions du /etc/gitea répertoire sont définis sur 770 afin que l'assistant d'installation puisse créer le fichier de configuration. Une fois l'installation terminée, nous définirons des autorisations plus restrictives.

Créer un fichier d'unité Systemd #

Nous exécuterons Gitea en tant que service systemd.

Téléchargez l'exemple de fichier d'unité systemd dans /etc/systemd/system répertoire en tapant :

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/

Vous n'avez pas besoin de modifier le fichier, il est configuré pour correspondre à notre configuration.

Activer et démarrer le service Gitea :

sudo systemctl daemon-reloadsudo systemctl enable --now gitea

Vérifiez que Gitea est en cours d'exécution :

sudo systemctl status gitea
● gitea.service - Gitea (Git with a cup of tea)
     Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-05-06 05:32:04 UTC; 7s ago
   Main PID: 77781 (gitea)
      Tasks: 6 (limit: 470)
     Memory: 130.6M
     CGroup: /system.slice/gitea.service
             └─77781 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...

Configurer Gitea #

Maintenant que Gitea est téléchargé et en cours d'exécution, nous pouvons finaliser l'installation via l'interface Web.

Par défaut, Gitea écoute les connexions sur le port 3000 sur toutes les interfaces réseau.

Si vous avez un pare-feu UFW en cours d'exécution sur votre serveur, vous devrez ouvrir le port Gitea. Pour autoriser le trafic sur le port 3000 , saisissez la commande suivante :

sudo ufw allow 3000/tcp

Ouvrez votre navigateur, tapez http://YOUR_DOMAIN_IR_IP:3000 , et un écran semblable au suivant apparaît :

Paramètres de la base de données :

  • Type de base de données :SQLite3
  • Chemin :utilisez un chemin absolu, /var/lib/gitea/data/gitea.db

Paramètres généraux de l'application :

  • Titre du site :saisissez le nom de votre organisation.
  • Chemin racine du référentiel :laissez la valeur par défaut var/lib/gitea/data/gitea-repositories .
  • Chemin racine Git LFS :laissez la valeur par défaut /var/lib/gitea/data/lfs .
  • Exécuter en tant que nom d'utilisateur :git
  • Domaine du serveur SSH :saisissez l'adresse IP de votre domaine ou de votre serveur.
  • Port SSH : 22, modifiez-le si SSH écoute sur un autre port
  • Port d'écoute HTTP Gitea :3 000
  • URL de base de Gitea :utilisez http et l'adresse IP de votre domaine ou de votre serveur.
  • Chemin du journal :laissez la valeur par défaut /var/lib/gitea/log
Vous pouvez modifier les paramètres à tout moment en éditant le fichier de configuration Gitea.

Pour démarrer l'installation, cliquez sur le bouton "Installer Gitea".

L'installation est instantanée. Une fois terminé, vous serez redirigé vers la page de connexion.

Cliquez sur « Besoin d'un compte ? S'inscrire maintenant." lien. Le premier utilisateur enregistré est automatiquement ajouté au groupe Admin.

Changez les permissions du fichier de configuration de Gitea en lecture seule en utilisant :

sudo chmod 750 /etc/giteasudo chmod 640 /etc/gitea/app.ini

C'est ça. Gitea a été installé sur votre machine Ubuntu.

Configuration de Nginx en tant que proxy de terminaison SSL #

Cette étape est facultative, mais elle est fortement recommandée. La terminaison SSL signifie que Nginx agira comme un point intermédiaire entre l'application Gitea et les clients Web afin que vous puissiez accéder à Gitea via HTTPS.

Pour utiliser Nginx comme proxy inverse, vous devez disposer d'un domaine ou d'un sous-domaine pointant vers l'adresse IP publique de votre serveur. Dans cet exemple, nous utiliserons git.example.com .

Tout d'abord, installez Nginx et générez un certificat SSL Let's Encrypt gratuit à l'aide des guides ci-dessous :

  • Comment installer Nginx sur Ubuntu 20.04
  • Sécuriser Nginx avec Let's Encrypt sur Ubuntu 20.04

Une fois cela fait, ouvrez votre éditeur de texte et modifiez le fichier de blocage du serveur de domaine :

sudo nano /etc/nginx/sites-enabled/git.example.com
/etc/nginx/sites-enabled/git.example.com
server {
    listen 80;
    server_name git.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://git.example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name git.example.com;

    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;

    client_max_body_size 50m;

    # Proxy headers
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/git.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/git.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/git.example.com/chain.pem;
    include snippets/letsencrypt.conf;
    include snippets/ssl.conf;

    # log files
    access_log /var/log/nginx/git.example.com.access.log;
    error_log /var/log/nginx/git.example.com.error.log;

    # Handle / requests
    location / {
       proxy_redirect off;
       proxy_pass http://127.0.0.1:3000;
    }
}

N'oubliez pas de remplacer git.example.com par votre domaine Gitea et de définir le chemin correct vers les fichiers de certificat SSL. Le trafic HTTP est redirigé vers HTTPS

Redémarrez le service Nginx pour que les modifications prennent effet :

sudo systemctl restart nginx

Ensuite, modifiez le domaine Gitea et l'URL racine. Pour cela, ouvrez le fichier de configuration et éditez les lignes suivantes :

sudo nano /etc/gitea/app.ini
/etc/gitea/app.ini
[server]
DOMAIN           = git.example.com
ROOT_URL         = https://git.example.com/

Redémarrez le service Gitea en tapant :

sudo systemctl restart gitea

À ce stade, le proxy Gitea est configuré et vous pouvez y accéder à :https://git.example.com

Configuration des notifications par e-mail #

Si vous souhaitez que votre instance Gitea envoie des e-mails de notification, vous pouvez soit installer Postfix, soit utiliser un service de messagerie transactionnel tel que SendGrid, MailChimp, MailGun ou SES.

Pour activer les notifications par e-mail, ouvrez le fichier de configuration et modifiez les lignes suivantes :

sudo nano /etc/gitea/app.ini
/etc/gitea/app.ini
[mailer]
ENABLED = true
HOST    = SMTP_SERVER:SMTP_PORT
FROM    = SENDER_EMAIL
USER    = SMTP_USER
PASSWD  = YOUR_SMTP_PASSWORD

Assurez-vous de mettre les bonnes informations de serveur SMTP.

Redémarrez le service Gitea pour que les modifications prennent effet :

sudo systemctl restart gitea

Pour vérifier les paramètres et envoyer un e-mail de test, connectez-vous à Gitea et rendez-vous dans :Administration du site > Configuration > Configuration de l'expéditeur SMTP.

Gitea vous permet également de vous connecter à Slack en créant un webhook et d'envoyer des notifications à vos canaux Slack.

Mettre à niveau Gitea #

Pour mettre à niveau vers la dernière version de Gitea, téléchargez et remplacez simplement le binaire.

  1. Arrêtez le service Gitea :

    sudo systemctl stop gitea
  2. Téléchargez la dernière version de Gitea et déplacez-la vers /usr/local/bin répertoire :

    VERSION=<THE_LATEST_GITEA_VERSION>wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64sudo mv /tmp/gitea /usr/local/bin
  3. Rendre le binaire exécutable :

    sudo chmod +x /usr/local/bin/gitea
  4. Redémarrez le service Gitea :

    sudo systemctl restart gitea

C'est tout.


Ubuntu
  1. Comment installer Docker sur Ubuntu 18.04

  2. Comment installer Apache sur Ubuntu 18.04

  3. Comment installer MariaDB 10.4 sur Ubuntu 18.04

  4. Comment installer MongoDB sur Ubuntu 18.04

  5. Comment installer Jenkins sur Ubuntu 18.04

Comment installer Asterisk sur Ubuntu 18.04

Comment installer Tomcat 9 sur Ubuntu 18.04

Comment installer Webmin sur Ubuntu 18.04

Comment installer Gitea sur Ubuntu 18.04

Comment installer Gitea sur Ubuntu 18.04 LTS

Comment installer Gitea sur Ubuntu 20.04 LTS