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 establece open_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:

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.

Instalar
ansible-galaxy install e1mo.privatebin
Licencia
bsd-3-clause
Descargas
188
Propietario