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
Связанные проекты
Отбор проектов, которые относятся к этой роли, помогли создать или вдохновили меня:
- PrivateBin: Сам проект PrivateBin.
- ansible-role-php: Роль ansible от Джеффа Гирлинга (geerlingguy) для установки PHP, MySQL и PostgreSQL на вашем хосте. У него также есть развлекательный и обучающий YouTube канал
- ansible: Сам проект ansible, без которого эта роль не смогла бы существовать.
Информация об авторе
Написано Морицем '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, учетная запись не нужна.
Install and configure Privatebin
ansible-galaxy install e1mo/ansible-role-privatebin