Outils pour utilisateurs

Outils du site


wiki:linux:gitea_tp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
wiki:linux:gitea_tp [2022/11/10 14:04] DEROUET Valentinwiki:linux:gitea_tp [2022/11/15 19:00] (Version actuelle) DEROUET Valentin
Ligne 38: Ligne 38:
  
 # Installation de Gitea par le binary # Installation de Gitea par le binary
 +
 ## Téléchargement du binary  ## Téléchargement du binary 
  
-```sh+<code>
 wget -O gitea https://dl.gitea.io/gitea/1.17.3/gitea-1.17.3-linux-amd64 wget -O gitea https://dl.gitea.io/gitea/1.17.3/gitea-1.17.3-linux-amd64
 chmod +x gitea chmod +x gitea
-```+</code>
  
 ### Vérification GPG ### Vérification GPG
 +
 +<code>
 +apt install gpg
 +gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
 +gpg --verify gitea-1.17.3-linux-amd64.asc gitea-1.17.3-linux-amd64
 +</code>
 +
 ## Installation des dépendances ## Installation des dépendances
 +
 ### GIT ### GIT
 +
 +<code>apt install git</code>
 +
 +Vérifier avec :
 +
 +<code>git --version</code>
 +
 ### MariaDB ### MariaDB
 +
 +<code>apt install mariadb-server</code>
 +<code>mysql_secure_installation</code>
 +
 +Suivez la procédure d'installation de MariaDB.
 +
 +Vérifier la bonne exécution avec :
 +
 +<code>systemctl status mariadb</code> 
 +
 ### apache2 ### apache2
 +
 <code>apt-get install apache2</code> <code>apt-get install apache2</code>
 +
 ## Création utilisateur ## Création utilisateur
 +
 ### Dans le système ### Dans le système
 +
 +```sh
 +adduser \
 +   --system \
 +   --shell /bin/bash \
 +   --gecos 'Git Version Control' \
 +   --group \
 +   --disabled-password \
 +   --home /home/git \
 +   gitea
 +```
 +
 ### Dans le SGBD ### Dans le SGBD
 +
 +<code>mysql -uroot -p</code>
 +
 +```sql
 +CREATE USER giteaDBuser IDENTIFIED BY 'Not24get';
 +CREATE DATABASE giteaDB DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
 +GRANT ALL PRIVILEGES ON giteaDB.* TO giteaDBuser;
 +FLUSH PRIVILEGES;
 +```
 +
 +* Tester la connexion :
 +
 +<code>mysql -u giteaDBuser -p -e "SHOW DATABASES;"</code>
 +
 ## Création structure de dossier ## Création structure de dossier
-### Dossier Gitea conf+ 
 +### Dossiers Gitea conf 
 + 
 +<code> 
 +mkdir -p /var/lib/giteadir/{custom,data,log} 
 +chown -R gitea:gitea /var/lib/giteadir/ 
 +chmod -R 750 /var/lib/giteadir/ 
 +mkdir /var/lib/giteadir/custom/conf 
 +ln -s /var/lib/giteadir/custom/conf /etc/gitea 
 +chown root:gitea /etc/gitea 
 +chmod 770 /etc/gitea 
 +</code> 
 ### Permissions dossiers ### Permissions dossiers
 +
 +<code>
 +chmod 750 /etc/gitea
 +chmod 640 /etc/gitea/app.ini
 +</code>
 +
 +### Définition des variables
 +
 +```sh
 +export GITEA_WORK_DIR=/var/lib/giteadir/
 +```
 +
 +### Copie de Gitea
 +
 +```sh
 +cp gitea /usr/local/bin/gitea
 +```
 +
 ## Essai de Gitea (exécution du binary) ## Essai de Gitea (exécution du binary)
 +
 +- Changer d'utilisateur :
 +
 +<code>su gitea</code>
 +
 +- Exécuter Gitea 
 +
 +<code>GITEA_WORK_DIR=/var/lib/giteadir/ /usr/local/bin/gitea web -c /etc/gitea/app.ini</code>
 +
  
 ### Reset mot de passe compte administrateur ''gitea'' ### Reset mot de passe compte administrateur ''gitea''
 +
 +En cas de perte du mot de passe voici la commande à utiliser :
  
 <code>gitea -c /etc/gitea/app.ini admin user change-password -u gitea -p "motdepasse"</code> <code>gitea -c /etc/gitea/app.ini admin user change-password -u gitea -p "motdepasse"</code>
  
 # Création d'un service systemd # Création d'un service systemd
 +
 +- Copier dans ''/etc/systemd/system/gitea.service'' :
 +
 +```sh
 +[Unit]
 +Description=Gitea (Git with a cup of tea)
 +After=syslog.target
 +After=network.target
 +Wants=mariadb.service
 +After=mariadb.service
 +
 +[Service]
 +RestartSec=2s
 +Type=simple
 +User=gitea
 +Group=
 +WorkingDirectory=/var/lib/giteadir/
 +ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
 +Restart=always
 +Environment=USER=gitea HOME=/home/git GITEA_WORK_DIR=/var/lib/giteadir
 +
 +[Install]
 +WantedBy=multi-user.target
 +```
 +
 +- Activer le service et démarrer le avec :
 +
 +```
 +systemctl enable gitea
 +systemctl start gitea
 +systemctl status gitea
 +```
 +
 +## Configuration du serveur SQL sur Gitea
 +
 +- Type : ''mysql''
 +- Hôte : ''127.0.0.1:3306''
 +- Nom : ''giteaDB''
 +- Nom d'utilisateur : ''giteaDBuser''
 +
 +{{ :wiki:linux:firefox_3dyoohykiq.png?400 |}}
  
 # Ajout authentification LDAP # Ajout authentification LDAP
 +
 +Type d'authentification LDAP (via BindDN)
 +
 +- Hôte : 10.192.43.10
 +- Port : 389
 +- Bind DN : ''CN=srv-gitea,OU=LDAP,OU=Utilisateurs,DC=dom,DC=vade,DC=fr''
 +- Bind mot de passe : ''password''
 +- Utilisateur Search Base : ''DC=dom,DC=vade,DC=fr''
 +- Filtre utilisateur : ''(&(memberof:1.2.840.113556.1.4.1941:=cn=GG-Git-Users,ou=GG,ou=Groupes,dc=dom,dc=vade,dc=fr)(|(userPrincipalName=%[1]s)(sAMAccountName=%[1]s)))''
 +- Filtre administrateur : ''(memberof=cn=GG-Git-Admins,ou=GG,ou=Groupes,dc=dom,dc=vade,dc=fr)''
 +- Attribut nom d'utilisateur : ''sAMAccountName''
 +- Attribut prénom : ''givenName''
 +- Attribut nom de famille : ''sn''
 +- Attribut e-mail : ''userPrincipalName''
 +
 +Une fois les champs remplis, mettre à jour manuellement la BDD en allant :
 +
 +{{ :wiki:linux:firefox_bqjmjrydfu.png?600 |}}
 +
 +Voici les utilisateurs une fois synchronisés :
 +
 + {{ :wiki:linux:firefox_lwsxevb4eu.png?600 |}}
  
 # Reverse proxy avec apache et ajout d'un certificat SSL # Reverse proxy avec apache et ajout d'un certificat SSL
Ligne 71: Ligne 230:
 {{ :wiki:linux:656px-apache-load-balancer-mod-proxy-http.png?400 |}} {{ :wiki:linux:656px-apache-load-balancer-mod-proxy-http.png?400 |}}
  
 +## Modification configuration root_url (pour passer en https)
  
-## Création de la config apache2 +- Avant de lancer l'installation :
-`a2enmod proxy proxy_http` +
-'service apache2 restart'+
  
-nano /etc/apache2/sites-available/git.dom.vade.fr.conf+{{ :wiki:linux:firefox_hw9cke6kdw.png?400 |}}
  
 +- Après avoir lancé l'installation :
  
 +<code>nano /etc/gitea/app.ini</code>
  
-`a2ensite git.dom.vade.fr.conf` +{{ :wiki:linux:mremoteng_qxcfia5iic.png?400 |}}
-`service apache2 reload`+
  
-## Création certificat auto-signé sur git.dom.vade.fr+## Création de la config apache2
  
-apt-get install openssl+Activer l'option reverse_proxy :
  
-openssl req -x509 -nodes -days 365 -newkey rsa:2048 -sha256 -out /etc/apache2/server.crt -keyout /etc/apache2/server.key +``` 
-https://perhonen.fr/blog/2015/05/un-reverse-proxy-apache-avec-mod_proxy-1713 +a2enmod proxy proxy_http 
-https://www.it-connect.fr/configurer-le-ssl-avec-apache-2%EF%BB%BF/ +service apache2 restart 
-https://moodle.iia-laval.fr/mod/assign/view.php?id=4090+```
  
-    <VirtualHost *:80>+- Créer la configuration dans les *sites-available* : 
 + 
 +<code>nano /etc/apache2/sites-available/git.dom.vade.fr.conf</code> 
 + 
 +```sh 
 +<VirtualHost *:80>
     ServerName git.dom.vade.fr     ServerName git.dom.vade.fr
     Redirect permanent / https://git.dom.vade.fr/     Redirect permanent / https://git.dom.vade.fr/
Ligne 104: Ligne 268:
     ProxyRequests Off     ProxyRequests Off
 </VirtualHost> </VirtualHost>
 +```
 +
 +- Activer la configuration :
 +
 +<code>
 +a2ensite git.dom.vade.fr.conf
 +systemctl apache2 reload
 +</code>
 +
 +- Puis vérifier :
 +
 +<code>systemctl status apache2</code>
  
-## Déploiement GPO du certificat 
 ## Ajout de la règle CNAME dans le DNS ## Ajout de la règle CNAME dans le DNS
 +
 +- Créer la règle DNS en recherche direct dans le serveur DNS :
 +
 +{{ :wiki:linux:mremoteng_l00fk7ez83.png?600 |}}
 +
 +
 +## Création certificat auto-signé sur git.dom.vade.fr
 +
 +<code>apt-get install openssl</code>
 +
 +<code>openssl req -x509 -nodes -days 365 -newkey rsa:2048 -sha256 -out /etc/apache2/server.crt -keyout /etc/apache2/server.key</code>
 +
 +Suivre la procédure pour générer le certificat, mettre en FQDN : ''git.dom.vade.fr''.
 +
 +- Ajout dans le ''virtual-host:443'' le certificat :
 +
 +<code>nano /etc/apache2/sites-available/git.dom.vade.fr.conf</code>
 +
 +```
 +SSLEngine on
 +SSLCertificateFile /etc/apache2/server.crt
 +SSLCertificateKeyFile /etc/apache2/server.key
 +```
 +
 +- Activer le SSL :
 +
 +<code>a2enmod ssl</code>
 +
 +Puis redémarrer le service :
 +
 +<code>systemctl restart apache2</code>
 +
 ## Déploiement GPO du certificat ## Déploiement GPO du certificat
  
-certmgr.msc+<WRAP center round tip 60%> 
 +Rappel, utilitaire de certificat sur windows : ''certmgr.msc'' 
 +</WRAP> 
 + 
 +- Création de la GPO : 
 + 
 +{{ :wiki:linux:mremoteng_3kx5aywkdg.png?400 |}} 
 + 
 +- Mettre le certificat dans le NETLOGON du serveur : 
 + 
 +{{ :wiki:linux:mremoteng_54hybmuaaq.png?400 |}} 
 + 
 +- Ajout du certificat dans l'importation : 
 + 
 +{{ :wiki:linux:mremoteng_17hhvmkccm.png?600 |}} 
 + 
 +- Test du déploiement du certificat  
 + - Redémarrer le poste 
 + - Ouvrir la console MMC de gestion de certificat sur l’ordinateur local et aller sur Autorité de certification racines de confiance et vérifier la présence du certificat. 
 + 
 +{{ :wiki:linux:firefox_pwk9upxdu6-min.png?700 |}} 
 + 
 +Le certificat est présent sur le client.
  
 ## Essai HTTPS client windows ## Essai HTTPS client windows
-avec screen du certificat 
  
-# Essais finaux et conclusion+Les navigateurs moderne notifie l'utilisateur en cas d'utilisation d'un certificat auto-signé.
  
-## Mes sources+{{ :wiki:linux:chrome_vbdqysjdlo.png:?700 |}}
  
-1. Tous les screens en raw : [http://files.stoneset.fr/stoneset/images/doc_ad/?C=M;O=D](http://files.stoneset.fr/stoneset/images/doc_ad/?C=M;O=D) +## Mes sources
-2. [https://docs.gitea.io/en-us/install-from-binary/](https://docs.gitea.io/en-us/install-from-binary/)+
  
 +1. [https://docs.gitea.io/en-us/install-from-binary/](https://docs.gitea.io/en-us/install-from-binary/)
 +2. [https://rdr-it.com/gpo-deployer-un-certificat/](https://rdr-it.com/gpo-deployer-un-certificat/)
  
wiki/linux/gitea_tp.1668085491.txt.gz · Dernière modification : 2022/11/10 14:04 de DEROUET Valentin