e1mo.privatebin
ansible-role-privatebin
Ansible角色,用于设置基于PHP的PrivateBin
要求
这是PrivateBin的最低要求(截至版本1.3.4):
PHP版本必须是5.5或更高
需要以下某一种来源的密码学安全随机性:
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 |
存储粘贴的方式(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 Mebibytes) |
pbin_notice |
向privatebin前端添加通知,设置为false以禁用 | false |
pbin_formatter_options |
设置可用的格式化器、它们的顺序和标签 | [plaintext: "纯文本", syntaxhighlighting: "源代码", 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: Jeff Geerling aka. geerlingguy的一个ansible角色,用于在您的主机上安装PHP、MySQL和PostgreSQL。他还有一个有趣且富有教育意义的Youtube频道
- ansible: Ansible项目本身,没有它这个角色就无法存在。
作者信息
该角色在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.privatebin
许可证
bsd-3-clause
下载
188
拥有者