Scripts et fichiers de configuration du module de commentaires du site de Geotribu, basé sur isso (dépôt GitHub).
- URL de base de l'API de commentaires : https://comments.geotribu.fr/
- Interface d'administration : https://comments.geotribu.fr/admin
- voir aussi le ticket sur la configuration dans MkDocs
-
Cloner le dépôt
-
Créer un environnement virtuel et l'activer :
python3 -m venv .venv source .venv/bin/activate
-
Y installer les dépendances :
python -m pip install -U pip setuptools wheel python -m pip install -U -r requirements.txt
-
Lancer l'exécution en local :
isso -c isso-dev.cfg run
L'outil est accessible sur http://localhost:8500/.
Pour l'activer en local dans le site de Geotribu :
- Lancer le site en local (voir le guide dédié)
- Adapter l'URL dans la configuration de MkDocs du site. Par exemple :
comments_url=http://localhost:8500
Créer un enregistrement DNS de type A
:
comments 600 IN A 185.123.84.13
Lien vers l'interface de gestion
Pour pouvoir envoyer des notifications, on utilise un compte email lié au domaine : facteur@geotribu.fr.
Lien vers l'interface de gestion
Pour chaque nouveau commentaire, une notification enrichie est envoyée sur le Slack de Geotribu, via l'application Geotribot (utilisée également par le processus de sauvegarde) :
- Administration de Geotribot : https://geotribu.slack.com/apps/A020C9Q93BK-geotribot
- Gestion des webhooks https://api.slack.com/apps/A020C9Q93BK
- Interface de conception de la notification enrichie
Le module est déployé sur le serveur prêté par GeoRezo, aux côtés du mini-CDN de Geotribu et d'El Geo Paso.
Certaines dépendances système sont donc déjà en place sur ce serveur. Dans le cas d'une nouvelle installation, s'assurer que Python 3.7+ et SQLite sont installés.
Exemple pour Python 3.7 sur Ubuntu 18.04 :
# ajouter le dépôt dans lequel trouver Python 3.7
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install build-essential python3-pip python3.7 python3.7-dev python3.7-venv sqlite3
Etapes suivies, dans le cas d'un environnement Apache et mod_wsgi déjà configuré pour les besoins d'El Geo Paso (voir la documentation) :
cd /var/www/geotribu
mkdir comments
cd comments/
python3.7 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
python -m pip install -U isso gevent
python -m pip install -U mod-wsgi==4.7.*
Appliquer les droits :
sudo chown -R geotribu:www-data /var/www/geotribu/cdn/
sudo chmod 770 /var/www/geotribu/cdn/
Copier les fichiers isso-prod.cfg
et isso-wsgi.py
sur le serveur dans /var/www/geotribu/comments
.
Paramètres à ne jamais stocker dans le dépôt ou diffuser :
[admin]
:password
: mot de passe d'accès à l'interface d'administration[hash]
:salt
: chaîne de caractères aléatoire (générée avec le module secrets de Python) utilisée pour renforcer les identifiants face aux grilles du type Rainbow Tables[smtp]
:password
: mot de passe du compte email
- Copier et renommer le fichier
apache.vhost
engeotribu-comments.conf
dans les sites disponibles (/etc/apache2/sites-available
) - Activer le site
-
Installer le certbot : suivre la documentation El Geo Paso
-
Lancer le processus de création des certificats :
# lancer le processus en choisissant comments. sudo certbot --apache
-
Lister les sites activés et constater que le certbot a bien fait son travail :
geotribu@geotribu:~$ ls /etc/apache2/sites-enabled/ elgeopaso.conf elgeopaso-redirect.conf geotribu-cdn.conf geotribu-cdn-le-ssl.conf geotribu-cdn-le-ssl.conf.save geotribu-comments.conf geotribu-comments-le-ssl.conf
Vérifier que la compression est bien activée :
- sur le CSS: https://www.whatsmyip.org/http-compression-test/?url=aHR0cHM6Ly9jb21tZW50cy5nZW90cmlidS5mci9jc3MvaXNzby5jc3M=
- sur le JavaScript : https://www.whatsmyip.org/http-compression-test/?url=aHR0cHM6Ly9jb21tZW50cy5nZW90cmlidS5mci9qcy9lbWJlZC5taW4uanM=
- sur l'API : https://www.whatsmyip.org/http-compression-test/?url=aHR0cHM6Ly9jb21tZW50cy5nZW90cmlidS5mci9sYXRlc3Q/bGltaXQ9MTA=
- sur les flux RSS : https://www.whatsmyip.org/http-compression-test/?url=aHR0cHM6Ly9jb21tZW50cy5nZW90cmlidS5mci9mZWVkP3VyaT0vYXJ0aWNsZXMvMjAyMS8yMDIxLTA0LTA3X2NhcnRlX3Jlc2VhdV9idXMv
La base de données des commentaires est dans le CDN, ainsi que l'export des commentaires de Disqus : https://cdn.geotribu.fr/tinyfilemanager.php?p=commentaires.
De cette façon, elle est accessible par l'équipe (les commentaires sont publics de toute façon) et surtout intégrée au processus de sauvegarde du CDN.