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

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i

Installation de McMyAdmin sur Ubuntu 14.10

Installation de McMyAdmin sur Ubuntu 14.10

McMyAdmin est un panneau de contrôle de serveur Minecraft utilisé pour administrer votre serveur. Bien que McMyAdmin soit gratuit, il existe plusieurs éditions, dont certaines sont pai

Configurer un serveur TeamTalk sous Linux

Configurer un serveur TeamTalk sous Linux

TeamTalk est un système de conférence qui permet aux utilisateurs davoir des conversations audio / vidéo de haute qualité, un chat textuel, de transférer des fichiers et de partager des écrans. Cest moi

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que

Installer phpBB avec Apache sur Ubuntu 16.04

Installer phpBB avec Apache sur Ubuntu 16.04

PhpBB est un programme de babillard open source. Cet article vous montrera comment installer phpBB sur un serveur Web Apache sur Ubuntu 16.04. Cétait écrit

Configurer un utilisateur non root avec Sudo Access sur Ubuntu

Configurer un utilisateur non root avec Sudo Access sur Ubuntu

Avoir un seul utilisateur, qui est root, peut être dangereux. Permet donc de résoudre ce problème. Vultr nous donne la liberté de faire ce que nous voulons avec nos utilisateurs et nos serveurs

Installer eSpeak sur CentOS 7

Installer eSpeak sur CentOS 7

Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin

Comment installer Thelia 2.3 sur CentOS 7

Comment installer Thelia 2.3 sur CentOS 7

Vous utilisez un système différent? Thelia est un outil open source pour la création de sites Web de commerce électronique et la gestion de contenu en ligne, écrit en PHP. Code source Thelia i

Installation de Fuel CMS sur Ubuntu 16.04 LTS

Installation de Fuel CMS sur Ubuntu 16.04 LTS

Vous utilisez un système différent? Fuel CMS est un système de gestion de contenu basé sur CodeIgniter. Son code source est hébergé sur GitHub. Ce guide vous montrera comment

Comment configurer loptimisation TCP sous Linux

Comment configurer loptimisation TCP sous Linux

Introduction Vous avez des problèmes de connectivité lorsque des visiteurs dautres pays accèdent à votre site Web? Vous vous demandez pourquoi la vitesse de téléchargement de votre Foreig

Comment déployer Ghost v0.11 LTS sur Ubuntu 16.04

Comment déployer Ghost v0.11 LTS sur Ubuntu 16.04

Vous utilisez un système différent? Ghost est une plate-forme de blogs open source qui gagne en popularité auprès des développeurs et des utilisateurs ordinaires depuis sa 201

Comment installer Pip sur Linux

Comment installer Pip sur Linux

Pip est un outil de gestion des packages Python. Lutilisation dun gestionnaire de packages permet une gestion efficace de votre serveur. Dans ce tutoriel, je vais expliquer comment t

Comment déployer Google BBR sur CentOS 7

Comment déployer Google BBR sur CentOS 7

BBR (Bottleneck Bandwidth and RTT) est un nouvel algorithme de contrôle de congestion qui est contribué à la pile TCP du noyau Linux par Google. Avec BBR en place,

Comment installer Icinga 2 et Icinga Web 2 sur Ubuntu 16.04

Comment installer Icinga 2 et Icinga Web 2 sur Ubuntu 16.04

Icinga 2 est un système de surveillance des ressources réseau open source largement utilisé, et Icinga Web 2 est linterface Web officielle pour Icinga 2. Dans ce didacticiel,

Comment installer YOURLS sur CentOS 7

Comment installer YOURLS sur CentOS 7

YOURLS (Your Own URL Shortener) est une application open source de raccourcissement dURL et danalyse de données. Dans cet article, nous couvrirons le processus dinstallation

Comment activer TLS 1.3 dans Apache sur Fedora 30

Comment activer TLS 1.3 dans Apache sur Fedora 30

Vous utilisez un système différent? TLS 1.3 est une version du protocole TLS (Transport Layer Security) qui a été publiée en 2018 en tant que norme proposée dans la RFC 8446

Configurer un Chroot sur Debian

Configurer un Chroot sur Debian

Cet article vous apprendra comment configurer une prison chroot sur Debian. Je suppose que vous utilisez Debian 7.x. Si vous utilisez Debian 6 ou 8, cela peut fonctionner, bu

Comment installer PiVPN sur Debian

Comment installer PiVPN sur Debian

Introduction Un moyen facile de configurer un serveur VPN sur Debian est avec PiVPN. PiVPN est un installateur et un wrapper pour OpenVPN. Il crée des commandes simples pour vous t

Comment installer Alfresco Community Edition sur Ubuntu 16.04

Comment installer Alfresco Community Edition sur Ubuntu 16.04

Vous utilisez un système différent? Alfresco Community Edition est une version open source des services de contenu Alfresco. Il est écrit en Java et utilise PostgreSQL t

Configurer Nginx-RTMP sur CentOS 7

Configurer Nginx-RTMP sur CentOS 7

Vous utilisez un système différent? RTMP est idéal pour diffuser du contenu en direct. Lorsque RTMP est associé à FFmpeg, les flux peuvent être convertis en différentes qualités. Vultr i

Comment générer des clés SSH?

Comment générer des clés SSH?

Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.

Créer un serveur de messagerie avec hMailServer sous Windows

Créer un serveur de messagerie avec hMailServer sous Windows

Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.

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.