e1mo.privatebin
ansible-role-privatebin
PHPベースのPrivateBinを設定するためのAnsibleロール
要件
PrivateBin(バージョン1.3.4現在)の最小要件は以下の通りです:
PHPバージョン5.5以上
暗号的に安全な乱数のソースのうち、_1つ_が必要:
Mcryptは
/dev/urandom
にアクセスできる必要があります。つまり、open_basedir
が設定されている場合、このファイルを含める必要があります。GD拡張
ディスクスペースが必要、または(オプションで)PDOに対応したデータベース
インストールディレクトリとindex.phpで定義されたPATHにファイルおよびフォルダを作成する能力
JavaScriptをサポートするウェブブラウザ
これはPrivateBinウィキからの内容で、主に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メビバイト) |
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:PHP、MySQL、PostgreSQLをホストにインストールするためのJeff Geerling aka. geerlingguyによるAnsibleロール。彼には教育的で面白いYouTubeチャンネルもあります。
- ansible:このロールが存在できることができないAnsibleプロジェクトそのもの。
著者情報
このロールはソースハットの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
所有者