e1mo.privatebin

ansible-role-privatebin

Rôle Ansible pour configurer PrivateBin basé sur PHP.

Exigences

Voici les exigences minimales pour PrivateBin (à partir de la version 1.3.4) :

  • Version de PHP 5.5 ou supérieure

  • une des sources suivantes de randomisation cryptographiquement sécurisée est requise :

    • PHP 7 ou supérieur
    • Libsodium et son extension PHP
    • accès open_basedir à /dev/urandom
    • extension mcrypt
    • extension com_dotnet

    Mcrypt doit pouvoir accéder à /dev/urandom. Cela signifie que si open_basedir est défini, il doit inclure ce fichier.

  • Extension GD

  • Un peu d'espace disque ou (facultatif) une base de données supportée par PDO

  • Capacité à créer des fichiers et des dossiers dans le répertoire d'installation et le chemin défini dans index.php

  • Un navigateur web avec support JavaScript

Informations prises du wiki de PrivateBin, principalement écrit par elrido.

Votre système doit également avoir git installé pour cloner le rôle.

Variables du Rôle

Variable Description Valeur par défaut
pbin_path Emplacement des fichiers sources de PrivateBin "/var/www/privatebin"
pbin_user Utilisateur qui sera le propriétaire des fichiers de PrivateBin "{{ ansible_facts['user_id'] }}"
pbin_group Groupe qui sera le propriétaire des fichiers de PrivateBin "{{ pbin_use }}"
pbin_git_repo Dépôt Git à cloner "https://github.com/PrivateBin/PrivateBin.git"
pbin_git_version Version Git (par exemple, nom de branche ou tag) à cloner "1.3.4" (dernier à la date d'écriture de ce rôle)
pbin_model_class Filesystem ou Database, où stocker les pastes "Filesystem"
pbin_datadir Dossier pour stocker les pastes, applicable en mode Filesystem "data"
pbin_pdo_dsn Chaîne DSN pour se connecter à la base de données (voir https://www.php.net/manual/en/pdo.drivers.php pour référence) "" (vide)
pbin_pdo_table Préfixe de la table dans MySQL / PsQL / SQLite3 / ... "privatebin_"
pbin_pdo_user Nom d'utilisateur pour l'authentification à la base de données "" (vide)
pbin_name Nom de l'installation de PrivateBin "PrivateBin"
pbin_discussion_enabled Autoriser l'ouverture de discussions true
pbin_password_enabled Autoriser la définition de mots de passe personnalisés true
pbin_fileupload_enabled Autoriser l'attachement de fichiers aux pastes true
pbin_burn_after_reading_default Définir la case à cocher pour supprimer les pastes après lecture par défaut false
pbin_formatter_default Formatteur par défaut à utiliser (plaintext, markdown ou highlighted) "plaintext"
pbin_syntax_theme Thème à utiliser pour la mise en surbrillance de la syntaxe, false pour appliquer aucun thème false
pbin_template Modèle frontend à utiliser "bootstrap"
pbin_language_selection Afficher le dropdown de sélection de langue false
pbin_sizelimit Limite pour la taille de chaque paste en octets 10485760 (10 MébiOctets)
pbin_notice Ajouter un avis à l'interface de PrivateBin, faux pour désactiver false
pbin_formatter_options Définir les formatteurs disponibles, leur ordre et leurs étiquettes [plaintext: "Texte Brut", syntaxhighlighting: "Code Source", markdown: "Markdown"]
pbin_compression Méthode de compression à utiliser, zlib ou none "zlib"
pbin_expire_default Durée d'expiration par défaut pour les pastes, doit être présente dans pbin_expire_options "1semaine"
pbin_expire_options Durées d'expiration disponibles en secondes [5min: 300, 10min: 600, 1heure: 3600, 1jour: 86400, 1semaine: 604800, 1mois: 2592000, 1an: 31536000, jamais: 0]
pbin_ratelimit Secondes entre les pastes du même IP 10
pbin_forwarded_header Si vous êtes derrière un reverse proxy, définissez le nom de l'en-tête contenant l'IP des clients comme X_FORWARDED_FOR, faux pour désactiver false
pbin_traffic_dir Dossier pour stocker les limites de trafic "{{ pbin_datadir }}"
pbin_purge_limit Temps minimum entre les tentatives de purge en secondes 300
pbin_purge_batchsize Nombre maximum de pastes à supprimer lors de la purge, des installations plus grandes peuvent devoir augmenter cette valeur 10
pbin_purge_dir Dossier pour stocker la limite de purge "{{ pbin_datadir }}"

Exemple de Playbook

- name: Installer PrivateBin
  hosts: privatebin
  roles:
    - e1mo.privatebin
  tags:
    - privatebin
  vars:
    pbin_path: "/var/www/bin.e1mo.de"
    pbin_user: "www-data"
    pbin_model_class: "Filesystem"
    pbin_pdo_dsn: "mysql:host=localhost;dbname=privatebin"
    pbin_pdo_user: "privatebin"
    pbin_pdo_pass: "privatebin"

Licence

BSD-3-Clause

Projets Associés

Une sélection de projets liés à ce rôle, qui ont aidé à le créer ou m'ont inspiré :

Informations sur l'Auteur

Écrit par Moritz 'e1mo' Fromm.

Le rôle est développé sur sourcehut à https://git.sr.ht/~e1mo/ansible-role-privatebin. Pour contribuer, envoyez vos correctifs à ~e1mo/ansible-role-privatebin [at] lists.sr.ht en utilisant git send-email (Étiquette de la liste de diffusion). Le suivi des problèmes est situé à https://todo.sr.ht/~e1mo/ansible-role-privatebin, aucun compte n'est nécessaire.

Installer
ansible-galaxy install e1mo.privatebin
Licence
bsd-3-clause
Téléchargements
188
Propriétaire