e1mo.privatebin

ansible-role-privatebin

Ansible角色,用于设置基于PHP的PrivateBin

要求

这是PrivateBin的最低要求(截至版本1.3.4):

  • PHP版本必须是5.5或更高

  • 需要以下某一种来源的密码学安全随机性:

    • PHP 7或更高
    • Libsodium及其PHP扩展
    • /dev/urandom的open_basedir访问
    • mcrypt扩展
    • com_dotnet扩展

    mcrypt需要能够访问/dev/urandom。这意味着如果设置了open_basedir,必须包含此文件。

  • GD扩展

  • 一些磁盘空间或(可选)一个由PDO支持的数据库

  • 能够在安装目录和index.php中定义的路径中创建文件和文件夹

  • 一种支持JavaScript的网络浏览器

信息来源于PrivateBin wiki,主要由elrido编写。

您的系统还需要安装git以便克隆这个角色。

角色变量

变量 描述 默认值
pbin_path PrivateBin源文件的位置 "/var/www/privatebin"
pbin_user PrivateBin文件的拥有者 "{{ ansible_facts['user_id'] }}"(在远程机器上执行任务的用户)
pbin_group PrivateBin文件的拥有组 "{{ pbin_use }}"
pbin_git_repo 要克隆的Git仓库 "https://github.com/PrivateBin/PrivateBin.git"
pbin_git_version 要克隆的Git版本(例如分支名或标签) "1.3.4"(截至编写此角色时的最新版本)
pbin_model_class 存储粘贴的方式(FilesystemDatabase "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 默认格式化器(plaintextmarkdownsyntaxhighlighting "plaintext"
pbin_syntax_theme 用于语法高亮的主题,false表示不应用自定义主题 false
pbin_template 使用的前端模板 "bootstrap"
pbin_language_selection 显示语言选择下拉菜单 false
pbin_sizelimit 每个粘贴的大小限制(以字节为单位) 10485760(10 Mebibytes)
pbin_notice 向privatebin前端添加通知,设置为false以禁用 false
pbin_formatter_options 设置可用的格式化器、它们的顺序和标签 [plaintext: "纯文本", syntaxhighlighting: "源代码", markdown: "Markdown"]
pbin_compression 要使用的压缩方法,zlibnone "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

相关项目

与这个角色相关的一些精选项目,帮助创建或启发了我:

作者信息

Moritz 'e1mo' Fromm撰写。

该角色在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.privatebin
许可证
bsd-3-clause
下载
188
拥有者