e1mo.privatebin

ansible-role-privatebin

Ansible-Rolle zur Einrichtung von PrivateBin, das auf PHP basiert.

Anforderungen

Das sind die minimalen Anforderungen für PrivateBin (mit Stand von Version 1.3.4):

  • PHP-Version 5.5 oder höher

  • eine der folgenden Quellen für kryptografisch sichere Zufallszahlen ist erforderlich:

    • PHP 7 oder höher
    • Libsodium und die dazugehörige PHP-Erweiterung
    • open_basedir-Zugriff auf /dev/urandom
    • mcrypt-Erweiterung
    • com_dotnet-Erweiterung

    Mcrypt muss auf /dev/urandom zugreifen können. Das bedeutet, wenn open_basedir gesetzt ist, muss diese Datei enthalten sein.

  • GD-Erweiterung

  • etwas Speicherplatz oder (optional) eine von PDO unterstützte Datenbank

  • Die Fähigkeit, Dateien und Ordner im Installationsverzeichnis und im in index.php definierten PATH zu erstellen

  • Ein Webbrowser mit JavaScript-Unterstützung

Diese Informationen stammen aus dem PrivateBin-Wiki, hauptsächlich verfasst von elrido.

Ihre Systeme müssen außerdem git installiert haben, um die Rolle klonen zu können.

Rollenvariablen

Variable Beschreibung Standard
pbin_path Standort der PrivateBin-Quelldateien "/var/www/privatebin"
pbin_user Benutzer, der der Besitzer der PrivateBin-Dateien sein soll "{{ ansible_facts['user_id'] }}" (Benutzer, der die Aufgaben auf der entfernten Maschine ausführt)
pbin_group Gruppe, die der Besitzer der PrivateBin-Dateien sein soll "{{ pbin_use }}"
pbin_git_repo Git-Repository zum Klonen "https://github.com/PrivateBin/PrivateBin.git"
pbin_git_version Git-Version (z. B. Branch-Name oder Tag), die geklont werden soll "1.3.4" (neueste Version zum Zeitpunkt dieser Rolle)
pbin_model_class Filesystem oder Datenbank, wo die Einträge gespeichert werden sollen "Filesystem"
pbin_datadir Ordner für die Speicherung der Einträge, zutreffend bei Filesystem "data"
pbin_pdo_dsn DSN-String zur Verwendung für die Datenbankverbindung (siehe https://www.php.net/manual/en/pdo.drivers.php für Referenz) "" (leer)
pbin_pdo_table Tabellenpräfix in MySQL / PsQL / SQLite3 / ... "privatebin_"
pbin_pdo_user Benutzername zur Authentifizierung bei der Datenbank "" (leer)
pbin_name Name der PrivateBin-Installation "PrivateBin"
pbin_discussion_enabled Erlaubt das Öffnen von Diskussionen true
pbin_password_enabled Erlaubt das Festlegen von benutzerdefinierten Passwörtern true
pbin_fileupload_enabled Erlaubt das Anhängen von Dateien an Einträge true
pbin_burn_after_reading_default Setzt das Häkchen, um Einträge nach dem Lesen standardmäßig zu löschen false
pbin_formatter_default Standardformatierer zur Verwendung (plaintext, markdown oder syntaxhighlighting) "plaintext"
pbin_syntax_theme Thema für die Syntaxhervorhebung, false, um kein benutzerdefiniertes Thema anzuwenden false
pbin_template Vorlagentemplate für das Frontend "bootstrap"
pbin_language_selection Sprachwahldropdown anzeigen false
pbin_sizelimit Limit für die Größe jedes Eintrags in Bytes 10485760 (10 Mebibytes)
pbin_notice Eine Mitteilung auf dem PrivateBin-Frontend hinzufügen, false, um sie zu deaktivieren false
pbin_formatter_options Verfügbare Formatierer, deren Reihenfolge und deren Bezeichnungen [plaintext: "Plain Text", syntaxhighlighting: "Source Code", markdown: "Markdown"]
pbin_compression Komprimierungsmethode, die verwendet werden soll, zlib oder none "zlib"
pbin_expire_default Standardablaufzeit für Einträge, muss in pbin_expire_options vorhanden sein "1week"
pbin_expire_options Verfügbare Ablaufzeiten in Sekunden [5min: 300, 10min: 600, 1hour: 3600, 1day: 86400, 1week: 604800, 1month: 2592000, 1year: 31536000, never: 0]
pbin_ratelimit Sekunden zwischen Einträgen von derselben IP 10
pbin_forwarded_header Wenn hinter einem Reverse-Proxy betrieben, den Namen des Headers einstellen, der die IPs der Clients enthält wie X_FORWARDED_FOR, false, um es zu deaktivieren false
pbin_traffic_dir Verzeichnis zur Speicherung der Verkehrslimits "{{ pbin_datadir }}"
pbin_purge_limit Mindestzeit zwischen Löschversuchen in Sekunden 300
pbin_purge_batchsize Maximale Anzahl an Einträgen, die beim Löschen entfernt werden sollen, größere Installationen müssen diesen Wert möglicherweise erhöhen 10
pbin_purge_dir Verzeichnis zur Speicherung des Löschlimits "{{ pbin_datadir }}"

Beispiel-Playbook

- name: Installiere 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"

Lizenz

BSD-3-Klausel

Verwandte Projekte

Eine Auswahl von Projekten, die mit dieser Rolle in Verbindung stehen, mir geholfen haben oder mich inspiriert haben:

Autorinformation

Verfasst von Moritz 'e1mo' Fromm.

Die Rolle wird auf sourcehut unter https://git.sr.ht/~e1mo/ansible-role-privatebin entwickelt. Um beizutragen, senden Sie Ihre Patches an ~e1mo/ansible-role-privatebin [at] lists.sr.ht mit git send-email (Mailinglisten-Etikette). Der Issue-Tracker befindet sich unter https://todo.sr.ht/~e1mo/ansible-role-privatebin, ein Konto ist nicht erforderlich.

Installieren
ansible-galaxy install e1mo.privatebin
GitHub Repository
Lizenz
bsd-3-clause
Downloads
188
Besitzer