ウェブサイト検索

Debian 12にPydio Cellsをインストールする方法


Debian 12にPydio Cellsをインストールする方法

このチュートリアルはこれらのOSバージョンのために存在します

  • Debian 12 (ブックワーム)
  • Debian 11 (バルセイヤ)
  • Debian 9(ストレッチ)

このページで

  1. 前提条件
  2. 依存関係のインストール
  3. MariaDBサーバーの設定
  4. Pydio Cellsのインストール

    1. ユーザーと環境変数の設定
    2. Pydio Cellsのダウンロードとインストール
  5. Pydio Cellsの設定
  6. Apache2をリバースプロキシとして設定する
  7. Pydio Cells インストールへのアクセス
  8. 結論

Pydio Cellsは、自ホスト型のドキュメント共有およびコラボレーションプラットフォームです。また、ドキュメント共有環境の完全な制御を提供します。Pydio Cellsは高速なパフォーマンスを持ち、大容量ファイル転送を処理でき、高度なワークフロー自動化を提供します。

次のガイドでは、Debian 12 サーバーにファイル共有およびコラボレーションツールとして Pydio Cells をインストールする手順を説明します。MariaDB データベースサーバーと Apache2 リバースプロキシを使用して Pydio Cells をインストールします。また、Certbot と Letsencrypt を使用して生成する SSL/TLS 証明書でインストールを保護します。

前提条件

進む前に、次のものを集めます:

  • Debian 12サーバー。
  • 管理者権限を持つ非ルートユーザー。
  • ドメイン名はサーバーのIPアドレスにポイントされています。

依存関係のインストール

Pydio Cellsは、オープンソースのファイル共有、管理、コラボレーションです。インストールする前に、データベースサーバー用のMariaDBやリバースプロキシ用のApache2などの依存関係をインストールする必要があります。また、インストールを保護するためにSSL/TLS証明書を生成するためのCertbotもインストールします。

まず、次の apt update コマンドを使って Debian パッケージインデックスを更新してください。

sudo apt update

次に、以下の apt install コマンドを使用して依存関係をインストールします。Pydio Cells のデータベースとして使用される MariaDB サーバー、リバースプロキシとしての Apache2 ウェブサーバー、そして Letsencrypt から SSL/TLS 証明書を生成するための Certbot をインストールします。

sudo apt install mariadb-server apache2 certbot wget

yを入力してインストールを確認し、ENTERを押します。

依存関係がインストールされたら、次のsystemctlコマンドを使用してapache2サービスを確認してください。apache2サービスが有効で実行中であることを確認します。

sudo systemctl is-enabled apache2
sudo systemctl status apache2

次の出力は、apache2が有効で実行中であることを示しています。

最後に、以下のsystemctlコマンドを使用してmariadbサービスを確認してください。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

出力は類似している必要があり、これはmariadbサービスが実行中で有効であることを示しています。

MariaDBサーバーの設定

次のステップでは、mariadb-secure-installationユーティリティを使用してMariaDBサーバーのインストールを保護します。その後、Pydio Cells用の新しいデータベースとユーザーを作成します。

以下のmariadb-secure-installationコマンドを実行して、MariaDBサーバーの設定を開始します。

sudo mariadb-secure-installation

セットアッププロセスでは、新しい設定を確認するためにYを入力するか、そうでない場合はnを入力する必要があります。以下は、あなたが求められるいくつかのMariaDBサーバーの設定です:

  • ローカル認証をunix_socketに切り替えますか? nと入力してください。
  • 新しいMariaDBのrootパスワードを設定しますか? 確認するにはyを入力し、その後、MariaDBサーバーデプロイメントの新しいパスワードを入力してください。
  • 匿名ユーザーを削除しますか?確認するにはyを入力してください。
  • デプロイメントからデフォルトのデータベーステストを削除しますか? 確認するにはyを入力してください。
  • リモート接続からのMariaDB rootログインを禁止しますか? 確認するにはyを入力してください。
  • テーブルの権限を再読み込みして変更を適用しますか? yを入力してENTERを押してください。

MariaDBが保護された後、Pydio Cellsのインストール用に新しいデータベースとユーザーを作成します。そのためには、MariaDBサーバーにログインする必要があります。

以下のMariaDBコマンドを実行してMariaDBサーバーにログインします。プロンプトが表示されたらMariaDBのrootパスワードを入力してください。

sudo mariadb -u root -p

ログインしたら、次のクエリを実行して新しいデータベースcellsを作成し、ユーザーpydioを作成してパスワードp4ssw0rdを設定します。それから、ユーザーpydioにデータベースcellsへのアクセスを許可します。

CREATE DATABASE cells;
CREATE USER 'pydio'@'localhost' IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON cells.* to 'pydio'@'localhost';
FLUSH PRIVILEGES;

次に、ユーザーpydioがデータベースcellsにアクセスできることを確認するために、次のクエリを実行します。

SHOW GRANTS FOR 'pydio'@'localhost';

次の出力は、ユーザーpydioがデータベースcellsにアクセスし管理する権限を持っていることを示しています。

MariaDBサーバーから退出するにはquitと入力してください。

Pydio Cellsのインストール

MariaDBサーバーの設定が完了したら、静的バイナリファイルを介してPydio Cellsをインストールします。その前に、新しい専用ユーザーを作成し、データディレクトリを設定し、Pydio Cellsに必要なシステム環境変数を作成することでシステムを準備しなければなりません。

ユーザーと環境変数の設定

まず、次のコマンドを使用して新しいユーザーpydioを作成します。

sudo useradd -m -s /bin/bash pydio

今、Pydio Cells インストール用の新しいデータディレクトリ /var/cells を作成し、所有権をユーザー pydio に変更します。

sudo mkdir -p /opt/pydio/bin /var/cells
sudo chown -R pydio: /opt/pydio /var/cells

次に、以下のコマンドを実行して新しい環境変数の設定を作成します /etc/profile.d/cells-env.sh、そして実行可能にするためにパーミッションを 0755 に変更します。データディレクトリのための環境変数 CELLS_WORKING_DIR、Pydio Cells がどのIPアドレスとポートで実行されるかを決定する CELLS_BIND、そして CELLS_EXTERNAL はあなたの Pydio Cells インストールのドメイン名です。

sudo tee -a /etc/profile.d/cells-env.sh << EOF
export CELLS_WORKING_DIR=/var/cells
export CELLS_BIND=https://127.0.0.1:8080
export CELLS_EXTERNAL=https://cells.howtoforge.local
EOF
sudo chmod 0755 /etc/profile.d/cells-env.sh

現在、ユーザーpydioとしてログインし、環境変数CELLS_WORKING_DIR、CELLS_BIND、およびCELLS_EXTERNALを確認してください。

su - pydio
echo $CELLS_WORKING_DIR
echo $CELLS_BIND
echo $CELLS_EXTERNAL

成功した場合、各環境変数はファイル/etc/profile.d/cells-env.shと一致するはずです。

Pydio Cellsのダウンロードとインストール

次のコマンドを実行して、Pydio Cellsのバイナリ静的ファイルを/opt/pydio/bin/cellsにダウンロードしてください。

export distribId=cells
wget -O /opt/pydio/bin/cells https://download.pydio.com/latest/${distribId}/release/{latest}/linux-amd64/${distribId}

Pydio Cellsをダウンロードしたら、次のコマンドを使用して実行可能にします。その後、ユーザーpydioからログアウトするにはexitと入力してください。

chmod a+x /opt/pydio/bin/cells
exit

次に、特権ポートでセルがバインドできるようにするために、以下のコマンドを実行してください。それから、/opt/pydio/bin/cellsコマンドのシンボリックリンクを/usr/local/bin/cellsに作成してください。

sudo setcap 'cap_net_bind_service=+ep' /opt/pydio/bin/cells
sudo ln -s /opt/pydio/bin/cells /usr/local/bin/cells

今、Pydioユーザーとして再度ログインし、セルのバイナリファイルを確認してください。次に、現在のセルのバージョンを確認します。

su - pydio
which cells
cells version

セルのバイナリファイルは /usr/local/bin/cells にあり、インストールされたセルのバージョンは4.2.5です。

Pydio Cellsの設定

Pydio Cellsのバイナリファイルをインストールしたら、設定を開始します。これはCLI(コマンドラインインターフェース)またはウェブブラウザを通じて行うことができます。この場合、コマンドラインターミナルからPydio Cellsを設定して、データベースをセットアップし、管理者ユーザーを作成し、その後、Pydio Cellsをバックグラウンドで実行するための新しいsystemdサービスファイルを作成します。

以下のcellsコマンドを実行して、Pydio Cellsのインストールを設定し始めてください。オプション--cliを使用すると、インタラクティブな環境で端末からPydio Cellsを設定することができます。

cells configure --cli

以下は、あなたが求められるいくつかの設定です:

  • データベースの設定では、TCP経由で選択し、データベースホストをlocalhost、ポートをデフォルトの3306、データベース名をcells、ユーザーをpydio、パスワードを入力してください。
  • 高可用性セルのインストールに関するMongoDB設定についてのプロンプトが表示されたら、nを入力してください。
  • Pydio Cells のインストールに新しい管理者ユーザーとパスワードを入力してください。
  • ストレージ構成では、オプション /var/cells/data を選択してください。

設定プロセスが完了すると、次のような「インストール完了」の出力が得られるはずです。

Pydio Cellsの設定が完了したので、次のステップとして、cellsをバックグラウンドでsystemdサービスとして実行するように設定します。これにより、systemctlコマンドユーティリティを介してcellsをより簡単に管理できるようになります。

次のnanoエディタコマンドを使用して、新しいsystemdサービスファイル/etc/systemd/system/cells.serviceを作成してください。

sudo nano /etc/systemd/system/cells.service

以下の設定を挿入し、以下の設定内の環境変数 CELLS_WORKING_DIR、CELLS_BIND、およびCELLS_EXTERNAL を必ず変更してください。

[Unit]
Description=Pydio Cells
Documentation=https://pydio.com
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/opt/pydio/bin/cells
[Service]
User=pydio
Group=pydio
PermissionsStartOnly=true
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/opt/pydio/bin/cells start
Restart=on-failure
StandardOutput=journal
StandardError=inherit
LimitNOFILE=65536
TimeoutStopSec=5
KillSignal=INT
SendSIGKILL=yes
SuccessExitStatus=0
WorkingDirectory=/home/pydio
Add environment variables
Environment=CELLS_WORKING_DIR=/var/cells
Environment=CELLS_BIND=https://127.0.0.1:8080
Environment=CELLS_EXTERNAL=https://cells.howtoforge.local
[Install]
WantedBy=multi-user.target

完了したら、ファイルを保存してエディタを終了してください。

次に、systemctl コマンドを実行して、systemd マネージャーを再読み込みし、新しい systemd サービスを適用します。

sudo systemctl daemon-reload

以下の systemctl コマンドを使用して、セルサービスを開始および有効にします。このコマンドは、システム起動時にセルサービスが自動的に開始されるように追加します。

sudo systemctl start cells
sudo systemctl enable cells

以下のコマンドを使用して、Cellsのサービスステータスを確認してください。Pydio Cellsは、CELLS_BIND環境変数内で定義されているように、ポート8080で127.0.0.1上で実行されている必要があります。

sudo systemctl status cells

実行中の場合、アクティブ(実行中)のような出力が得られるはずです。

Apache2をリバースプロキシとして設定する

この時点で、Pydio Cellsはバックグラウンドでlocalhostのデフォルトポートxxxで動作しています。このステップでは、Pydio CellsアプリケーションのためにApache2をリバースプロキシとして設定します。また、ドメイン名の新しいSSL/TLS証明書を生成するので、ドメイン名を準備し、サーバーのIPアドレスにポイントしていることを確認してください。

まず、次のa2enmodコマンドを実行して、リバースプロキシとして使用されるいくつかのApache2拡張を有効にします。

sudo a2enmod rewrite proxy proxy_http proxy_wstunnel http2 proxy_http2

次に、以下のコマンドを実行して新しいディレクトリ/var/www/html/cells/public_htmlを作成し、所有権をwww-dataユーザーに変更します。このディレクトリは、Letsencrypt証明書を生成する際の検証に使用されます。

sudo mkdir -p /var/www/html/cells/public_html
sudo chown -R www-data:www-data /var/www/html/cells/public_html

その後、以下の certbot コマンドを実行して、Pydio Cells のドメイン名用の新しい SSL/TLS 証明書を生成します。必ずメールアドレスとドメイン名を自分の情報に変更してください。

sudo certbot certonly --agree-tos --email [email  --no-eff-email --webroot -w /var/www/html/cells/public_html -d cells.howtoforge.local

プロセスが完了すると、あなたのSSL/TLS証明書は/etc/letsencrypt/live/domain.comディレクトリで利用可能になります。

次に、以下のnanoエディタコマンドを使用して、新しいApache2のバーチャルホスト設定/etc/apache2/sites-available/cells.confを作成します。

sudo nano /etc/apache2/sites-available/cells.conf

以下の設定を挿入し、ドメイン名とSSL/TLS証明書のパスを自分の情報に変更してください。

<VirtualHost *:80>
    ServerName cells.howtoforge.local
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    RewriteCond %{SERVER_NAME} =cells.howtoforge.local
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
    ServerName cells.howtoforge.local
    AllowEncodedSlashes On
    RewriteEngine On
    # be aware of this
    # Allow reverse proxy via self-signed certificates
    SSLProxyEngine On
    SSLProxyVerify none 
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off
    ## The order of the directives matters.
    # If Cells is not running with https, consider using ws instead of wss
    ProxyPassMatch "/ws/(.*)" wss://localhost:8080/ws/$1 nocanon
    ## This rewrite condition is required if using Cells-Sync
    # RewriteCond %{HTTP:Content-Type} =application/grpc [NC]
    # RewriteRule /(.*) h2://localhost:8080/$1 [P,L]
    ProxyPass "/" "https://127.0.0.1:8080/" 
    ProxyPassReverse "/" "https://127.0.0.1:8080/"
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLCertificateFile /etc/letsencrypt/live/cells.howtoforge.local/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/cells.howtoforge.local/privkey.pem
    #Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

ファイルを保存して、作業が完了したらエディタを終了してください。

今、以下のコマンドを実行して、仮想ホストファイルcells.confを有効化し、エラーのためにApacheの構文を検証してください。正しいApache2の構文があれば、Syntax OKという出力が得られるはずです。

sudo a2ensite cells.conf
sudo apachectl configtest

最後に、次のsystemctlコマンドを実行してapache2サービスを再起動し、変更を適用してください。これにより、あなたのPydio CellsはApache2リバースプロキシの安全なHTTPS接続を介してアクセスできるようになります。

sudo systemctl restart apache2

Pydio Cells インストールへのアクセス

ウェブブラウザを起動し、Pydio Cells インストールのドメイン名、例えば https://cells.howtoforge.local/ にアクセスしてください。すべてがうまくいけば、Pydio Cells のログインページにリダイレクトされるはずです。

設定プロセス中に作成した管理者ユーザー名とパスワードを入力し、Enterをクリックしてください。

成功すると、Pydio Cellsのユーザーダッシュボードがこのように表示されるはずです:

パーソナルファイルワークスペースをクリックすると、Pydio Cellsファイルマネージャが表示されます。新規ボタンをクリックして、新しいファイルをアップロードして、Pydio Cellsにファイルをアップロードできることを確認してください。

結論

このガイドに従って、Debian 12 サーバーに Pydio Cells をインストールしました。MariaDB データベースサーバーと Apache2 リバースプロキシを使用して Pydio Cells をインストールし、その上に Letsencrypt から生成された SSL/TLS 証明書で Pydio Cells のインストールを保護しました。これにより、文書やファイルの管理、コラボレーション、および共有のために Pydio Cells を使用できるようになりました。

関連記事: