e1mo.privatebin
rol-ansible-privatebin
Rol de Ansible para configurar PrivateBin basado en PHP.
Requisitos
Estos son los requisitos mínimos para PrivateBin (a partir de la versión 1.3.4):
Versión de PHP 5.5 o superior.
Una de las siguientes fuentes de aleatoriedad criptográficamente segura es requerida:
- PHP 7 o superior.
- Libsodium y su extensión de PHP.
- Acceso a
open_basedir
a/dev/urandom
. - Extensión mcrypt.
- Extensión com_dotnet.
Mcrypt necesita acceder a
/dev/urandom
. Esto significa que si se estableceopen_basedir
, debe incluir este archivo.Extensión GD.
Algo de espacio en disco o (opcionalmente) una base de datos soportada por PDO.
Capacidad para crear archivos y carpetas en el directorio de instalación y la RUTA definida en index.php.
Un navegador web con soporte para JavaScript.
Extraído de la wiki de PrivateBin, escrito principalmente por elrido.
Tus sistemas también necesitan tener git
instalado para clonar la rol.
Variables de la Rol
Variable | Descripción | Predeterminado |
---|---|---|
pbin_path |
Ubicación de los archivos fuente de PrivateBin | "/var/www/privatebin" |
pbin_user |
Usuario que será el propietario de los archivos de PrivateBin | "{{ ansible_facts['user_id'] }}" |
pbin_group |
Grupo que será el propietario de los archivos de PrivateBin | "{{ pbin_use }}" |
pbin_git_repo |
Repositorio Git a clonar | "https://github.com/PrivateBin/PrivateBin.git" |
pbin_git_version |
Versión de Git (por ejemplo, nombre de rama o etiqueta) a clonar | "1.3.4" |
pbin_model_class |
Filesystem o Database , donde almacenar los textos |
"Filesystem" |
pbin_datadir |
Carpeta para almacenar los textos, aplicable cuando es Filesystem |
"data" |
pbin_pdo_dsn |
Cadena DSN para usar en la conexión a la base de datos | "" (vacío) |
pbin_pdo_table |
Prefijo de tabla en MySQL / PsQL / SQLite3 / ... | "privatebin_" |
pbin_pdo_user |
Nombre de usuario para autenticarse en la base de datos | "" (vacío) |
pbin_name |
Nombre de la instalación de PrivateBin | "PrivateBin" |
pbin_discussion_enabled |
Permitir que se abran discusiones | true |
pbin_password_enabled |
Permitir establecer contraseñas personalizadas | true |
pbin_fileupload_enabled |
Permitir adjuntar archivos a los textos | true |
pbin_burn_after_reading_default |
Marcar para eliminar textos después de leer por defecto | false |
pbin_formatter_default |
Formateador predeterminado a utilizar (plaintext , markdown o syntaxhighlighting ) |
"plaintext" |
pbin_syntax_theme |
Tema para resaltar la sintaxis, false para no aplicar un tema personalizado |
false |
pbin_template |
Plantilla de frontend a utilizar | "bootstrap" |
pbin_language_selection |
Mostrar el menú desplegable de selección de idioma | false |
pbin_sizelimit |
Limite para el tamaño de cada texto en bytes | 10485760 (10 Mebibytes) |
pbin_notice |
Agregar un aviso al frontend de privatebin, false para deshabilitar |
false |
pbin_formatter_options |
Establecer los formateadores disponibles, su orden y sus etiquetas | [plaintext: "Texto Plano", syntaxhighlighting: "Código Fuente", markdown: "Markdown"] |
pbin_compression |
Método de compresión a utilizar, zlib o none |
"zlib" |
pbin_expire_default |
Tiempo de expiración predeterminado para los textos, debe estar presente en pbin_expire_options |
"1week" |
pbin_expire_options |
Tiempos de expiración disponibles en segundos | [5min: 300, 10min: 600, 1hour: 3600, 1day: 86400, 1week: 604800, 1month: 2592000, 1year: 31536000, never: 0] |
pbin_ratelimit |
Segundos entre textos desde la misma IP | 10 |
pbin_forwarded_header |
Si se ejecuta detrás de un proxy reverso, establecer el nombre del encabezado que contiene la IP del cliente, como X_FORWARDED_FOR , false para deshabilitar |
false |
pbin_traffic_dir |
Directorio para almacenar los límites de tráfico | "{{ pbin_datadir }}" |
pbin_purge_limit |
Tiempo mínimo entre intentos de purga en segundos | 300 |
pbin_purge_batchsize |
Número máximo de textos a eliminar al purgar, instalaciones más grandes pueden necesitar aumentar este valor | 10 |
pbin_purge_dir |
Directorio para almacenar el límite de purga | "{{ pbin_datadir }}" |
Ejemplo de Playbook
- name: Instalar 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"
Licencia
BSD-3-Clause
Proyectos relacionados
Una selección de proyectos relacionados con esta rol, que ayudaron a crearla o me inspiraron:
- PrivateBin: El increíble proyecto PrivateBin.
- ansible-role-php: Una rol de ansible de Jeff Geerling aka. geerlingguy para instalar PHP, MySQL y PostgreSQL en tu host. También tiene un entretenido y educativo canal de Youtube.
- ansible: El proyecto de ansible en sí, sin el cual esta rol no podría existir.
Información del Autor
Escrito por Moritz 'e1mo' Fromm.
La rol se desarrolla en sourcehut en https://git.sr.ht/~e1mo/ansible-role-privatebin. Para contribuir, envía tus parches a ~e1mo/ansible-role-privatebin [at] lists.sr.ht
usando git send-email
(Etiqueta de lista de correo). El rastreador de problemas se encuentra en https://todo.sr.ht/~e1mo/ansible-role-privatebin, no se necesita una cuenta.
Install and configure Privatebin
ansible-galaxy install e1mo.privatebin