privatebin

ansible-role-privatebin

Ansible роль для настройки PHP-основанного PrivateBin

Требования

Это минимальные требования для PrivateBin (на момент версии 1.3.4):

  • PHP версии 5.5 или выше

  • требуется один из следующих источников криптографически безопасной случайности:

    • PHP 7 или выше
    • Libsodium и его PHP расширение
    • доступ к open_basedir для /dev/urandom
    • расширение mcrypt
    • расширение com_dotnet

    Mcrypt должен иметь доступ к /dev/urandom. Это значит, что если open_basedir установлен, он должен включать этот файл.

  • Расширение GD

  • немного дискового пространства или (опционально) база данных, поддерживаемая PDO

  • возможность создавать файлы и папки в каталоге установки и в PATH, определенном в index.php

  • Веб-браузер с поддержкой JavaScript

Взято из вики PrivateBin, в основном написано elrido.

В вашей системе также должен быть установлен git для клонирования роли.

Переменные роли

Переменная Описание Значение по умолчанию
pbin_path Местоположение исходных файлов PrivateBin "/var/www/privatebin"
pbin_user Пользователь, который будет владельцем файлов PrivateBin "{{ ansible_facts['user_id'] }}" (пользователь, выполняющий задачи на удаленной машине)
pbin_group Группа, которая будет владельцем файлов PrivateBin "{{ pbin_user }}"
pbin_git_repo Git репозиторий для клонирования "https://github.com/PrivateBin/PrivateBin.git"
pbin_git_version Версия Git (например, имя ветки или тег) для клонирования "1.3.4" (последняя на момент написания этой роли)
pbin_model_class Filesystem или Database, где хранить вставки "Filesystem"
pbin_datadir Папка для хранения вставок, актуально, когда Filesystem "data"
pbin_pdo_dsn DSN строка для подключения к базе данных (см. https://www.php.net/manual/en/pdo.drivers.php для справки) "" (пусто)
pbin_pdo_table Префикс таблицы в MySQL / PsQL / SQLite3 / ... "privatebin_"
pbin_pdo_user Имя пользователя для аутентификации в базе данных "" (пусто)
pbin_name Имя установки PrivateBin "PrivateBin"
pbin_discussion_enabled Разрешить открывать обсуждения true
pbin_password_enabled Разрешить установку пользовательских паролей true
pbin_fileupload_enabled Разрешить прикрепление файлов к вставкам true
pbin_burn_after_reading_default Установить галочку на удаление вставок после прочтения по умолчанию false
pbin_formatter_default Форматтер по умолчанию для использования (plaintext, markdown или syntaxhighlighting) "plaintext"
pbin_syntax_theme Тема для подсветки синтаксиса, false для отсутствия пользовательской темы false
pbin_template Шаблон фронтенда для использования "bootstrap"
pbin_language_selection Отображать выпадающий список выбора языка false
pbin_sizelimit Лимит на размер каждой вставки в байтах 10485760 (10 Мебибайт)
pbin_notice Добавить уведомление на фронтенде privatebin, false для отключения false
pbin_formatter_options Установить доступные форматтеры, их порядок и их метки [plaintext: "Plain Text", syntaxhighlighting: "Source Code", markdown: "Markdown"]
pbin_compression Метод сжатия для использования, zlib или none "zlib"
pbin_expire_default Время истечения по умолчанию для вставок, должно присутствовать в pbin_expire_options "1week"
pbin_expire_options Доступные времена истечения в секундах [5min: 300, 10min: 600, 1hour: 3600, 1day: 86400, 1week: 604800, 1month: 2592000, 1year: 31536000, never: 0]
pbin_ratelimit Секунды между вставками с одного IP 10
pbin_forwarded_header Если работает за обратным прокси, установите имя заголовка, содержащего IP клиентов, например, X_FORWARDED_FOR, false для отключения false
pbin_traffic_dir Директория для хранения лимитов трафика "{{ pbin_datadir }}"
pbin_purge_limit Минимальное время между попытками очистки в секундах 300
pbin_purge_batchsize Максимальное количество вставок для удаления во время очистки, для больших установок может потребоваться увеличить это значение 10
pbin_purge_dir Директория для хранения лимита очистки "{{ pbin_datadir }}"

Пример плейбука

- name: Установить 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"

Лицензия

BSD-3-Clause

Связанные проекты

Отбор проектов, которые относятся к этой роли, помогли создать или вдохновили меня:

Информация об авторе

Написано Морицем 'e1mo' Фромм.

Роль разрабатывается на sourcehut по адресу https://git.sr.ht/~e1mo/ansible-role-privatebin. Чтобы внести вклад, отправьте свои патчи на ~e1mo/ansible-role-privatebin [at] lists.sr.ht, используя git send-email (Этикет почтового списка). Трекер проблем находится по адресу https://todo.sr.ht/~e1mo/ansible-role-privatebin, учетная запись не нужна.

Установить
ansible-galaxy install e1mo/ansible-role-privatebin
Лицензия
bsd-3-clause
Загрузки
172
Владелец