この記事を読み終えたら、以下のソフトウェアのインストールが完了するはずです:
- 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 インストールファイルのダウンロード#
- ダウンロードリンク:Community Edition
- ダウンロードリンク:Professional Edition
アカウント登録が必要です。Professional Edition では、ライセンスファイルがない場合でも、3 つのアカウントを永久に試用することができます。
違いは以下の通りです。興味がある方はご覧ください。
デプロイとディレクトリの設計#
注:ここでダウンロードしたファイル名は 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
以下は公式の説明です:
このディレクトリの設計の利点
- seafile に関連する設定ファイルを
/data/fun2ex
ディレクトリにまとめて配置できるため、管理が容易です。- 後でアップグレードする場合、最新のインストールパッケージを
/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
- ここで使用しているディレクトリが
/root/fun2ex/seafile-server-lates/seahub/media
の場合、caddy
の再起動時に権限がないというエラーが発生します。 /home/someuser/fun2ex/seafile-server-lates/seahub/media
のディレクトリを使用する場合、caddy
の再起動時にProtectHome
のエラーが報告されます。
解決策は 2 つあります。1 つ目は、caddy.service
の設定を変更することです。
2 番目の方法は、sefile データディレクトリを移動することで、この方法を強くお勧めします。
—EOF—