Ceci est une ancienne révision du document !
Pour pouvoir utiliser Gitea, il faut d'abord installé Git sinon il n'y a aucun espoir d'aller jusqu'au bout.
apt-get install get
Pour d'abord, télécharge Gitea (va sur ce site pour trouver la dernière version) et rend le fichier exécutable.
wget -O gitea https://dl.gitea.io/gitea/1.9.3/gitea-1.9.3-linux-amd64 chmod +x gitea
Il faut vérifier la signature GPG pour éviter toutes modifications non souhaitées sur le fichier téléchargé. Télécharge la signature
wget -O gitea https://dl.gitea.io/gitea/1.9.3/gitea-1.9.3-linux-amd64.asc
et teste le fichier
gpg --keyserver pgp.mit.edu --recv 7C9E68152594688862D62AF62D9AE806EC1592E2 gpg --verify gitea-1.9.3-linux-amd64.asc gitea-1.9.3-linux-amd64
Et présent, il est préférable de faire un test. Lance la commande suivante (pour l'arrêter, utilise Ctrl+C).
./gitea web
Commence par créer le certificat SSL pour https://git.aprilas.fr.
sudo /etc/init.d/apache2 stop /opt/letsencrypt/letsencrypt-auto --rsa-key-size 4096 certonly --standalone -d git.aprilas.fr sudo /etc/init.d/apache2 start
Crée le fichier /etc/apache2/sites-available/gitea.conf
avec le contenu suivant :
<VirtualHost *:80> ServerAdmin admin@aprilas.fr ServerName git.aprilas.fr RewriteEngine on RewriteRule ^(.*) https://%{SERVER_NAME}$1 [R,L] </VirtualHost> <VirtualHost *:443> ServerAdmin admin@aprilas.fr ServerName git.aprilas.fr Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /etc/letsencrypt/live/git.aprilas.fr/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/git.aprilas.fr/privkey.pem ErrorLog /var/log/apache2/gitea.log ProxyPreserveHost On AllowEncodedSlashes NoDecode <Location /> ProxyPass "http://localhost:3000/" Require all granted ProxyPassReverse "http://localhost:3000/" ProxyPassReverse "http://git.aprilas.fr/" </Location> </VirtualHost>
Et maintenant,
a2ensite gitea a2enmod rewrite ssl proxy proxy_http /etc/init.d/apache2 reload
Crée un utilisateur pour Gitea (ex. git)
adduser \ --system \ --shell /bin/bash \ --gecos 'Git Version Control' \ --group \ --disabled-password \ --home /home/git \ git
mkdir -p /var/lib/gitea/{custom,data,log} mv ~/gitea /var/lib/gitea/ chown -R git:git /var/lib/gitea/ chmod -R 750 /var/lib/gitea/ ln -s /var/lib/gitea/gitea /usr/local/bin/
Crée la base de données de Gitea sur le serveur MySQL.
En supposant que tu en dispose, connecte-toi à PHPmyAdmin en tant qu'administrateur. Crée une base de donnée avec
gitea
comme nomuft8_general_ci
comme encodage
Puis, crée un utilisateur gitea
et donne lui tous les droits sur la base “gitea”.
Lance Gitea manuellement
sudo -u git /var/lib/gitea/gitea web
puis, va sur le site https://git.aprilas.fr/install et renseigne les paramètres suivants :
Paramètres de la base de données
******
Configuration générale
Paramètres facultatifs
******
******
******
Et à présent, tu peux arrêter Gitea et mettre le fichier de configuration généré à sa place définitive :
cp /var/lib/gitea/custom/conf/app.ini /etc/gitea chmod 640 /etc/gitea/app.ini
Crée le fichier /etc/systemd/system/gitea.service
.
sudo vim /etc/systemd/system/gitea.service
Et rentre les données suivantes :
[Unit] Description=Gitea (Git with a cup of tea) After=syslog.target After=network.target ### # Don't forget to add the database service requirements ### # Requires=mysql.service #Requires=mariadb.service #Requires=postgresql.service #Requires=memcached.service #Requires=redis.service # ### # If using socket activation for main http/s ### # #After=gitea.main.socket #Requires=gitea.main.socket # ### # (You can also provide gitea an http fallback and/or ssh socket too) # # An example of /etc/systemd/system/gitea.main.socket ### ## ## [Unit] ## Description=Gitea Web Socket ## PartOf=gitea.service ## ## [Socket] ## ListenStream= ## NoDelay=true ## ## [Install] ## WantedBy=sockets.target ## ### [Service] # Modify these two values and uncomment them if you have # repos with lots of files and get an HTTP error 500 because # of that ### #LimitMEMLOCK=infinity #LimitNOFILE=65535 RestartSec=2s Type=simple User=git Group=git WorkingDirectory=/var/lib/gitea/ # If using unix socket: Tells Systemd to create /run/gitea folder to home gitea.sock # Manual cration would vanish after reboot. #RuntimeDirectory=gitea ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini Restart=always Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea # If you want to bind Gitea to a port below 1024, uncomment # the two values below, or use socket activation to pass Gitea its ports as above ### #CapabilityBoundingSet=CAP_NET_BIND_SERVICE #AmbientCapabilities=CAP_NET_BIND_SERVICE ### [Install] WantedBy=multi-user.target
Activer et démarrer Gitea en boot.
sudo systemctl enable gitea sudo systemctl start gitea
Crée l'utilisateur suivant readonly
via LAM.
dn: cn=readonly,dc=aprilas,dc=fr cn: readonly description: LDAP administrator objectclass: simpleSecurityObject objectclass: organizationalRole objectclass: top userpassword: {SSHA}R0UUkt4JDsvpkVgEDk8+8pmHwzUOp79g
Puis, modifie l'ACL du serveur LDAP,
...
Crée les groupes git-users et git-admins sur ou=Groups,dc=aprilas,dc=fr
:
cn: git-users member: uid=tfeneuil,ou=People,dc=aprilas,dc=fr objectclass: groupOfNames objectclass: top
cn: git-admins member: uid=tfeneuil,ou=People,dc=aprilas,dc=fr objectclass: groupOfNames objectclass: top
Connecte toi sur Gitea avec un compte administrateur. Va dans “Administration du site”, puis dans l'onglet “Sources d'authentification”.
Ajoute une source d'authentification.