Installer son propre serveur Git avec interface Web ( Gogs )

Logo de Git ( à gauche ) et logo de Gogs ( à droite ).

Salut à tous, aujourd’hui vous avez le droit à un article/tutoriel sur la mise en place d’un serveur Git avec une interface web ( Gogs en l’occurence ).
Dans l’article, l’installation se fera dans une VM ( Virtual Machine ) dédié a ce tuto. Je ferais l’installation sous Debian Jessie.

L’installation de Gogs peut se faire via plusieurs méthode ( voyez ici ). Pour ce tuto, on va installer Gogs via les fichiers sources. Pour le SGBD ( gestionnaire de bases de données ) on a le choix entre MySQL ou PostegreSQL. Par question d’habitude j’utiliserais MySQL. Gogs est programmé en Go, on va donc installer ce dernier afin de faire fonctionner Gogs.

Donc, commençons. Connectez vous en SSH au serveur cible ( à moins que vous n’installiez le serveur Git sur votre propre machine ). Lancez ensuite l’installation du paquet git ainsi que le serveur SQL :

sudo apt-get install git mysql-server

Lors de l’installation de Mysql-Server il vous sera demander un mot de passe pour le compte root de MySQL, entrez-en un et validez ( mémorisez le ! ).
Une fois Mysql-Server et Git installés, on va créer un compte utilisateur pour Git, entrez :

sudo adduser --disabled-login --gecos 'Gogs' git.

Connectez-vous ensuite sous le compte git :

sudo su - git

. Allez dans votre home ( « cd ~  » ou « cd /home/git » ), créez le dossier local :

mkdir local

Téléchargeons ensuite Go, récupérez le lien de téléchargement ici et copiez le.
On va maintenant lancer le téléchargement en commande :

wget URL_DU_TELECHARGEMENT_DE_GO

Une fois le téléchargement terminé, on va extraire l’archive :

tar -C /home/git/local NOM_DU_FICHIER.tar.gz

Dans le dossier ‘local’ vous avez maintenant le programme Go installé. Avant d’aller plus loin, on va personnaliser notre fichier .bashrc pour y ajouter les chemins de notre installation toute fraîche. Entrez les commandes suivantes :

echo 'export GOROOT=$HOME/local/go' >> $HOME/.bashrc
echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> $HOME/.bashrc
source $HOME/.bashrc

Voilà, maintenant on va installer Gogs. Lancez :

go get -u github.com/gogits/gogs

Gogs est maintenant téléchargé. Pour l’installer, lancez :

cd $GOPATH/src/github.com/gogits/gogs
go build

Et voilà, à partir de maintenant votre serveur Git avec interface web devrait être opérationnel, pour lancer l’interface web entrez :

cd $GOPATH/src/github.com/gogits/gogs
./gogs web

Si tout se passe bien, votre serveur devrait être accessible via son ip locale sur le port 3000. Dans le cas d’une installation sur votre propre machine, il devrait être accessible à l’adresse : http://127.0.0.1:3000 .
Une fois sur la page, vous serez face au formulaire d’installation, avant de commencer il faut au préalable créer la base de donnée.
Pour créer la base de donnée, on va commencer par ouvrir la console MySQL. Entrez :

mysql -u root -pVOTREMOTDEPASSE ( Attention, le -p doit être collé au mot de passe ! )

Une fois dans la console MySQL, créons la base de donnée avec la commande :

CREATE DATABASE gogs CHARACTER SET 'utf8';

Vous devriez avoir comme message « Query OK » qui signifie que tout s’est bien passé. Vous pouvez quitter Mysql avec CTRL+C.

Vous pouvez maintenant revenir à la page d’installation de Gogs pour finir la configuration.

Une fois Gogs installé, l’interface web est assez intuitive et je ne pense pas avoir besoin de la détaillé.
Vous pouvez dès maintenant commencer à héberger vos morceaux de codes sur votre nouveau serveur Git privé !