Comment installer GitBucket sur Ubuntu 16.04

Ce guide couvre l'installation et la configuration de base de GitBucket pour une instance Vultr exécutant Ubuntu 16.04 et suppose que vous exécutez des commandes en tant non-rootqu'utilisateur.

Conditions préalables

  • Une instance de serveur Vultr avec au moins 1 Go de RAM (des instances plus petites peuvent fonctionner, quoique lentement).
  • openjdk-8-jre Requis, les anciennes versions ne fonctionneront pas.
  • wget Utilisé pour télécharger le package GitBucket.
  • nginx Facultatif, fournit un proxy inverse à GitBucket
  • systemd Gère le démarrage et l'arrêt du processus GitBucket

Installation des prérequis

GitBucket nécessite l'installation de Java 8 ou plus récent sur votre serveur. Si vous n'avez pas encore installé Java 8, mettez d'abord à jour vos listes de packages locaux.

sudo apt update

Installez ensuite le package d'exécution Java 8.

sudo apt install openjdk-8-jre

Installer GitBucket

Créer un utilisateur non privilégié

Nous devrons créer un utilisateur non privilégié pour exécuter GitBucket avant d'aller plus loin. L'exécution de GitBucket sous un utilisateur non privilégié empêche notre installation d'écrire en dehors de son propre répertoire de données, renforçant la sécurité de votre serveur. Exécutez la commande suivante pour créer un utilisateur système appelé gitbucket.

sudo adduser --system gitbucket

Parce que nous avons créé un utilisateur système , le shell par défaut est /bin/false, et nous serons renvoyés à notre shell actuel, sauf si nous fournissons un argument de shell supplémentaire lors de l'exécution su. Connectez-vous à l'utilisateur nouvellement créé.

sudo su - gitbucket -s /bin/bash

L'invite de votre shell devrait changer et vous serez connecté au nouvel utilisateur système.

Téléchargement / mise à jour de GitBucket

Accédez à la page des versions de GitBucket et recherchez la dernière version disponible. Copiez l'URL du gitbucket.warpackage, vérifiez que vous vous trouvez dans le répertoire personnel du nouvel utilisateur et téléchargez-le avec wget.

cd ~/
wget https://github.com/gitbucket/gitbucket/releases/download/4.18.0/gitbucket.war

Vous devrez répéter cette étape chaque fois que vous souhaitez mettre à jour le package GitBucket.

Configuration initiale de GitBucket

Une fois le package téléchargé, nous devrons démarrer GitBucket manuellement pour effectuer une configuration initiale.

java -jar gitbucket.war --port 8080

Si le port 8080est déjà pris par un autre processus, vous pouvez modifier le port que GitBucket écoutera maintenant. Ce guide part du principe que GitBucket écoute sur le port8080 .

Cela démarrera GitBucket sur l'interface de réseau public de votre serveur, en écoutant sur le port spécifié. Vous devriez voir, après quelques instants, le message suivant.

INFO:oejs.Server:main: Started @15891ms

Si vous utilisez le pare-feu de Vultr , vous devrez ouvrir le port sur lequel GitBucket écoute, car le pare-feu de Vultr fonctionne comme une liste blanche, rejetant le trafic pour autoriser les ports, sauf indication contraire.

Votre installation GitBucket devrait maintenant être en ligne et accessible depuis Internet. À l'aide d'un navigateur Web, connectez-vous à l'adresse publique de votre serveur (en veillant à spécifier le port sur lequel GitBucket s'exécute, (c'est http://203.0.113.0:8080-à- dire ou http://example.com:8080), et vous atterrirez sur la page d'accueil de GitBucket.

Cependant, le mot de passe du compte administrateur par défaut doit être modifié. Pour ce faire, connectez-vous au compte administrateur via le Sign inbouton en haut à droite de l'interface Web. La connexion par défaut pour le compte administrateur est rootpour le nom d'utilisateur, puis à rootnouveau pour le mot de passe. Une fois connecté, le bouton sera remplacé par une icône de profil et une liste déroulante. Développez la liste déroulante et sélectionnez Account Settings, puis définissez un nouveau mot de passe plus sécurisé dans l'assistant des paramètres de compte.

Après avoir mis à jour les informations d'identification du compte administrateur par défaut et vérifié que GitBucket démarre dans cette configuration minimale, arrêtez le processus Java avec " CTRL+C" et fermez le shell actuel avec exit.

Création du service Systemd

Actuellement, nous ne pouvons exécuter GitBucket qu'en accédant à notre serveur via SSH et en démarrant le processus à partir d'un shell manuellement. Heureusement, Ubuntu est livré préemballé Systemd, ce qui nous permet de créer un service avec lequel GitBucket sera automatiquement démarré et maintenu par le système.

À l'aide de nano, créez un nouveau fichier d'unité dans le /etc/systemd/systemrépertoire.

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

Ensuite, copiez le contenu suivant dans le fichier.

[Unit]
Description=GitBucket
After=network.target
[Service]
ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war --port 8080
ExecStop=/bin/kill -SIGINT $MAINPID
Type=simple
User=gitbucket
[Install]
WantedBy=multi-user.target

Ce fichier d'unité définit le comportement de démarrage et d'arrêt de base pour GitBucket et exécute le service sous notre utilisateur système non privilégié sur l'interface réseau locale uniquement.

Si vous avez modifié le numéro de port sur lequel GitBucket écoutera, modifiez l' --portargument de la ExecStartcommande.

Enregistrez (" CTRL+O") le nouveau fichier d'unité, puis quittez l'éditeur (" CTRL+X"). Vous devrez recharger Systemd pour que le nouveau fichier d'unité soit découvert.

sudo systemctl daemon-reload

Une fois Systemd rechargé, vérifiez que la nouvelle unité a été découverte et chargée.

sudo systemctl status gitbucket

Vous devriez voir la sortie suivante.

gitbucket.service - GitBucket
   Loaded: loaded (/etc/systemd/system/gitbucket.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

Enfin, activez la nouvelle unité pour démarrer automatiquement au démarrage de votre serveur, puis démarrez le service pour la première fois.

sudo systemctl enable gitbucket
sudo systemctl start gitbucket

Une fois le service démarré, vous pourrez accéder à GitBucket à partir de votre navigateur en utilisant à nouveau l'adresse IP et le numéro de port.

Configuration du proxy inverse Nginx

Bien que l'on puisse exposer GitBucket directement via le port 8080, vous pouvez améliorer les performances et configurer des fonctionnalités telles que HTTP / 2, le cryptage TLS et les règles de mise en cache en exposant GitBucket via Nginx.

Configuration initiale de Nginx

Si vous n'avez pas encore installé Nginx, mettez à jour vos listes de packages.

sudo apt update

Installez ensuite le package Nginx.

sudo apt install nginx

Une fois Nginx installé, vérifiez que vous pouvez accéder au serveur Web via l'adresse IP de votre serveur sans le numéro de port (c'est http://203.0.113.0-à- dire ou http://example.com). En cas de succès, vous verrez la page de destination par défaut Nginx pour Ubuntu.

Création du proxy inverse

Nous allons copier la configuration du site par défaut /etc/nginx/sites-availablecomme point de départ pour le proxy inverse.

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/gitbucket

Ouvrez le fichier de configuration nouvellement créé avec nano.

sudo nano /etc/nginx/sites-available/gitbucket

Localisez le location /bloc existant sur la ligne 43.

location / {
  # First attempt to serve request as file, then
  # as directory, then fall back to displaying a 404.
  try_files $uri $uri/ =404;
}

Actuellement, Nginx tentera de renvoyer les fichiers situés dans /var/www/htmllesquels correspondent les HTTPdemandes entrantes . Nous devrons changer ce comportement en configurant un proxy inverse dans ce bloc, qui enverra toutes les requêtes HTTP faites à notre serveur Nginx à l'instance GitBucket à la place. Mettez à jour le location /bloc pour qu'il corresponde à ce qui suit.

location / {
    proxy_pass              http://localhost:8080; # The address GitBucket is listening on
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_connect_timeout   150;
    proxy_send_timeout      100;
    proxy_read_timeout      100;
    proxy_buffers           4 32k;

    client_max_body_size    512m; # Needed for large Git operations over HTTP
    client_body_buffer_size 128k;
}

Si vous avez modifié le numéro de port sur lequel GitBucket écoutera, mettez à jour l' proxy_passoption pour refléter cela.

Pour activer notre nouvelle configuration, vous devrez désactiver la configuration par défaut existante dans /etc/nginx/sites-enabled, puis créer un lien symbolique vers notre nouvelle configuration /etc/nginx/sites-enabledvia les étapes suivantes.

sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/gitbucket /etc/nginx/sites-enabled/gitbucket

Une fois le fichier de configuration activé, recherchez d'éventuelles erreurs de syntaxe.

sudo nginx -t

Ensuite, redémarrez le serveur Nginx pour activer notre nouvelle configuration de site.

sudo systemctl restart nginx

Vous devriez maintenant pouvoir accéder à votre installation GitBucket sur l'adresse publique de votre serveur sans numéro de port.

Sécuriser le processus GitBucket à partir d'Internet public

Actuellement, notre instance GitBucket écoute sur l' interface réseau public de notre serveur . Cela permettra aux utilisateurs de contourner le proxy Nginx en se connectant à l'adresse que GitBucket écoute actuellement, ce qui est probablement indésirable. Nous devrons modifier le fichier d'unité que nous avons créé plus tôt pour résoudre ce problème. Ouvrez le fichier d'unité avec nano.

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

Ajoutez --host 127.0.0.1à la ExecStartcommande, comme ça.

...
ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war --port 8080 --host 127.0.0.1
...

Cela entraînera GitBucket à accepter uniquement les connexions sur l'interface réseau locale de notre serveur. Encore une fois, enregistrez (" CTRL+O") le fichier, fermez (" CTRL+X") l'éditeur, rechargez Systemd et redémarrez notre unité GitBucket.

sudo systemctl daemon-reload
sudo systemctl restart gitbucket

Si vous utilisez le pare-feu de Vultr, vous devez également supprimer toutes les règles de port que vous avez ajoutées pour accéder au serveur GitBucket lors de la configuration initiale.



Leave a Comment

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.