Skip to content

Pleromaの入れ方

Note: This article is potentially outdated because at this time we may not have people who can speak this language well enough to update it. To see the up-to-date version, which may have significant differences or important caveats of the installation process, look up the English version.

日本語訳について

この記事は Installing on Debian based distributions の日本語訳です。何かがおかしいと思ったら、原文を見てください。

インストール

このガイドはDebian Bookwormを利用することを想定しています。Ubuntu 22.04でもおそらく動作します。また、ユーザはrootもしくはsudoにより管理者権限を持っていることを前提とします。もし、以下の操作をrootユーザで行う場合は、 sudo を無視してください。ただし、sudo -Hu pleroma のようにユーザを指定している場合には su <username> -s $SHELL -c 'command' を代わりに使ってください。

必要なソフトウェア

このガイドで利用している追加パッケージ

  • nginx (おすすめです。他のリバースプロキシを使う場合は、参考となる設定をこのリポジトリから探してください)
  • certbot (または何らかのLet's Encrypt向けACMEクライアント)
  • ImageMagick
  • ffmpeg
  • exiftool

システムを準備する

  • まずシステムをアップデートしてください。

    sudo apt update
    sudo apt full-upgrade
    

  • 上記に挙げたパッケージをインストールしておきます。

    sudo apt install git build-essential postgresql postgresql-contrib cmake ffmpeg imagemagick libmagic-dev
    

ElixirとErlangをインストールします

  • Erlangのリポジトリをダウンロードおよびインストールします。

    wget -P /tmp/ https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb
    sudo dpkg -i /tmp/erlang-solutions_2.0_all.deb
    

  • ElixirとErlangをインストールします、

    sudo apt update
    sudo apt install elixir erlang-dev erlang-nox
    

オプションパッケージ: docs/installation/optional/media_graphics_packages.md

sudo apt install imagemagick ffmpeg libimage-exiftool-perl

Pleroma BE (バックエンド) をインストールします

  • Pleroma用に新しいユーザーを作ります。
sudo useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma

注意: Pleromaユーザとして単発のコマンドを実行したい場合はは、sudo -Hu pleroma command を使ってください。シェルを使いたい場合は sudo -Hu pleroma $SHELLです。もし sudo を使わない場合は、rootユーザで su -l pleroma -s $SHELL -c 'command' とすることでコマンドを、su -l pleroma -s $SHELL とすることでシェルを開始できます。

  • Gitリポジトリをクローンします。

    sudo mkdir -p /opt/pleroma
    sudo chown -R pleroma:pleroma /opt/pleroma
    sudo -Hu pleroma git clone -b stable https://git.pleroma.social/pleroma/pleroma /opt/pleroma
    

  • 新しいディレクトリに移動します。

    cd /opt/pleroma
    

  • Pleromaが依存するパッケージをインストールします。Hexをインストールしてもよいか聞かれたら、yesを入力してください。

    sudo -Hu pleroma mix deps.get
    

  • コンフィギュレーションを生成します。

    sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance gen
    

    • rebar3をインストールしてもよいか聞かれたら、yesを入力してください。
    • このときにpleromaの一部がコンパイルされるため、この処理には時間がかかります。
    • あなたのインスタンスについて、いくつかの質問されます。この質問により config/generated_config.exs という設定ファイルが生成されます。
  • コンフィギュレーションを確認して、もし問題なければ、ファイル名を変更してください。

    sudo -Hu pleroma mv config/{generated_config.exs,prod.secret.exs}
    

  • 先程のコマンドで、すでに config/setup_db.psql というファイルが作られています。このファイルをもとに、データベースを作成します。

    sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance gen
    

  • そして、データベースのマイグレーションを実行します。

    sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate
    

  • これでPleromaを起動できるようになりました。

    sudo -Hu pleroma MIX_ENV=prod mix phx.server
    

インストールの最終段階

あなたの新しいインスタンスを世界に向けて公開するには、nginx等のWebサーバやプロキシサーバをPleromaの前段に使用する必要があります。また、Pleroma のためにシステムサービスファイルを作成する必要があります。

Nginx

  • まだインストールしていないなら、nginxをインストールします。

    sudo apt install nginx
    

  • SSLをセットアップします。他の方法でもよいですが、ここではcertbotを説明します。 certbotを使うならば、まずそれをインストールします。

    sudo apt install certbot
    
    そしてセットアップします。
    sudo mkdir -p /var/lib/letsencrypt/
    sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --standalone
    
    もしうまくいかないときは、nginxが正しく動いていない可能性があります。先にnginxを設定してください。ssl "on" を "off" に変えてから再試行してください。


  • nginxの設定ファイルサンプルをnginxフォルダーにコピーします。

    sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.nginx
    sudo ln -s /etc/nginx/sites-available/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx
    

  • nginxを起動する前に、設定ファイルを編集してください。例えば、サーバー名、証明書のパスなどを変更する必要があります。

  • nginxを再起動します。
    sudo systemctl enable --now nginx.service
    

もし証明書を更新する必要が出てきた場合には、nginxの関連するlocationブロックのコメントアウトを外し、以下のコマンドを動かします。

sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --webroot -w /var/lib/letsencrypt/

他のWebサーバやプロキシ

これに関してはサンプルが /opt/pleroma/installation/ にあるので、探してみてください。

Systemd サービス

  • サービスファイルのサンプルをコピーします。

    sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service
    

  • サービスファイルを変更します。すべてのパスが正しいことを確認してください

  • サービスを有効化し pleroma.service を開始してください
    sudo systemctl enable --now pleroma.service
    

初期ユーザの作成

新たにインスタンスを作成したら、以下のコマンドにより管理者権限を持った初期ユーザを作成できます。

sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new <username> <your@emailaddress> --admin

その他の設定とカスタマイズ

質問ある?

インストールについて質問がある、もしくは、うまくいかないときは、以下のところで質問できます。