Confluence - Opérations#
Confluence#
Autorisation d'une adresse IP spécifique#
Warning
Il existe un référentiel des IPs courantes (les divers VPN Orange par exemple) : ipam.cue. Cette procédure n'est à suivre que pour des adresses uniques et spécifiques à un accès confluence.
Ajouter l'IP à autoriser dans le tableau #ConfluenceSTGIPs du fichier fe_confluence_stg.cue avec le ticket de demande et une description en commentaire.
nix-shell
cd context/pf
trackbone apply -z corp -c fe_confluence_stg
Warning
Il ne doit y avoir que deux modifications, correspondant à l'ouverture du port 80 et du port 443.
Planifier l'opération sur la production : tableau #ConfluenceIPs du fichier fe_confluence.cue avec le ticket de demande et une description en commentaire.
nix-shell
cd context/pf
trackbone apply -z corp -c fe_confluence
Récupération des secrets#
On récupère le compte admin local de Confluence via Vault :
export VAULT_ADDR='https://vault.corp.caascad.com'
vault token lookup || vault login -method oidc
export CONFLUENCE_LOGIN=$(vault kv get -field=username secret/applications/confluence/users/admin)
export CONFLUENCE_PASSWORD=$(vault kv get -field=password secret/applications/confluence/users/admin)
Connexion sur le serveur#
Récupérer la clé SSH corp depuis le vault infra :
export VAULT_ADDR="https://vault.infra-prd.caascad.com"
vault token lookup || vault login -method oidc
rm -vf ~/.ssh/corp.caascad.com.pem
vault read -field private_key_pem secret/zones/fe/corp/keypair | base64 -d > ~/.ssh/corp.caascad.com.pem
chmod -v 400 ~/.ssh/corp.caascad.com.pem
Se connecter sur le serveur Jira :
ssh -i ~/.ssh/corp.caascad.com.pem cloud@confluence-stg.corp.caascad.com
ssh -i ~/.ssh/corp.caascad.com.pem cloud@confluence.corp.caascad.com
(Re)démarrer le service#
Pour (re)démarrer le service confluence :
sudo systemctl restart confluence ; sleep 3s ; sudo systemctl status confluence
Le redémarrage du service confluence peut durer quelques minutes. Il est possible de suivre l'avancement de l'initailisation du service via le log :
sudo tail -f /opt/atlassian/confluence/logs/catalina.out
Logs applicatifs#
Les logs Confluence sont stockés dans :
# Logs Confluence
/opt/atlassian/confluence/logs/
/var/atlassian/confluence/logs/
Opérations via la GUI#
Sauvegarde complète#
Pour sauvegarder complètement tous les spaces Confluence, il faut :
- Avoir les droits d'administration
- Se positionner dans
> Administration Confluence > Configuration générale > Sauvegarder et restaurer - Dans la section
Exporter, choisirInclure les pièces jointes
- Cliquer sur
Exporter(Et avoir beaucoup de patience)
La durée de l'export dépendant du volume de données, à titre indicatif, pour un export de 1.7Go de données compressées, la sauvegarde dure ~15min.
La sauvegarde xmlexport-<AAAAMMJJ>-<hhmmss>-*.zip est temporairement stockée dans /var/atlassian/confluence/temp/.
Restauration complète#
Note
A rédiger.
Sauvegarder un space#
Pour sauvegarder / exporter complètement un space Confluence, il faut :
- Avoir les droits d'administration
- Se positionner sur le space à sauvegarder
> Espaces > Répertoire des espaces - Dans le menu en bas à gauche
> Outils de l'espace > Gestion des contenus > Export - Choisir
xmlcomme format d'export - Puis choisir
Exportation complèteet cliquer surExporter
La durée de l'export dépendant du volume de données, à titre indicatif, pour un export de 550Mo de données compressées, la sauvegarde dure ~4min.
L'export du space Confluence-space-export-<hhmmss>-*.xml.zip est temporairement stockée dans /var/atlassian/confluence/temp/.
A le fin de l'export, il est possible de télécharger cet export via la GUI.
Restaurer un space#
Space léger ≤ 25Mo#
Pour importer un space Confluence ≤ 25Mo, il faut :
- Avoir les droits d'administration
- Se positionner dans
> Administration Confluence > Configuration générale > Sauvegarder et restaurer - Dans la section
Charger un fichier d'exportation de site ou d'espace:- Cocher
Générer l'index - Sélectionner votre export à restaurer
- Cliquer sur
Charger et importer(Et avoir beaucoup de patience)
- Cocher
Space lourd > 25Mo#
Pour importer un space Confluence > 25Mo, il faut :
- Copier via SCP le fichier d'export sur le serveur confluence (Penser à préfixer le nom de l'export lors de la copie) :
export CONFLUENCE_SERVER='confluence-stg.corp.caascad.com' scp -i ~/.ssh/corp.caascad.com.pem Confluence-space-export-<hhmmss>-*.xml.zip cloud@${CONFLUENCE_SERVER}:FEM-space-export.xml.zip ssh -i ~/.ssh/corp.caascad.com.pem cloud@${CONFLUENCE_SERVER} sudo mv FEM-space-export.xml.zip /var/atlassian/confluence/restore/ sudo chmod -v 664 /var/atlassian/confluence/restore/FEM-space-export.xml.zip - Se positionner dans
> Administration Confluence > Configuration générale > Sauvegarder et restaurer - Dans la section
Importer à partir du répertoire de base:- Cocher
Générer l'index - Sélectionner votre export à restaurer
- Cliquer sur
Importer(Et avoir beaucoup de patience)
- Cocher
La durée de l'import dépendant du volume de données, à titre indicatif, pour un import de 990Mo de données compressées, la restauration dure ~2min30.
A la fin de l'import, penser à supprimer les données sur le serveur dans /var/atlassian/confluence/restore/
Base de données#
Connexion#
Pour se connecter à la base de données MySQL, il faut utiliser le compte système root :
sudo -i
mysql confluencedb
Problèmes connus#
Perte de privilèges sur les procédures stockées MySQL#
Description :
Le déploiement de Percona dans les scripts (Ansible) de déploiement Confluence n'est pas idempotent, ce qui se traduit par :
- Suppression des privilèges associées aux procédures stockées MySQL
- Création / édition de page Confluence impossible (
Access Denied) - Présence d'erreurs dans les logs applicatifs Confluence du type :
2023-12-14 00:48:28,360 WARN [http-nio-8080-exec-1] [confluence.impl.hibernate.ConfluenceHibernateTransactionManager] doCommit Commit failed. Rolling back. Error: Hibernate operation: could not execute statement; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: execute command denied to user 'confluence'@'localhost' for routine 'confluencedb.content_pro cedure_for_denormalised_permissions' -- referer: https://confluence.corp.caascad.com/pages/resumedraft.action?draftId=1234567&draftShareId=a1b2c3d4-0666-45d2-ba11-091f89bf24cd& | url: /rest/tinymce/1/drafts | traceId: 93fa22a 86cf98ff1 | userName: george.abitbol@orange.com
Solution :
- Se connecter sur le serveur Confluence
- Se connecter avec un compte administrateur sur la base de données MySQL
- Vérifier / corriger les privilèges MySQL pour le compte
confluence@localhost-- List all procedures from confluencedb SHOW PROCEDURE STATUS WHERE Db='confluencedb'; -- List current privileges for confluence@localhost SHOW GRANTS for confluence@localhost; -- If necessary, fix these privileges GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE ROUTINE, ALTER ROUTINE, TRIGGER ON confluencedb.* TO confluence@localhost; GRANT EXECUTE,ALTER ROUTINE ON PROCEDURE confluencedb.content_permission_procedure_for_denormalised_permissions TO confluence@localhost; GRANT EXECUTE,ALTER ROUTINE ON PROCEDURE confluencedb.content_perm_set_procedure_for_denormalised_permissions TO confluence@localhost; GRANT EXECUTE,ALTER ROUTINE ON PROCEDURE confluencedb.content_procedure_for_denormalised_permissions TO confluence@localhost; GRANT EXECUTE,ALTER ROUTINE ON PROCEDURE confluencedb.space_permission_procedure_for_denormalised_permissions TO confluence@localhost; GRANT EXECUTE,ALTER ROUTINE ON PROCEDURE confluencedb.space_procedure_for_denormalised_permissions TO confluence@localhost; FLUSH PRIVILEGES; - Valider la correction en essayant de modifier une page Confluence