Nous utilisons le logiciel Stikked pour fournir un service type pastebin. C'est un assez bon outil, un peu complexe à mettre en place proprement, et il faut le configurer et le surveiller côté spam.
Télécharger Stikked sur Github. Décompresser l'archive ; il y a dedans un fichier readme.md qui détaille tout. Mais comme j'aime pas l'anglais, le principal est traduit ici.
pastebin
dans /var/www
et coller le contenu du dossier htdocs
de l'archive pastebin.application/config/stikked.php.dist
en application/config/stikked.php
(ou reprendre la version sauvegardée).application/config/stikked.php
La base de donnée est créé automatiquement si elle n'existe pas.
Pas besoin de permissions spéciales par défaut, mais si on souhaite du Javascript et “CSS-files minified”, le dossier static/asset/folder
doit être écrivable (sudo chmod -R a+w
).
Pour que les pastes avec date d'expiration soient bien vidés, il faut définir une clé cron dans le fichier de config et ajouter un cronjob, par exemple :
*/5 * * * * curl --silent http://yoursite.com/cron/[key]
Exemple chez nous :
25 1 * * * curl --silent http://khaganat.net/pastebin/cron/stikkedkh >/dev/null 2>&1
Le ménage sera ainsi fait tous les jours à 1h25, et pour éviter un mail à chaque fois, le résultat est envoyé à “néant”.
Lors de l'installation, il y a une erreur qui fait que pastebin cherche ses infos sur l'adresse de la vm (test.khaganat.net.vm par exemple) et non l'adresse web. Ce serait du au fait qu'on a pas d'IP spécifique pour ce serveur.
Aller dans le fichier /var/www/pastebin/application/config/config.php
et ajouter l'adresse web complète à config['base_url']
:
$config['base_url'] = 'http://test.khaganat.net/pastebin/';
Le fichier de configuration se trouve dans /var/www/pastebin/application/config/stikked.php
. Le mot de passe de la base de donnée de Stikked y est en clair…
Pour activer les captchas, passer l'argument $config['enable_captcha']
à true;
.
Il faut aussi désactiver l'api pour éviter que les bots spammeurs passent par là : $config['disable_api'] = true;
La gestion des spams peut se faire en ligne via l'adresse http://khaganat.net/pastebin/spamadmin (login et mot de passe aux variables $config['spamadmin_user']
et $config['spamadmin_pass']
. Cela permet de nettoyer tous les messages d'une même IP et de bloquer cette dernière : ça peut donc faire beaucoup de ménage, vite.
S'il y a vraiment beaucoup de spam, c'est plus simple de passer par phpmyadmin et de nettoyer la table.
En cas de surfréquentation des bots-spam, on peut interdire de poster sans être connecté.
Lorsque qu'on ne précise pas de nom, l'auteur est une combinaison composée d'un “nom” suivi d'un “adjectif”. Voici les éléments aléatoires dans lesquels piocher après personnalisation, sinon c'est en anglais :
$config['adjectives'] = array('Pendo', 'Bog', 'Branaz', 'Caunai', 'Claden', 'Grezban', 'Jradaa', 'Mehteh', 'Migru', 'Mumut', 'Naurs', 'Njébé', 'Plissken', 'Roksin', 'Tupa', 'Salamandre', 'Cnovol', 'Clanebla', 'Silvid', 'Sinamru', 'Sumruku', 'Melcipni', 'Groska', 'Janka', 'Murbaz', 'Elephant', 'Bison', 'Lion', 'Chameau', 'Mouton', 'Tapir', 'Pelican', 'Tortue', 'Gibbon', 'Zebre', 'Macaw', 'Gibbon', 'Madrill', 'Wolf', 'Stork', 'Armadillo', 'Ostrich', 'Marmoset', 'Lizard', 'Panda', 'Girafe', 'Kangourou', 'Gorille', 'Canard', 'Macaque', 'Ibis', 'Lemure', 'Rhinoceros', 'Octupus', 'Papillon', 'Chaton', 'Coyote', 'Crocodile', 'Grenouille', 'Hamster', 'Iguane', 'Leopard', 'Abeille', 'Pingouin'); $config['nouns'] = array('Verte', 'Rouge', 'Jaune', 'Bleu', 'Violette', 'Orange', 'Rose', 'Blanche', 'Noire', 'Grise', 'À Rayure', 'À Pois', 'Mature', 'Imposante', 'Colossale', 'Commode', 'Éclair', 'Géante', 'Mungo', 'Volumineuse', 'Phénoménale', 'Mignonne', 'Minuscule', 'Petite', 'Diminuée', 'Ridicule', 'Dérisoire', 'Abondante', 'Triviale', 'Colorante', 'Aqua', 'Beige', 'Bistre', 'Bluffante', 'Bistre', 'Chartreuse', 'Chocolate', 'Cobalt', 'Corail', 'Crème', 'Denim', 'Émeraude', 'Ivoire', 'Moutarde', 'Idiote', 'Perle', 'Taquine', 'Intrépide', 'Douce', 'Inoffensive', 'Gentille', 'Innocente', 'Fiable', 'Tendre', 'Toxique', 'Costaud', 'Sexy', 'Morose', 'Rude', 'Gracieuse', 'Abrupte', 'Reine', 'Craquante', 'Insensible', 'Sociable', 'Subtile', 'Vacillante', 'Eratique', 'Unique', 'Délicieuse', 'Putride', 'Mélodieuse', 'Corrompue', 'Fière', 'Chaude', 'Froide', 'Torride', 'Voleuse', 'Méchante', 'Démone', 'Géniale', 'Drôle', 'Farceuse');
Il faut sauvegarder nos thèmes personnalisés. Les thèmes sont enregistrés dans pastebin/themes/
. Nous avons créé un thème Khaganat, disponible sur notre gitlab.
Le favicon se trouve donc dans /var/www/pastebin/favicon.ico
. Apparemment elle est appelée depuis le fichier /var/www/khaganat/views/defaults/header.php avec une adresse fixée 'en dur'.
Le plus simple est de faire :
cd /var/www/pastebin mv favicon.ico favicon.ico.bak ln -s /var/www/img/favicon.ico /var/www/pastebin/favicon.ico