Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:bendia:tutos:installer-gogs-sur-debian-jessie-avec-apache-et-mysql [25/10/2016 14:58] bendia créée |
utilisateurs:bendia:tutos:installer-gogs-sur-debian-jessie-avec-apache-et-mysql [28/10/2016 20:54] bendia |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : Gogs est un service Web de gestion de dépôts Git, comme Github ou Gitlab | * Objet : Gogs est un service Web de gestion de dépôts Git, comme Github ou Gitlab | ||
- | * Niveau requis : FIXME {{avisé}} | + | * Niveau requis : {{tag>avisé}} |
* Commentaires : Installation et configuration à partir du paquet des dépôts Packager.io | * Commentaires : Installation et configuration à partir du paquet des dépôts Packager.io | ||
* Débutant, à savoir : Pas mal de trucs quand même :-) | * Débutant, à savoir : Pas mal de trucs quand même :-) | ||
- | * Tags : {{en-chantier}} | + | * Tags : {{tag>en-chantier}} |
===== Introduction ===== | ===== Introduction ===== | ||
Ligne 11: | Ligne 11: | ||
Il existe plusieurs façon d'installer Gogs. Depuis les sources, depuis une archive, ou depuis un dépôt externe hébergé sur Packager.io. Ce tuto traitera de ce dernier cas. | Il existe plusieurs façon d'installer Gogs. Depuis les sources, depuis une archive, ou depuis un dépôt externe hébergé sur Packager.io. Ce tuto traitera de ce dernier cas. | ||
- | Gogs nécessite l'utilisation d'une base de donnée. Sqlite3, Postgree et Mysql sont utilisable. Nous ne traiterons ici que de Mysql | + | Gogs nécessite l'utilisation d'une base de donnée. Sqlite3 (sauf pour l'installation via le paquet), Postgree et Mysql sont utilisable. Nous ne traiterons ici que de Mysql |
Gogs utilise son propre serveur web écoutant sur un port dédié. Nous utiliserons ici Apache2.4 comme proxy pour rediriger les connexions vers ce port. | Gogs utilise son propre serveur web écoutant sur un port dédié. Nous utiliserons ici Apache2.4 comme proxy pour rediriger les connexions vers ce port. | ||
+ | |||
+ | Dans le suite du tuto, on va considérer que le serveur est accessible à l'adresse ''12.34.56.78'' via l'url ''http://chez-moi.net''. | ||
===== Dépendances ===== | ===== Dépendances ===== | ||
Ligne 24: | Ligne 26: | ||
<code root>wget -qO - https://deb.packager.io/key | apt-key add - | <code root>wget -qO - https://deb.packager.io/key | apt-key add - | ||
- | echo "deb https://deb.packager.io/gh/pkgr/gogs jessie pkgr" | sudo tee /etc/apt/sources.list.d/gogs.list | + | echo "deb https://deb.packager.io/gh/pkgr/gogs jessie pkgr" > /etc/apt/sources.list.d/gogs.list |
sudo apt-get update | sudo apt-get update | ||
sudo apt-get install gogs</code> | sudo apt-get install gogs</code> | ||
- | ==== Création de la base de donnée === | + | Le paquet créer automatiquement l'utilisateur ''gogs'', et les dépôts git seront créés par défaut dans ''/home/gogs/gogs-repositories''. |
+ | L'application est installée dans ''/opt/gogs''. | ||
+ | Les fichiers de configuration se troouvent dans ''/etc/gogs/''. | ||
+ | Le paquet créé aussi une série de fichier dans ''/etc/systemd/system/'' permettant de gérer le lancement et l'arrêt de l'application via ''systemd''. | ||
+ | |||
+ | |||
+ | ==== Création de la base de donnée ==== | ||
<code user>mysql -uroot -p</code> | <code user>mysql -uroot -p</code> | ||
+ | |||
<code sql>CREATE DATABASE gogs; | <code sql>CREATE DATABASE gogs; | ||
GRANT ALL privileges ON gogsuser.* TO gogs@'%' IDENTIFIED BY 'votreSuperMotdePasse'; | GRANT ALL privileges ON gogsuser.* TO gogs@'%' IDENTIFIED BY 'votreSuperMotdePasse'; | ||
FLUSH privileges; | FLUSH privileges; | ||
- | quit;<code> | + | quit;</code> |
+ | ==== Configuration de Apache2 ==== | ||
+ | |||
+ | === Les modules à activer === | ||
+ | |||
+ | ''mod_proxy_html'', ''mod_proxy_http'', et ''mod_proxy_connect'' pour le https | ||
+ | |||
+ | <code root>a2enmod proxy proxy_connect</code> | ||
+ | |||
+ | === Le fichier Vhost === | ||
+ | |||
+ | Par défaut, l'application est accessible sur le port 3000. Par exemple ''http://chez-moi.net:3000''. Mais, on souhaite y accéder à l'adresse ''http://chez-moi.net/git''. | ||
+ | |||
+ | Pour cela, on va utiliser apache comme //mandataire/passerelle//. Dans votre fichier de configuration de Apache2, ajouter : | ||
+ | |||
+ | == pour http == | ||
+ | |||
+ | <code apache> | ||
+ | SSLProxyEngine on | ||
+ | <Location /git> | ||
+ | Require all granted | ||
+ | ProxyPass http://12.34.56.78:3000 | ||
+ | ProxyPassReverse http://12.34.56.78:3000 | ||
+ | </Location> | ||
+ | </code> | ||
+ | == pour https == | ||
+ | |||
+ | <code apache> | ||
+ | SSLProxyEngine on | ||
+ | SSLProxyVerify none | ||
+ | SSLProxyCheckPeerCN off | ||
+ | SSLProxyCheckPeerName off | ||
+ | |||
+ | <Location /git> | ||
+ | Require all granted | ||
+ | ProxyPass http://12.34.56.78:3000 | ||
+ | ProxyPassReverse http://12.34.56.78:3000 | ||
+ | </Location> | ||
+ | |||
+ | </code> | ||
+ | |||
+ | ==== Le fichier de configuration de gogs ==== | ||
+ | |||
+ | Il est situé dans ''/etc/gogs/conf/app.ini. Les commentaires sont assez explicites. | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
+ | |||