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 :
|
||||
|
||||
* [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
|
||||
|
@ -77,7 +80,7 @@ Lors de la première exécution de Gitea, une page d'installation va demander to
|
|||
|
||||
### /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.
|
||||
|
||||
~~~
|
||||
|
@ -101,7 +104,7 @@ HTTP_ADDR = /home/git/gitea.sock
|
|||
UNIX_SOCKET_PERMISSION = 660
|
||||
OFFLINE_MODE = true
|
||||
SSH_DOMAIN = gitea.example.org
|
||||
ROOT_URL = https://gitea.example.org/
|
||||
ROOT_URL = http://gitea.example.org/
|
||||
|
||||
[repository]
|
||||
ROOT = /home/git/repositories
|
||||
|
@ -119,6 +122,8 @@ NAMES = Français,English
|
|||
|
||||
### 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
|
||||
|
||||
|
@ -126,8 +131,6 @@ NAMES = Français,English
|
|||
Description=Gitea (Git with a cup of tea)
|
||||
After=syslog.target
|
||||
After=network.target
|
||||
After=mysqld.service
|
||||
After=redis-server.service
|
||||
|
||||
[Service]
|
||||
User=git
|
||||
|
@ -148,6 +151,9 @@ WantedBy=multi-user.target
|
|||
|
||||
### 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
|
||||
# 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.
|
||||
|
||||
> *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]
|
||||
|
@ -178,17 +184,17 @@ upstream gitea_git {
|
|||
server {
|
||||
listen 0.0.0.0:80;
|
||||
listen [::]:80;
|
||||
listen 0.0.0.0:443 ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
#listen 0.0.0.0: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 ) {
|
||||
return 301 https://$server_name$request_uri;
|
||||
}
|
||||
#if ( $scheme = http ) {
|
||||
# return 301 https://$server_name$request_uri;
|
||||
#}
|
||||
|
||||
location / {
|
||||
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
|
||||
~~~
|
||||
|
||||
### 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é
|
||||
|
||||
### 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
|
||||
|
@ -253,6 +277,9 @@ Environment=GITEA_WORK_DIR=/home/%i/internals
|
|||
WantedBy=multi-user.target
|
||||
~~~
|
||||
|
||||
|
||||
|
||||
|
||||
## FAQ / Plomberie
|
||||
|
||||
### Erreur d'enregistrement avec SHOW_REGISTRATION_BUTTON = false
|
||||
|
|
Loading…
Reference in a new issue