Installation

Prérequis

  • Base de données (choisissez en une dans cette liste) :
    • MySQL : Version >= 5.5.3
    • PostgreSQL
    • MSSQL
    • TiDB (expérimental, utilisez le protocole MySQL pour vous connecter)
    • ou RIEN avec SQLite3
  • Git (bash) :
    • Version >= 1.7.1 pour le serveur et le client
    • Il est conseillé d'utiliser la dernière version pour Windows
  • Un serveur SSH fonctionnel :
    • Ignorez cette étape si vous utilisez seulement la connexion HTTP/HTTPS ou si vous utilisez un serveur SSH interne
    • Recommandé Cygwin OpenSSH ou Copssh pour Windows.

Installation de la base de données

En fonction de votre choix, installez l'un d'entre eux ou passez cette étape :

RAPPELEZ-VOUS Utilisez le script scripts/mysql.sql pour créer une base de données appelée gogs (par défaut). Si vous la créez manuellement, assurez-vous que l'encodage utilisé est utf8mb4.

Installation des autres exigences

Mac OS X

Supposons que vous avez déjà installé Homebrew :

$ brew update
$ brew install git

Debian/Ubuntu

$ sudo apt-get update
$ sudo apt-get install git

Windows

Télécharger et installer Git

Installation de Gogs

Installer à partir de paquets

Arch Linux

Des informations pour l'installation et la configuration sur Arch Linux peuvent être trouvées là Arch Linux Wiki entry.

Ubuntu/Debian

  • Actuellement disponible pour Ubuntu 14.04/12.04 et Debian 7.
  • Paquets actuellement disponibles sur packager.io.
  • Démo disponible en vidéo YouTube.
  • Construits par @crohr(Cyril Rohr).

Synology spk

  • Installation pour Arm, x386 et amd64

https://github.com/davidmullerz/gogs-spk/releases/tag/1.1

Installer à partir des sources

Dépendances

Global

Nous allons créer un nouvel utilisateur appelé git et installer / configurer tout sous cet utilisateur:

$ sudo adduser --disabled-login --gecos 'Gogs' git
Paquets tiers

Si vous êtes intéressé par les paquets tiers que nous utilisons, vous pouvez les consulter ici : gopmfile. Vous pouvez en avoir besoin quand vous construisez un paquet pour Gogs.

Installation de Go

Si la distribution de Go incluse dans votre système correspond aux exigences, veuillez ignorer cette section.

Téléchargement

Installez Go dans /home/git/local/go de sorte qu'il n'interfère pas avec les mises à jour futures de la version gérée par votre système d'exploitation :

$ sudo su - git
$ cd ~
# Créer un dossier pour installer 'go'
$ mkdir local
# Télécharger Go (changer go$VERSION.$OS-$ARCH.tar.gz par la dernière version)
$ wget https://storage.googleapis.com/golang/go$VERSION.$OS-$ARCH.tar.gz
# expand it to ~/local
$ tar -C /home/git/local -xzf go$VERSION.$OS-$ARCH.tar.gz

Configurer l'environnement

Définissez les chemins qui correspondent à votre système :

$ sudo su - git
$ cd ~
$ 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

Installer Gogs

La façon générale d'installer Gogs :

# Télécharger et installer les dépendances
$ go get -u github.com/gogits/gogs

# Compiler le programme principal
$ cd $GOPATH/src/github.com/gogits/gogs
$ go build

Compiler depuis la branche develop

Dans le cas où vous voulez essayer la branche develop :

$ mkdir -p $GOPATH/src/github.com/gogits
$ cd $GOPATH/src/github.com/gogits

# Assurez vous de ne pas utiliser "https://github.com/gogits/gogs.git"
$ git clone --depth=1 -b develop https://github.com/gogits/gogs
$ cd gogs
$ go build

Tester l'installation

Pour vous assurer que Gogs fonctionne correctement :

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

Si vous ne voyez pas de messages d'erreur, appuyez sur Ctrl-C pour arrêter Gogs.

Compiler avec des Tags

Gogs ne fournit pas par défaut certains supports, vous devez compiler Gogs avec le support que vous souhaitez ajouter build tags.

Liste des tags disponibles :

  • sqlite3: Support de la base de données SQLite3
  • pam: Support de l'authentification PAM
  • cert: Support de la génération des certificats auto-signés
  • miniwinsvc: Support des services pour Windows (Vous pouvez aussi utiliser NSSM pour créer un service)

Par exemple, si vous voulez activer tous les tags de la liste, vous devez commencer par supprimer le repertoire $GOPATH/pkg/${GOOS}_${GOARCH}/github.com/gogits/gogs et exécuter les commandes suivantes :

$ go get -u -tags "sqlite pam cert" github.com/gogits/gogs
$ cd $GOPATH/src/github.com/gogits/gogs
$ go build -tags "sqlite pam cert"

Si vous avez l'erreur: fatal error: security/pam_appl.h: No such file or directory, installez les paquets en exécutant cette commande : sudo apt-get install libpam0g-dev.

Configuration et fonctionnement

Configuration

Configuration par défault

La configuration par défaut est enregistrée dans conf/app.ini, vous n'avez pas besoin de modifier la totalité. depuis v0.6.0, ce fichier est incorporé au binaire.

Configuration personnalisé

Comment personnaliser la configuration si vous n'êtes pas autorisé à modifier conf/app.ini ? Et bien, créez custom/conf/app.ini ! Remplacez ensuite les clefs correspondantes dans custom/conf/app.ini.

Par exemple, pour modifier le chemin du dépôt, ajouter quelque chose comme :

[repository]
ROOT = /home/jiahuachen/gogs-repositories

Vous pouvez également changer le mot de passe de la base de données comme ceci :

[database]
PASSWD = root

Pourquoi faisons-nous ça ?

Oui, pourquoi ne pas simplement éditer conf/app.ini ? C'est pour vous permettre de garder votre configuration personnalisée en sécurité :

  • Pour les personnes qui installent le binaire, chaque fois que vous arrêter le programme, vous pouvez tout simplement copier et coller le fichier de configuration sans rien à re-configurer.
  • Pour les personnes qui installent depuis les sources, nous avons exclu le custom/conf/app.ini dans .gitignore, ainsi les modifications de ce fichier ne sont pas prises en compte lors de la mise à jour.

Exécuter le serveur Gogs

Pour développer

  • Vous devez définir la clé dans security -> INSTALL_LOCK à true dans le fichier custom/conf/app.ini afin d'exécuter depuis les sources.
  • Vous pouvez activer la compilation en temps réel en exécutant bra run dans le dossier source de Gogs
    • Installer bra: go get -u github.com/Unknwon/bra

En production

Les scripts sont dans le dossier scripts, mais il faut les exécuter depuis la racine du dépôt

  • Il y a 3 façons de démarrer par défaut :
    • Simple: il suffit d'exécuter ./gogs web
    • Supervisord:
      • Start: ./scripts/gogs_supervisord.sh start
      • Stop: ./scripts/gogs_supervisord.sh stop
      • Restart: ./scripts/gogs_supervisord.sh restart
  • Ouvrez l'URL /install pour faire votre créer votre configuration la première fois.

Prochaines étapes

  • Pour des instructions plus détaillées, y compris sur les paramètres du serveur Web et de la base de données, voir les étapes détaillées.