Compléments & ajustements gitea
This commit is contained in:
parent
ec23b20078
commit
bec2f76b93
|
@ -41,9 +41,12 @@ Il ne reste plus qu'à redémarrer l'instance. C'est terminé !
|
||||||
Dans la suite de cette documentation, on se place dans le cas d'une instance simple, fonctionnant avec l'utilisateur **git**. On part du principe que :
|
Dans la suite de cette documentation, on se place dans le cas d'une instance simple, fonctionnant avec l'utilisateur **git**. On part du principe que :
|
||||||
|
|
||||||
* [MySQL](HowtoMySQL) est déjà installé
|
* [MySQL](HowtoMySQL) est déjà installé
|
||||||
* le compte **git** pour l'application existe.
|
* Le compte **git** pour l'application existe.
|
||||||
|
* La configuration sera écrire dans `/etc/gitea/git.ini`
|
||||||
|
* Tous les fichiers de gitea seront dans `/home/git/`
|
||||||
|
* L'adresse de l'instance sera gitea.example.org
|
||||||
|
|
||||||
Au final, on va se retrouver avec la hiérarchie suivante :
|
Au final, Côté fichiers applicatifs, on va se retrouver avec la hiérarchie suivante :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
$ tree /home/git
|
$ tree /home/git
|
||||||
|
@ -77,7 +80,7 @@ Lors de la première exécution de Gitea, une page d'installation va demander to
|
||||||
|
|
||||||
### /etc/gitea/git.ini
|
### /etc/gitea/git.ini
|
||||||
|
|
||||||
On doit initialiser le fichier de configuration de gitea avec les commandes suivantes.
|
Avant de commencer, on doit initialiser le fichier de configuration de gitea avec les commandes suivantes.
|
||||||
A noter qu'on ne laisse les droits d'écritures uniquement pour l'installation.
|
A noter qu'on ne laisse les droits d'écritures uniquement pour l'installation.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
|
@ -101,7 +104,7 @@ HTTP_ADDR = /home/git/gitea.sock
|
||||||
UNIX_SOCKET_PERMISSION = 660
|
UNIX_SOCKET_PERMISSION = 660
|
||||||
OFFLINE_MODE = true
|
OFFLINE_MODE = true
|
||||||
SSH_DOMAIN = gitea.example.org
|
SSH_DOMAIN = gitea.example.org
|
||||||
ROOT_URL = https://gitea.example.org/
|
ROOT_URL = http://gitea.example.org/
|
||||||
|
|
||||||
[repository]
|
[repository]
|
||||||
ROOT = /home/git/repositories
|
ROOT = /home/git/repositories
|
||||||
|
@ -119,6 +122,8 @@ NAMES = Français,English
|
||||||
|
|
||||||
### systemd
|
### systemd
|
||||||
|
|
||||||
|
On peut utiliser l'unité systemd suivante. Elle est inspirée de celle [proposée par les développeurs de gitea](https://github.com/go-gitea/gitea/blob/master/contrib/systemd/gitea.service). Nous l'avons ajustée pour correspondre au dossiers et réglages choisis plus haut.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# cat /etc/systemd/system/gitea.service
|
# cat /etc/systemd/system/gitea.service
|
||||||
|
|
||||||
|
@ -126,8 +131,6 @@ NAMES = Français,English
|
||||||
Description=Gitea (Git with a cup of tea)
|
Description=Gitea (Git with a cup of tea)
|
||||||
After=syslog.target
|
After=syslog.target
|
||||||
After=network.target
|
After=network.target
|
||||||
After=mysqld.service
|
|
||||||
After=redis-server.service
|
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
User=git
|
User=git
|
||||||
|
@ -148,6 +151,9 @@ WantedBy=multi-user.target
|
||||||
|
|
||||||
### MySQL
|
### MySQL
|
||||||
|
|
||||||
|
Par défaut, Gitea utilise une base SQLite. Mais on peut utiliser MySQL (ou PostgreSQL).
|
||||||
|
Gitea nécessite seulement une base MySQL avec un compte.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# mysqladmin create git
|
# mysqladmin create git
|
||||||
# mysql
|
# mysql
|
||||||
|
@ -156,7 +162,7 @@ mysql> GRANT ALL PRIVILEGES ON git.* TO 'git'@localhost IDENTIFIED BY 'PASSWORD'
|
||||||
|
|
||||||
Côté `gitea.ini`, la base de donnée MySQL se configure avec la section ci-dessous.
|
Côté `gitea.ini`, la base de donnée MySQL se configure avec la section ci-dessous.
|
||||||
|
|
||||||
> *Note* : La page d'installation va remplir cette section de la configuration automatiquement.
|
> *Note* : La page d'installation peut remplir cette section de la configuration automatiquement.
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
[database]
|
[database]
|
||||||
|
@ -178,17 +184,17 @@ upstream gitea_git {
|
||||||
server {
|
server {
|
||||||
listen 0.0.0.0:80;
|
listen 0.0.0.0:80;
|
||||||
listen [::]:80;
|
listen [::]:80;
|
||||||
listen 0.0.0.0:443 ssl http2;
|
#listen 0.0.0.0:443 ssl http2;
|
||||||
listen [::]:443 ssl http2;
|
#listen [::]:443 ssl http2;
|
||||||
|
|
||||||
server_name gitea.evolix.org;
|
server_name gitea.example.org;
|
||||||
|
|
||||||
include /etc/nginx/ssl/git.conf;
|
#include /etc/nginx/letsencrypt.conf;
|
||||||
include /etc/nginx/letsencrypt.conf;
|
#include /etc/nginx/ssl/git.conf;
|
||||||
|
|
||||||
if ( $scheme = http ) {
|
#if ( $scheme = http ) {
|
||||||
return 301 https://$server_name$request_uri;
|
# return 301 https://$server_name$request_uri;
|
||||||
}
|
#}
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://gitea_git;
|
proxy_pass http://gitea_git;
|
||||||
|
@ -222,11 +228,29 @@ PROVIDER = redis
|
||||||
PROVIDER_CONFIG = network=tcp,addr=127.0.0.1:6379,password=PASSWORD,db=0,pool_size=100,idle_timeout=180
|
PROVIDER_CONFIG = network=tcp,addr=127.0.0.1:6379,password=PASSWORD,db=0,pool_size=100,idle_timeout=180
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
### HTTPS
|
||||||
|
|
||||||
|
Après avoir activé le HTTPS sur le vhost nginx faisant office de reverse-proxy, il est utile d'ajuster quelques paramètres de configuration.
|
||||||
|
|
||||||
|
* Mettre à jour le `ROOT_URL` pour remplacer `http://gitea.example.org` par `https://gitea.example.org`
|
||||||
|
* Ajouter `COOKIE_SECURE = true` dans la section `[session]`
|
||||||
|
* (Optionnel) Rajouter le préfixe `__Secure-` au nom des cookies. Il s'agit des paramètres `COOKIE_NAME` dans la section `[session]` ainsi que `COOKIE_USERNAME` et `COOKIE_REMEMBER_NAME` dans la section `[security]`
|
||||||
|
|
||||||
|
|
||||||
## Avancé
|
## Avancé
|
||||||
|
|
||||||
### Multiples instances
|
### Multiples instances
|
||||||
|
|
||||||
On peut faire du multi-instances. On peut ainsi basculer sur une unité systemd avec paramètre comme :
|
La simplicité de gitea permet d'heberger plusieurs instances sur une même machine.
|
||||||
|
|
||||||
|
Comme pour la première instance, il a besoin de :
|
||||||
|
|
||||||
|
* D'un nouveau compte unix spécifique
|
||||||
|
* (Si MySQL) D'un nouveau compte avec une base associée.
|
||||||
|
|
||||||
|
On peut ainsi basculer sur une unité systemd avec paramètre comme celle donnée en exemple.
|
||||||
|
Ainsi, les instances seront manipulées avec `systemctl (start|restart|stop) gitea@INSTANCE` où _INSTANCE_ se trouve être le nom de compte dédié à l'instance gitea
|
||||||
|
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# cat /etc/systemd/system/gitea@.service
|
# cat /etc/systemd/system/gitea@.service
|
||||||
|
@ -253,6 +277,9 @@ Environment=GITEA_WORK_DIR=/home/%i/internals
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## FAQ / Plomberie
|
## FAQ / Plomberie
|
||||||
|
|
||||||
### Erreur d'enregistrement avec SHOW_REGISTRATION_BUTTON = false
|
### Erreur d'enregistrement avec SHOW_REGISTRATION_BUTTON = false
|
||||||
|
|
Loading…
Reference in a new issue