インストールガイド · 1 min read · Nov 10, 2025

ISPConfig 3.1内にSeafile 6.3.2をインストールする

Seafileは、DropboxやBoxに似たオープンソースのクラウドベースのファイルストレージシステムです。違いは、Seafileがクライアント自身のシステムにデプロイできることです。これにより、パスワードはシステムを設定したクライアントとそのユーザー間でのみ交換され、企業のクラウドホスティング会社よりも安全性が高まります。

ISPConfig用のSeafileサーバー設定チュートリアルはいくつかありますが、ISPConfig開発者の推奨に従って本来は触れないべきファイルの大部分を編集する必要がないものはありません。このセットアップはUbuntu 18.04 LTSとISPConfig 3用に書かれていますが、他のディストリビューションでも従うことができます。このソリューションは私には機能しますが、保証や保証は明示的にも暗示的にもされていません。

読者はMySQLとApache(およびhttps)を使用してSeafileをデプロイしたいと考えていると仮定します。また、これはISPConfigのチュートリアルではないため、ISPConfigを機能的に使用できることも仮定します。

1 ウェブサイトのセットアップ

ISPConfigホスティングコントロールパネルを開き、サイトタブをクリックして新しいウェブサイトを作成します。Auto-Subdomain、SSL、Let’s Encrypt SSL、PHPのFast-CGIにはNoneを選択することを確認してください。既存のウェブサイトを技術的に使用することはできますが、新しいものを作成する方が、すべてのクラウドファイルを他のサイトから分離しておくことができるため、より良いです。これは、ISPConfigパネルを使用して設定変更を行うためにも必要です。

ウェブサイトの設定パネルで、オプションタブをクリックし、Apacheディレクティブセクションに以下を挿入します:

Alias /media /var/www/seafile.myseafile.com/private/seafile/seafile-server-latest/seahub/media  
  
RewriteEngine On  
  
  
Require all granted  
  
  
# seafile httpserver  
#  
ProxyPass /seafhttp http://127.0.0.1:8082  
ProxyPassReverse /seafhttp http://127.0.0.1:8082  
RewriteRule ^/seafhttp - [QSA,L]  
#  
# seahub
#
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/

Nginxディレクティブ
このサイトのためにシェルユーザーも作成する必要があります。これはすぐに必要になります。

SSHユーザー

2 データベースの作成

ISPConfigのサイトパネルから、データベースユーザーを選択し、新しいユーザーを追加します。そのクライアントのseafileデータベースを管理する単一のユーザーを作成します。

データベースユーザー

データベースユーザーが作成されたら、データベースをクリックし、新しいデータベースを追加します。3つの別々のデータベースを追加する必要があります:ccnetdb、seafiledb、seahubdb

最初のデータベース

データベース

3つ目のデータベース

3 Seafileソフトウェアのダウンロードとインストール

インストールする必要があるいくつかの必須パッケージがあります。ソフトウェアをインストールするのに十分な権限を持つユーザーでサーバーにSSH接続します。

apt-get install python2.7 python-setuptools python-simplejson python-pil python-mysqldb python-flup

私はすべてのサーバーをウェブディレクトリではなくプライベートディレクトリ内で実行することを好むので、そのようにセットアップします。上記で作成したユーザー名でサーバーにSSH接続します。

cd private  
mkdir seafile  
cd seafile  
   
wget https://download.seadrive.org/seafile-server_6.3.2_x86-64.tar.gz  
    or for 32bit  
wget https://download.seadrive.org/seafile-server_6.2.5_i386.tar.gz  
   
tar zxvf seafile-server_6.3.2_x86-64.tar.gz  
mkdir installed  
mv seafile-server_* installed  
   
cd seafile-server-*  
./setup-seafile-mysql.sh

この時点で、システムとインストールに関連するプロンプトされた質問に答える必要があります。「Seafileデータベースを初期化する方法を選択してください」というセクションに到達したら、2を選択し、ISPConfigの設定からデータベース情報を入力する必要があります。

4 初回実行

Seafileを起動して、初期設定が機能していることを確認する時が来ました。

./seafile.sh start  
./seahub.sh start

サービスを起動した後、ウェブブラウザを開き、上記で作成したウェブサイトのアドレスにポート8000で移動します。

http://192.168.1.111:8000/

5 Apacheの設定

次に、/path/to/seafile-server/ccnet/ccnet.confのSERVICE_URLを変更します。

SERVICE_URL = https://www.myseafile.com

また、/path/to/seafile-server/seahub_settings.pyのFILE_SERVER_ROOTも変更する必要があります。

FILE_SERVER_ROOT = 'https://www.myseafile.com/seafhttp'

Apacheを再起動します。

sudo service apache2 restart

Seafileサービスを再起動します。

./seafile.sh start  
./seahub.sh start

6 サービスを自動的に開始

ここでの目標は、ISPConfig内にすべてを保持することなので、スタートアップサービスを作成するのではなく、seafileスクリプトをユーザーのcronジョブに追加します。もちろん、クライアントが完全なcronジョブを追加できることを確認する必要があります。

スタートアップファイルを作成します:

cd ~/private/seafile  
touch startSeafile.sh  
chmod +x startSeafile.sh

startSeafile.shスクリプトに以下のコードを貼り付けます:

#!/bin/bash  
   
# "seafile_dir"の値をseafileインストールのパスに変更してください  
seafile_dir=/var/www/clients/client1/web2/private/seafile  
script_path=${seafile_dir}/seafile-server-latest  
seafile_init_log=${seafile_dir}/logs/seafile.init.log  
seahub_init_log=${seafile_dir}/logs/seahub.init.log  
   
## MYSQLが完全に動作する前にこのスクリプトが実行されるとMYSQLエラーを防ぐために、スリープコマンドが必要です  
sleep 60 &  
wait %1  
   
case "$1" in  
start)  
${script_path}/seafile.sh start >> ${seafile_init_log} &  
wait %1  
${script_path}/seahub.sh start >> ${seahub_init_log} &  
wait %1  
;;  
restart)  
${script_path}/seafile.sh restart >> ${seafile_init_log} &  
wait %1  
${script_path}/seahub.sh restart >> ${seahub_init_log} &  
wait %1  
;;  
stop)  
${script_path}/seafile.sh $1 >> ${seafile_init_log} &  
${script_path}/seahub.sh $1 >> ${seahub_init_log}  
;;  
*)  
echo "Usage: /etc/init.d/seafile {start|stop|restart}"  
exit 1  
;;  
esac

cronファイルが正しく書き込まれることを確認するために、いくつかのことを確認する必要があります。クライアント -> [あなたのクライアント] -> 制限をクリックします。Cronジョブの制限が完全なCronで、実行間の遅延が0に設定されていることを確認してください。その後、ISPConfigのコマンドを実行するセクションに単一のstartServer.sh cronジョブを追加するだけで済みます。

/var/www/clients/client1/web42/private/seafile/startSeafile.sh start

Cronジョブ

これで完了です!

リンク

  • ISPConfig
  • Seafile
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。