JoeZhao

跨出界

Hey, I’m JoeZhao, a software engineer, and a gamer.

Seafile Proのインストール方法とUbuntu 18.04でのCaddy Proxy Frontedの使用方法

この記事を読み終えたら、以下のソフトウェアのインストールが完了するはずです:

  • python & python-pip
  • caddy
  • mysql-server
  • jre
  • seafile-pro ```

注意:Seafile をスムーズに実行するためには、以下のマシン構成が推奨されます:

1. メモリ >= 2GB
2. CPU >= 2 Core

環境の準備#

以下のコマンドは、ubuntu 18.04 システムにのみ適用されます。次の LTS バージョンがリリースされるまで、更新されることはありません。

特に指定がない限り、これらのコマンドはrootユーザーで直接実行しないでください。

# システムの更新
sudo apt update
sudo apt upgrade

# Python 2.7とその依存関係のインストール
apt-get install python2.7 libpython2.7 python-setuptools python-pil python-ldap python-urllib3 ffmpeg python-pip python-mysqldb python-memcache
pip install pillow moviepy

# 注意:pip install pillow moviepyを実行する際に、バージョンが古いためインストールできないエラーが発生する場合があります。同様のエラーが表示された場合は、次のコードを実行してみてください:
pip install —upgrade setuptools

# インストール
sudo apt install default-jre

# mysqlのインストール
sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation

基本的な環境の依存関係はこれで完了です。

注:データベースのインストールの詳細については、「Ubuntu 18.04 での MySQL のインストール方法」をクリックしてください。

Seafile のインストール#

Seafile インストールファイルのダウンロード#

  1. ダウンロードリンク:Community Edition
  2. ダウンロードリンク:Professional Edition

アカウント登録が必要です。Professional Edition では、ライセンスファイルがない場合でも、3 つのアカウントを永久に試用することができます。

違いは以下の通りです。興味がある方はご覧ください。

661299325

出典:Seafile 機能比較表

デプロイとディレクトリの設計#

注:ここでダウンロードしたファイル名は seafile-pro-server_7.0.9_x86-64_Ubuntu.tar.gz ですが、実際の操作ではバージョンとシステムによって異なる場合がありますので、注意して置き換えてください。

systemdサービスにはProtectHomeの設定があるため、関連する規約に従うために、seafile のディレクトリを外部に配置します。例えば、/data/fun2exのようにします。

sudo mkdir -p /data/fun2ex
cd /data/fun2ex
# インストールファイルをインストールディレクトリに移動する
mv ~/download/seafile-pro-server_* /data/fun2ex
# seafile-pro-server_* を fun2ex ディレクトリに移動した後
tar -xzfv seafile-pro-server_*
mkdir installed
mv seafile-pro-server_* installed

これで、ディレクトリ構造は次のようになります。

# tree /data/fun2ex -L 2
/data/fun2ex
├── installed
   └── seafile-pro-server_7.0.9_x86-64_Ubuntu.tar.gz
└── seafile-pro-server-7.0.9
    ├── reset-admin.sh
    ├── runtime
    ├── seafile
    ├── seafile.sh
    ├── seahub
    ├── seahub.sh
    ├── setup-seafile.sh
    └── upgrade

以下は公式の説明です:

このディレクトリの設計の利点

  1. seafile に関連する設定ファイルを/data/fun2exディレクトリにまとめて配置できるため、管理が容易です。
  2. 後でアップグレードする場合、最新のインストールパッケージを/data/fun2exディレクトリに解凍するだけです。

seafile サービスのインストール#

cd seafile-pro-server-*
./setup-seafile-mysql.sh #インストールスクリプトを実行し、プリセットの質問に答える

インストールスクリプトは、欠落しているソフトウェアパッケージがあるかどうかを確認し、プロンプトに従って操作を進めるだけです。

インストールが完了すると、ディレクトリは次のようになります。

/data/fun2ex
├── ccnet
│   ├── ccnet.sock
│   ├── misc
│   ├── mykey.peer
│   └── seafile.ini
├── conf
│   ├── ccnet.conf
│   ├── gunicorn.conf
│   ├── seafdav.conf
│   ├── ...
├── installed
│   └── seafile-pro-server_7.0.9_x86-64_Ubuntu.tar.gz
├── pro-data
├── seafile-data
├── seafile-pro-server-7.0.9
│   ├── ...
│   ├── seafile-background-tasks.sh
│   ├── seafile.sh
│   ├── seaf-import.sh
│   ├── seafobj_migrate.py
│   ├── seahub
│   ├── seahub-extra
│   ├── seahub.sh
│   ├── setup-seafile-mysql.py
│   ├── setup-seafile-mysql.sh
│   ├── setup-seafile.sh
│   ├── sql
│   └── upgrade
├── seafile-server-latest -> seafile-pro-server-7.0.9
└── seahub-data

seafile サービスの管理#

cd /data/fun2ex/seafile-server-lates
./seafile.sh { start | stop | restart }  # Seafileサービスの管理
./seahub.sh { start | stop | restart }   # Seahubウェブサイトの管理(デフォルトではポート8000で実行されます)

注意: Seahub を初めて起動すると、seahub.sh スクリプトが seafile 管理者アカウントの作成を求めるプロンプトを表示します。

seafile の設定は完了です。

Caddy サーバーの設定#

インストールについては、以下の記事を参照してください:Caddy インストールと設定ガイド(LCMP)

Caddyfileの設定は以下の通りです:

example.com {
    proxy / localhost:8000 {
        transparent
    }
    gzip
}

example.com/seafhttp {

    proxy / localhost:8082 {
        without /seafhttp
        transparent
    }
    gzip
}

example.com/media {
    root /data/fun2ex/seafile-server-lates/seahub/media
    gzip
}

その後、caddy サービスを再起動します。

sudo systemctl restart caddy
  1. ここで使用しているディレクトリが /root/fun2ex/seafile-server-lates/seahub/media の場合、caddyの再起動時に権限がないというエラーが発生します。
  2. /home/someuser/fun2ex/seafile-server-lates/seahub/media のディレクトリを使用する場合、caddyの再起動時に ProtectHome のエラーが報告されます。

解決策は 2 つあります。1 つ目は、caddy.serviceの設定を変更することです。
2 番目の方法は、sefile データディレクトリを移動することで、この方法を強くお勧めします。

—EOF—

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。