====== Stikked (pastebin ======
Nous utilisons le logiciel [[https://github.com/claudehohl/Stikked|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.
===== Installation =====
Télécharger [[https://github.com/claudehohl/Stikked|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.
* Créer un dossier ''pastebin'' dans ''/var/www'' et coller le contenu du dossier ''htdocs'' de l'archive pastebin.
* Créer un utilisateur et une base de donnée pour Stikked
* Copier ''application/config/stikked.php.dist'' en ''application/config/stikked.php'' (ou reprendre la version sauvegardée).
* Éditer la configuration dans ''application/config/stikked.php''
* Allez à l'adresse http://monsite/pastebin !
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".
==== Problèmes spécifiques à un serveur sans ip propre ====
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/';
===== Configuration =====
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...
* Gestion des langues : version française par défaut
* Les pastebins ne sont conservés qu'une semaine par défaut (paramétrable dans la page). Désactivation de "pour toujours".
* Possibilité de répondre à un pastebin et de voir les lignes modifiés
* Captcha (activé pour le moment)
* Les url courtes ne fonctionnent pas pour le moment, car il faudrait lier ça à des services tiers.
==== Spams ====
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é.
==== Noms aléatoires personnalisés ====
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');
===== Thèmes=====
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 [[https://git.khaganat.net/zatalyz/site_internet/tree/master/pastebin|notre gitlab]].
==== Images de fond de page / Favicon / logos ====
* pastebin_bg.jpg : image d'arrière-plan (appel depuis /var/www/pastebin/themes/khaganat/css/main.css ).
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
{{tag>web}}