e1mo.privatebin

ansible-role-privatebin

Rola Ansible do skonfigurowania systemu opartego na PHP, znanego jako PrivateBin

Wymagania

To są minimalne wymagania dla PrivateBin (na dzień wersji 1.3.4):

  • Wersja PHP 5.5 lub wyższa

  • jedne z następujących źródeł kryptograficznie bezpiecznej losowości jest wymagana:

    • PHP 7 lub wyższa
    • Libsodium oraz jego rozszerzenie PHP
    • dostęp do /dev/urandom za pomocą open_basedir
    • rozszerzenie mcrypt
    • rozszerzenie com_dotnet

    Rozszerzenie mcrypt musi mieć dostęp do /dev/urandom. Oznacza to, że jeśli open_basedir jest ustawione, musi zawierać ten plik.

  • Rozszerzenie GD

  • Trochę miejsca na dysku lub (opcjonalnie) bazę danych wspieraną przez PDO

  • Możliwość tworzenia plików i folderów w katalogu instalacyjnym oraz w ścieżce zdefiniowanej w index.php

  • Przeglądarka internetowa z obsługą JavaScript

Cytowane z wiki PrivateBin, głównie napisane przez elrido.

Twoje systemy muszą mieć również zainstalowany git do klonowania roli.

Zmienne Roli

| Zmienna | Opis | Domyślnie | |----------------------------------- |--------------------------------------------------------------------------------------------------------------------------------------- |----------------------------------------------------------------------------------------- | | pbin_path | Lokalizacja plików źródłowych PrivateBin | "/var/www/privatebin" | | pbin_user | Użytkownik, który będzie właścicielem plików PrivateBin | "{{ ansible_facts['user_id'] }}" (użytkownik wykonujący zadania na maszynie zdalnej) | | pbin_group | Grupa, która będzie właścicielem plików PrivateBin | "{{ pbin_user }}" | | pbin_git_repo | Repozytorium Git do klonowania | "https://github.com/PrivateBin/PrivateBin.git" | | pbin_git_version | Wersja Git (np. nazwa gałęzi lub tag) do klonowania | "1.3.4" (najnowsza w momencie pisania tej roli) | | pbin_model_class | Filesystem lub Database, gdzie przechowywać przeszłe wpisy | "Filesystem" | | pbin_datadir | Folder do przechowywania wpisów, stosowany przy Filesystem | "data" | | pbin_pdo_dsn | Łańcuch DSN do użycia w połączeniu z bazą danych (patrz https://www.php.net/manual/en/pdo.drivers.php dla odniesienia) | "" (pusty) | | pbin_pdo_table | Prefiks tabeli w MySQL / PsQL / SQLite3 / ... | "privatebin_" | | pbin_pdo_user | Nazwa użytkownika do autoryzacji w bazie danych | "" (pusty) | | pbin_name | Nazwa instalacji PrivateBin | "PrivateBin" | | pbin_discussion_enabled | Pozwól na otwieranie dyskusji | true | | pbin_password_enabled | Pozwól na ustawianie niestandardowych haseł | true | | pbin_fileupload_enabled | Pozwól na dołączanie plików do wpisów | true | | pbin_burn_after_reading_default | Ustaw znacznik do usunięcia wpisów po odczytaniu domyślnie | false | | pbin_formatter_default | Domyślny format, który ma być używany (plaintext, markdown lub syntaxhighlighting) | "plaintext" | | pbin_syntax_theme | Motyw do użycia do podświetlania składni, false, by nie stosować żadnego motywu | false | | pbin_template | Szablon frontendowy do użycia | "bootstrap" | | pbin_language_selection | Wyświetl rozwijane menu wyboru języka | false | | pbin_sizelimit | Limit rozmiaru każdego wpisu w bajtach | 10485760 (10 Mebibajtów) | | pbin_notice | Dodaj powiadomienie do frontend PrivateBin, false, by wyłączyć | false | | pbin_formatter_options | Ustaw dostępne formaty, ich kolejność i etykiety | [plaintext: "Plain Text", syntaxhighlighting: "Source Code", markdown: "Markdown"] | | pbin_compression | Metoda kompresji do użycia, zlib lub none | "zlib" | | pbin_expire_default | Domyślny czas wygaśnięcia wpisów, musi być obecny w pbin_expire_options | "1week" | | pbin_expire_options | Dostępne czasy wygaśnięcia w sekundach | [5min: 300, 10min: 600, 1hour: 3600, 1day: 86400, 1week: 604800, 1month: 2592000, 1year: 31536000, never: 0] | | pbin_ratelimit | Sekundy między zapytaniami z tego samego IP | 10 | | pbin_forwarded_header | Jeśli działa za odwrotnym serwerem proxy, ustaw na nazwę nagłówka zawierającego IP klienta, np. X_FORWARDED_FOR, false, by wyłączyć | false | | pbin_traffic_dir | Katalog do przechowywania limitów ruchu | "{{ pbin_datadir }}" | | pbin_purge_limit | Minimalny czas między próbami oczyszczania w sekundach | 300 | | pbin_purge_batchsize | Maksymalna liczba wpisów do usunięcia podczas oczyszczania, większe instalacje mogą potrzebować zwiększyć tę wartość | 10 | | pbin_purge_dir | Katalog do przechowywania limitu oczyszczania | "{{ pbin_datadir }}" |

Przykładowy Playbook

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

Licencja

BSD-3-Clause

Powiązane projekty

Wybór projektów, które są powiązane z tą rolą, pomogły w ich stworzeniu lub zainspirowały mnie:

Informacje o autorze

Napisane przez Moritz 'e1mo' Fromm.

Rola jest rozwijana na sourcehut pod adresem https://git.sr.ht/~e1mo/ansible-role-privatebin. Aby wnieść wkład, wyślij swoje poprawki na ~e1mo/ansible-role-privatebin [at] lists.sr.ht używając git send-email (Etykieta listy dyskusyjnej). Tracker zgłoszeń znajduje się pod adresem https://todo.sr.ht/~e1mo/ansible-role-privatebin, nie jest wymagane konto.

Zainstaluj
ansible-galaxy install e1mo.privatebin
Licencja
bsd-3-clause
Pobrania
188
Właściciel