e1mo.privatebin

ansible-role-privatebin

PHPベースのPrivateBinを設定するためのAnsibleロール

要件

PrivateBin(バージョン1.3.4現在)の最小要件は以下の通りです:

  • PHPバージョン5.5以上

  • 暗号的に安全な乱数のソースのうち、_1つ_が必要:

    • PHP 7以上
    • Libsodium とそのPHP拡張
    • /dev/urandomへのopen_basedirアクセス
    • mcrypt拡張
    • com_dotnet拡張

    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 使用するデフォルトフォーマッター(plaintextmarkdownsyntaxhighlighting "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

関連プロジェクト

このロールに関連する選ばれたプロジェクトの選定、作成に協力したもの、または私をインスパイアしたもの:

著者情報

著者:Moritz 'e1mo' Fromm

このロールはソースハットhttps://git.sr.ht/~e1mo/ansible-role-privatebinで開発されています。貢献する場合は、~e1mo/ansible-role-privatebin [at] lists.sr.htgit send-emailを使用してパッチを送信してください(メーリングリストのエチケット)。問題追跡はhttps://todo.sr.ht/~e1mo/ansible-role-privatebinにあります。アカウントは必要ありません。

プロジェクトについて

Install and configure Privatebin

インストール
ansible-galaxy install e1mo.privatebin
ライセンス
bsd-3-clause
ダウンロード
188
所有者