Outils pour utilisateurs

Outils du site


benevoles:technique:yunohost_mutu

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
benevoles:technique:yunohost_mutu [2024/01/14 18:17] – [Nettoyer la base de données] gauthier67benevoles:technique:yunohost_mutu [2025/03/21 09:29] (Version actuelle) gauthier67
Ligne 49: Ligne 49:
    * Toute demande de service réalisée depuis l'espace adhérent de COIN ([https://adherents.arn-fai.net)](https://adherents.arn-fai.net)) est catégorisé dans la section "Services>Demandes" dans l'administration de COIN ([https://adherents.arn-fai.net/admin)](https://adherents.arn-fai.net/admin))    * Toute demande de service réalisée depuis l'espace adhérent de COIN ([https://adherents.arn-fai.net)](https://adherents.arn-fai.net)) est catégorisé dans la section "Services>Demandes" dans l'administration de COIN ([https://adherents.arn-fai.net/admin)](https://adherents.arn-fai.net/admin))
    * Une notification est envoyée sur le Forum "Nouvelle demande de *** pour un compte sans-nuage" avec un lien de la requête dans l'administration de COIN.    * Une notification est envoyée sur le Forum "Nouvelle demande de *** pour un compte sans-nuage" avec un lien de la requête dans l'administration de COIN.
-   * BUG : **Le lien de la requête n'est pas cliquable" sur le forum car retour à la ligne.+   * **BUG** : **Le lien de la requête n'est pas cliquable" sur le forum car retour à la ligne.
    * Cliquer sur "Accepter"    * Cliquer sur "Accepter"
-   * BUG : quand on valide un sous-compte Asso, par défaut le compte prends le nom du groupe+   * **BUG** : quand on valide un sous-compte Asso, par défaut le compte prends le nom du groupe
    * FEATURE REQUEST : "Accepter \& Provisionner" n'est pas encore fonctionnel car il faut d'abord vérifier que le pseudo est correct. Feature 1) : demander ET VERIFIER (règle des comptes yunohost) le pseudo du compte sans-nuage dans le formulaire de création du service. Dans le cas des abonnements asso supplémentaires, pour l'instant c'est le nom de l'asso nom\_asso qui est ajouté. Dans le cas d'un abonnement asso principal, c'est nom\_asso\_admin. Feature 2) : demander le Nom Complet (Prénom Nom) du compte supplémentaire pour qu'il soit correctement renseigné dans le compte YunoHost.    * FEATURE REQUEST : "Accepter \& Provisionner" n'est pas encore fonctionnel car il faut d'abord vérifier que le pseudo est correct. Feature 1) : demander ET VERIFIER (règle des comptes yunohost) le pseudo du compte sans-nuage dans le formulaire de création du service. Dans le cas des abonnements asso supplémentaires, pour l'instant c'est le nom de l'asso nom\_asso qui est ajouté. Dans le cas d'un abonnement asso principal, c'est nom\_asso\_admin. Feature 2) : demander le Nom Complet (Prénom Nom) du compte supplémentaire pour qu'il soit correctement renseigné dans le compte YunoHost.
    * Quand la demande est acceptée, cela créé un abonnement, et démarre donc une facturation (généralement 0€/an, sauf pour le compte asso principal et compte famille supplémentaire).    * Quand la demande est acceptée, cela créé un abonnement, et démarre donc une facturation (généralement 0€/an, sauf pour le compte asso principal et compte famille supplémentaire).
Ligne 57: Ligne 57:
    * Aller dans la section "Configurations>Comptes Externes"    * Aller dans la section "Configurations>Comptes Externes"
    * Cliquer sur le service lié à l'abonnement qu'on vient de créer.    * Cliquer sur le service lié à l'abonnement qu'on vient de créer.
-   * Vérifier les données, surtout que le pseudo ne comporte que des "lettres", des "chiffres" et éventuellement un "\_" (voir les règles des comptes YunoHost) puis cliquer sur "Provisionner"+   * Vérifier les données, surtout que le pseudo ne comporte que des "lettres", des "chiffres" et éventuellement un "\_" (voir les règles des comptes YunoHost) puis cliquer sur "Provisionner" ; si le pseudo est déjà utilisé, un message d'erreur le signalera :
        * Cela prend un peu de temps en raison d'un timeout qui attend la bonne exécution du script de création d'user dans le serveur sans-nuage.fr (YunoHost)        * Cela prend un peu de temps en raison d'un timeout qui attend la bonne exécution du script de création d'user dans le serveur sans-nuage.fr (YunoHost)
-       * BUG : Une erreur 504 peut survenir, le lien de redirection ne pointe pas vers le nouveau service provisionné mais vers une URL invalide. Peut-être parce-que le service n'est pas provisionné avant le timout.+       * **BUG** : Une erreur 504 peut survenir, le lien de redirection ne pointe pas vers le nouveau service provisionné mais vers une URL invalide. Peut-être parce-que le service n'est pas provisionné avant le timout.
    * Retourner dans la fiche du service ("Configurations>Comptes Externes") : Au bout de 5 minutes le service doit apparaître comme running (vert)    * Retourner dans la fiche du service ("Configurations>Comptes Externes") : Au bout de 5 minutes le service doit apparaître comme running (vert)
-   * BUG : le quota nextcloud n'est pas correctement configuré, il faut se rendre sur nextcloud pour le configuration. Voir prochaine section. +   * BUG : le quota nextcloud n'est pas correctement configuré, il faut se rendre sur nextcloud pour le configurer. Voir prochaine section. 
        * Pour corriger, il faut modifier la commande occ dans le script (post-install) de provisionnement de compte externe sur la VM de COIN (ext)        * Pour corriger, il faut modifier la commande occ dans le script (post-install) de provisionnement de compte externe sur la VM de COIN (ext)
    * FEATURE REQUEST : définir le quota automatiquement en fonction du type d'abonnement souscrit    * FEATURE REQUEST : définir le quota automatiquement en fonction du type d'abonnement souscrit
    * Prévenir sur le forum que le compte a été créé !    * Prévenir sur le forum que le compte a été créé !
- 
  
 ###Modification du quota Nextcloud - Administration Nextcloud ###Modification du quota Nextcloud - Administration Nextcloud
Ligne 79: Ligne 78:
  
 ### Modification de compte YunoHost et nom sur Nextcloud - Pistes de debug du provisionnement sans-nuage.fr  ### Modification de compte YunoHost et nom sur Nextcloud - Pistes de debug du provisionnement sans-nuage.fr 
-  * BUG : Si les utilisateurs modifient leur "Nom Complet" dans "Editer mon Profil" sur https://sans-nuage.fr/yunohost/sso/edit.html , celui-ci n'est pas répercuté sur Nextcloud+  * **BUG** : Si les utilisateurs modifient leur "Nom Complet" dans "Editer mon Profil" sur https://sans-nuage.fr/yunohost/sso/edit.html , celui-ci n'est pas répercuté sur Nextcloud
   * CONTOURNEMENT : Si un Admin modifie le compte YunoHost directement, comme ci-dessous, le nom est bien répercuté sur Nextcloud (grâce à une tâche Cron).   * CONTOURNEMENT : Si un Admin modifie le compte YunoHost directement, comme ci-dessous, le nom est bien répercuté sur Nextcloud (grâce à une tâche Cron).
    * se connecter au serveur sans-nuage.fr (interface administrateur YunoHost) [https://sans-nuage.fr/yunohost/admin/](https://sans-nuage.fr/yunohost/admin/)    * se connecter au serveur sans-nuage.fr (interface administrateur YunoHost) [https://sans-nuage.fr/yunohost/admin/](https://sans-nuage.fr/yunohost/admin/)
Ligne 111: Ligne 110:
    *      *  
 [https://sans-nuage.fr/yunohost/admin/#/](https://sans-nuage.fr/yunohost/admin/#/) [https://sans-nuage.fr/yunohost/admin/#/](https://sans-nuage.fr/yunohost/admin/#/)
 +
 +##Personnalisation du nom de domaine
 +2 possibilités :
 +  - Créer les enregistrements DNS dans l'interface du registrar (avec un CNAME vers mail.arn-fai.net ?)
 +  - Configurer la zone entière sur nos serveurs DNS
 +
 +Pour l'instant on choisit de gérer la zone entière pour éviter qu'une mauvaise manipulation du membre impacte tout le serveur sans-nuage.fr Le membre doit donc passer par un admin pour modifier sa zone.
 +
 +Délégation de zone
 +  * se connecter sur l'interface admin du registrar
 +  * trouver l'endroit où modifier le DNS
 +    * primaire : ARN, 89.234.141.65, ns0.arn-fai.net.
 +    * secondaire : Tetaneutral, 91.224.149.146, alsace.tetaneutral.net.
 +  * se connecter à ns0.arn-fai.et
 +  * créer la zone DNS
 +```
 +cd /var/named/zones/master
 +cp template_dnsperso.tld nomdedomaineacreer.tld
 +```
 +  * Modifier les zones à partir des infos du yunohost ''https://sans-nuage.fr/yunohost/admin/#/domains/nomdedomaineacreer.tld/dns''
 </markdown> </markdown>
  
Ligne 138: Ligne 157:
 Pour faire le ménage:  Pour faire le ménage: 
 <code> <code>
-sudo -u nextcloud /usr/bin/php7.--define apc.enable_cli=1 /var/www/nextcloud/occ ldap:show-remnants+sudo -u nextcloud /usr/bin/php8.--define apc.enable_cli=1 /var/www/nextcloud/occ ldap:show-remnants
 </code> </code>
 Là il faut faire le tris et vérifier celleux qu'il faut supprimer Là il faut faire le tris et vérifier celleux qu'il faut supprimer
  
 <code> <code>
-sudo -u nextcloud /usr/bin/php7.--define apc.enable_cli=1 /var/www/nextcloud/occ user:delete ljf2+sudo -u nextcloud /usr/bin/php8.--define apc.enable_cli=1 /var/www/nextcloud/occ user:delete ljf2
 </code> </code>
  
Ligne 154: Ligne 173:
 <code> <code>
 #!/bin/bash #!/bin/bash
-for username in $(yunohost user list --fields username grep "    username:" sed "s/    username: //g") ; do +yunohost user list --output-as json jq -r '.users[] | "\(.username),\(.fullname)"' | while read -r line ; do 
-     fullname="$(yunohost user info $username grep fullname | sed "s/fullname: //")" +     username=$(echo "$line" cut -d, -f1) 
-     fullname2="$(sudo -u nextcloud /usr/bin/php7.--define apc.enable_cli=1 /var/www/nextcloud/occ user:setting $username settings display_name)"+     fullname=$(echo "$line| cut -d, -f2
 +     fullname2="$(sudo -u nextcloud /usr/bin/php8.--define apc.enable_cli=1 /var/www/nextcloud/occ user:setting $username settings display_name)"
      if [[ "$fullname" != "$fullname2" ]] ; then      if [[ "$fullname" != "$fullname2" ]] ; then
-         sudo -u nextcloud /usr/bin/php7.--define apc.enable_cli=1 /var/www/nextcloud/occ user:setting $username settings display_name "$fullname"+         echo $username $fullname 
 +         sudo -u nextcloud /usr/bin/php8.--define apc.enable_cli=1 /var/www/nextcloud/occ user:setting $username settings display_name "$fullname"
      fi      fi
 done done
Ligne 174: Ligne 195:
 12 7  *  *  * root /usr/local/bin/sync_nextcloud_ldap 12 7  *  *  * root /usr/local/bin/sync_nextcloud_ldap
 </code> </code>
 +
 +==== Désactiver la possibilitée d'utiliser la fonction "Mot de passe oublié?" ====
 +Editier le fichier /var/www/nextcloud/config/config.php et y ajouter la ligne suivante
 +<code>
 +'lost_password_link' => 'disabled',
 +</code>
 +
  
 ===== Etherpad ===== ===== Etherpad =====
Ligne 179: Ligne 207:
 ==== Diminuer la taille de la base de donnée ==== ==== Diminuer la taille de la base de donnée ====
 Si vous avez un problème de taille de base de données etherpad: https://github.com/YunoHost-Apps/etherpad_mypads_ynh/issues/188 Si vous avez un problème de taille de base de données etherpad: https://github.com/YunoHost-Apps/etherpad_mypads_ynh/issues/188
 +
  
 ===== Matrix ===== ===== Matrix =====
 +==== Administration ====
 +<markdown>
 +Interface CLI [synadm](https://synadm.readthedocs.io/en/latest/synadm.cli.room.html)
 +* Passer un utilisateur admin dans un salon :
 +`synadm room make-admin -u @user:sans-nuage.fr '!room_id:sans-nuage.fr'`
 +</markdown>
 +
 +==== Problème de mot de passe dans Element ====
 +
 +<markdown>
 +Une fois connecté sur Element, certaines opérations nécessitent de re-rentrer son mdp. Il semble que cette demande de mdp ne soit pas implémenté en CAS. Du coup le mdp échoue.
 +
 +Contournement :
 +* se connecter à synapse-admin, section User https://synadmin.sans-nuage.fr/#/users
 +* Sélectionner l'utilisateur > authentification unique
 +* Noter le pseudo, Supprimer CAS
 +* Dans "Adresse électronique" Ajouter adresse mail pseudo@sans-nuage.fr 
 +* Demander à l'utilisateur de reset son mdp
 +  * Mets toi en navigation privée sur firefox
 +  * va sur chat.sans-nuage.fr
 +  * cliques sur "mot de passe oublié ?"
 +  * via le mail reçu sur ta boite mail @sans-nuage.fr, définis le même mdp que ton compte sans-nuage.fr
 +  * Et là dans l'idéal tu remets le même MDP que ton MDP sans-nuage
 +* Remettre CAS avec le pseudo 
 +</markdown>
 ==== Nettoyer la base de données ==== ==== Nettoyer la base de données ====
  
Ligne 193: Ligne 247:
  
 Niveau 2 utilisation de l'API d'administration synadm Niveau 2 utilisation de l'API d'administration synadm
-* Se connecter à +* Se connecter en tant que admin_ghentz pour avoir accès à l'API synadm ou configurer son propre path comme suit
 * Ensuite aller dans votre client Element pour récupérer un jeton pour l'API synapse  * Ensuite aller dans votre client Element pour récupérer un jeton pour l'API synapse 
   * Tout en bas des paramètres, section `Aide et A propos` > `Advanced` > `jeton d'accès`   * Tout en bas des paramètres, section `Aide et A propos` > `Advanced` > `jeton d'accès`
Ligne 200: Ligne 254:
 export SYNAPSE_HS=matrix.sans-nuage.fr export SYNAPSE_HS=matrix.sans-nuage.fr
 export SYNAPSE_TOKEN=le_jeton_recupere export SYNAPSE_TOKEN=le_jeton_recupere
 +```
 +
 +Opérations de nettoyage
 ``` ```
 \c matrix_synapse \c matrix_synapse
 copy (select room_id, count(*) as cnt from events group by room_id order by cnt desc) to '/tmp/rooms_to_clean' csv; copy (select room_id, count(*) as cnt from events group by room_id order by cnt desc) to '/tmp/rooms_to_clean' csv;
 SELECT room_id, stream_ordering, COUNT(event_id) AS c FROM events GROUP BY room_id, stream_ordering ORDER BY c DESC; SELECT room_id, stream_ordering, COUNT(event_id) AS c FROM events GROUP BY room_id, stream_ordering ORDER BY c DESC;
 +```
  
 +```
 SELECT nspname || '.' || relname AS "relation", SELECT nspname || '.' || relname AS "relation",
     pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"     pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
Ligne 214: Ligne 273:
   ORDER BY pg_total_relation_size(C.oid) DESC   ORDER BY pg_total_relation_size(C.oid) DESC
   LIMIT 20;   LIMIT 20;
 +```
  
 +```
 jq -r '.rooms | map(select(.creator == "@signalbot:sans-nuage.fr")) | .[].room_id' < rooms.json | xargs -ti $SHELL -ic 'synadm POST '"'"'v1/purge_history/{}'"'"' -d '"'"'{"purge_up_to_ts":'"$(date -d-365days +%s000)"'}'"'" jq -r '.rooms | map(select(.creator == "@signalbot:sans-nuage.fr")) | .[].room_id' < rooms.json | xargs -ti $SHELL -ic 'synadm POST '"'"'v1/purge_history/{}'"'"' -d '"'"'{"purge_up_to_ts":'"$(date -d-365days +%s000)"'}'"'"
 +```
  
 +```
 jq -r '.rooms | map(select(.creator == "@whatsappbot:sans-nuage.fr")) | .[].room_id' < rooms.json | xargs -ti $SHELL -ic 'synadm POST '"'"'v1/purge_history/{}'"'"' -d '"'"'{"purge_up_to_ts":'"$(date -d-365days +%s000)"'}'"'" jq -r '.rooms | map(select(.creator == "@whatsappbot:sans-nuage.fr")) | .[].room_id' < rooms.json | xargs -ti $SHELL -ic 'synadm POST '"'"'v1/purge_history/{}'"'"' -d '"'"'{"purge_up_to_ts":'"$(date -d-365days +%s000)"'}'"'"
 +```
  
 +```
 SELECT * FROM state_groups_state LIMIT 5; SELECT * FROM state_groups_state LIMIT 5;
 SELECT COUNT(*) as nb FROM state_groups_state LIMIT 5; SELECT COUNT(*) as nb FROM state_groups_state LIMIT 5;
 SELECT COUNT(*) as nb FROM state_groups_state; SELECT COUNT(*) as nb FROM state_groups_state;
 +```
  
 +```
 REINDEX DATABASE CONCURRENTLY matrix_synapse; REINDEX DATABASE CONCURRENTLY matrix_synapse;
 +```
 ou ou
 +```
 REINDEX DATABASE matrix_synapse; REINDEX DATABASE matrix_synapse;
 +``` 
 +```
 VACUUM  VACUUM 
 +```
 ou ou
 +```
 VACUUM FULL; VACUUM FULL;
 +```
 semblent avoir le même résultat semblent avoir le même résultat
 +```
 \q \q
 +```
  
 Autres commandes utiles : Autres commandes utiles :
benevoles/technique/yunohost_mutu.1705256244.txt.gz · Dernière modification : 2024/01/14 18:17 de gauthier67