Identifiants & Rotation
L'installateur génère chaque secret dont votre installation a besoin, donc rien n'est livré avec un mot de passe par défaut. Cette page liste ce qu'il a généré, où chaque valeur se trouve et comment le changer sans casser l'installation.
Ce que l'installateur a généré
| Secret | Généré comme | Stocké dans | Protège |
|---|---|---|---|
| Mot de passe administrateur | Chaîne aléatoire de 16 caractères | .conzent-credentials (mode 600) et haché bcrypt dans la base de données | Connexion au tableau de bord |
DB_PASSWORD | Chaîne aléatoire de 24 caractères | .env, deux fois : DB_PASSWORD= et à l'intérieur de DATABASE_URL= | Accès à MariaDB |
SCANNER_API_KEY | Chaîne aléatoire de 32 caractères | .env | Authentification de l'application au scanner |
APP_SECRET | Chaîne hexadécimale de 64 caractères | .env | Réservé — aucun chemin de code ne le lit aujourd'hui |
Consultez les identifiants administratifs enregistrés à tout moment avec bash scripts/install.sh --config.
Première chose à faire : .conzent-credentials contient votre mot de passe administrateur en texte clair. Il existe pour que l'installateur puisse vous le montrer à nouveau si vous l'avez manqué. Une fois le mot de passe dans un gestionnaire de mots de passe, supprimez le fichier avec rm .conzent-credentials. Rien n'en dépend.
Rotation du mot de passe administrateur
Si vous pouvez vous connecter, changez-le dans le tableau de bord sous Compte → Profil.
Si vous ne pouvez pas vous connecter, réinitialisez-le depuis l'hôte. Cela était autrefois une impasse : bin/oci setup refuse de s'exécuter une fois qu'un compte existe, et l'email de "mot de passe oublié" nécessite un serveur SMTP fonctionnel, que les installations auto-hébergées n'ont souvent pas.
# Générer un nouveau mot de passe et l'imprimer
docker compose exec app php bin/oci user:password --email=you@example.com
# Ou en définir un spécifique
docker compose exec app php bin/oci user:password --email=you@example.com --password='votre-nouveau-mot-de-passe'
La commande hache bcrypt et stocke le nouveau mot de passe, déconnecte toutes les sessions existantes pour cet utilisateur, et efface tout verrouillage dû à des tentatives de connexion échouées. Cela fonctionne pour n'importe quel utilisateur, pas seulement les administrateurs — utile lorsqu'un client oublie le sien et que vous n'avez pas de serveur de messagerie.
Pour faire fonctionner l'envoi d'emails à la place, configurez SMTP dans .env (MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_ENCRYPTION, MAIL_FROM_ADDRESS), redémarrez et testez avec docker compose exec app php bin/oci test:email --to=you@example.com. Avec MAIL_HOST vide, Conzent enregistre "Email non envoyé : aucun serveur SMTP configuré" et passe à autre chose — les liens de réinitialisation ne sont jamais livrés.
Rotation du mot de passe de la base de données
Quatre endroits doivent être d'accord : MariaDB elle-même, DB_PASSWORD, DATABASE_URL, et les conteneurs en cours d'exécution.
# 1. Choisissez un nouveau mot de passe
NEW_PASS=$(openssl rand -hex 16)
# 2. Changez-le à l'intérieur de MariaDB
docker compose exec -T mariadb mariadb -uroot -p"$DB_ROOT_PASSWORD" \
-e "ALTER USER 'oci'@'%' IDENTIFIED BY '$NEW_PASS'; FLUSH PRIVILEGES;"
# 3. Mettez à jour LES DEUX endroits dans .env
sed -i "s|^DB_PASSWORD=.*|DB_PASSWORD=$NEW_PASS|" .env
sed -i "s|^DATABASE_URL=.*|DATABASE_URL=mysql://oci:$NEW_PASS@mariadb:3306/oci?charset=utf8mb4|" .env
# 4. Redémarrez les services tenant des connexions
docker compose up -d --force-recreate app worker scheduler beacon-worker
# 5. Confirmez
docker compose exec app php bin/oci health
Si health signale un échec de la base de données, les deux valeurs .env ne sont pas d'accord. DATABASE_URL est ce que l'application utilise réellement ; DB_PASSWORD est ce avec quoi MariaDB est initialisé. Les deux doivent porter la nouvelle valeur.
DB_ROOT_PASSWORD par défaut est root. Le conteneur MariaDB ne publie aucun port hôte dans la pile auto-hébergée, donc il n'est accessible que depuis l'intérieur du réseau Compose — mais définissez une vraie valeur avant d'ajouter votre propre mappage de port hôte.
Rotation de la clé API du scanner
sed -i "s|^SCANNER_API_KEY=.*|SCANNER_API_KEY=$(openssl rand -hex 16)|" .env
docker compose up -d --force-recreate scanner app worker scheduler
docker compose exec app php bin/oci scanner:register
docker compose exec app php bin/oci scanner:health
L'enregistrement est clé par URL et idempotent, donc le réexécuter met à jour l'enregistrement existant plutôt que d'ajouter un duplicata. Si vous exécutez des scanners supplémentaires, faites tourner la clé sur chacun et réenregistrez chaque URL.
Clés API et clés de site
Deux identifiants que l'installateur ne génère pas :
- Clés API — créées par utilisateur pour un accès programmatique. Révoquez et réémettez depuis le tableau de bord.
- Clés de site — la valeur
data-keydans chaque extrait d'intégration. C'est un identifiant public, pas un secret : il apparaît dans le code source de chaque site utilisant la bannière. Il ne peut pas être tourné sans mettre à jour l'intégration de ce site.
Gestion de .env
.env est le fichier le plus sensible de l'installation. Il est ignoré par git et créé en mode 600 — si vous l'avez copié, restaurez cela avec chmod 600 .env. Il est inclus dans les archives de sauvegarde, c'est pourquoi celles-ci sont également écrites en mode 600 et appartiennent à un endroit privé.
La référence complète se trouve avec le code : docs/credentials.md sur GitHub.