GNU/Linux >> Linux の 問題 >  >> Linux

手動でファイルを変更せずにISPConfigとSeafileを使用する方法

SeafileISPConfigチュートリアル Seafileは、Dropbox&Boxに似たオープンソースのクラウドベースのファイルストレージシステムです。違いは、Seafileをクライアント自身のシステムにデプロイできることです。これにより、パスワードはシステムをセットアップしたクライアントと、企業のクラウドホスティング会社ではなく自分のユーザーとの間でのみ交換されるため、安全性とセキュリティの要素が向上します。

Seafileサーバーのセットアップチュートリアルがいくつかあります。 ISPConfigですが、ISPConfig開発者の推奨に従って、実際にそのままにしておく必要のあるファイルの編集の大部分を必要としなかったものはありません。このセットアップはUbuntu14.04LTSおよびISPConfig3用に作成されていますが、他の配布用にフォローすることができます。このソリューションは私には有効ですが、保証または保証は明示または黙示されていません。

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

1セットアップWebサイト

ISPConfigホスティングコントロールパネルを開き、[サイト]タブをクリックして、新しいウェブサイトを作成します。既存のウェブサイトを技術的に使用することはできますが、新しいウェブサイトを作成すると、すべてのクラウドファイルを他のサイトから分離できるため、より効果的に機能します。これは、構成を変更するためにISPConfigパネルを使用する場合にも必要です。

Webサイト構成パネルで、[オプション]タブをクリックし、[Apacheディレクティブ]セクションに次を挿入します。
Alias /media /var/www/seafile.myseafile.com/private/seafile/seafile-server-latest/seahub/media

RewriteEngine On

<Location /media>
Require all granted
</Location>

# seafile httpserver
#
ProxyPass /seafhttp http://127.0.0.1:8082
ProxyPassReverse /seafhttp http://127.0.0.1:8082
RewriteRule ^/seafhttp - [QSA,L]
#
# seahub
#
RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

また、まもなく必要になるため、このサイトのシェルユーザーを作成する必要があります。


2データベースの作成

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



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




3Seafileソフトウェアをダウンロードしてインストールします

インストールする必要のある必須パッケージがいくつかあります。 WebサイトにSSHで接続し、次のコマンドを実行します。

apt-get install python2.7 python-setuptoolspython-simplejson python-imaging python-mysqldb python-flup

すべてのサーバーをウェブディレクトリではなくプライベートディレクトリ内で実行したいので、そのように設定します。

cd private
mkdir seafile
cd seafile

wgethttps://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.6_x86-64.tar.gz
または32ビットの場合
wgethttps://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.6_i386.tar.gz

tar zxvf seafile-server_3.1.6_x86- 64.tar.gz
mkdirインストール済み
mvseafile-server_*インストール済み

cd seafile-server-*
./setup_seafile_mysql.sh

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

4初期実行

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

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

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

http://192.168.1.111:8000/

5Apacheセットアップ

Apacheのセットアップのほとんどは、実際には上記のWebサイトのセットアップ内で行われます。ただし、すべてをスムーズに機能させるには、apache.confに行を追加する必要があります。残念ながら、この1つのファイルを編集せずにこれを追加する方法は見つかりませんでした。

sudo echo"##Seafile外部サーバー">>/ etc / apache2 / apache.conf
sudo echo "FastCGIExternalServer / var / www / seafile.myDomainHere.com / web / seahub.fcgi -host127.0.0.1: 8000 ">> /etc/apache2/apache.conf

次に、/ path / to / seafile-server / ccnet/ccnet.confのSERVICE_URLを変更します
SERVICE_URL = http://www.myseafile.com
また、/ path / to / seafile-server/seahub_settings.pyのFILE_SERVER_ROOTを変更する必要があります

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

Apacheを再起動します。
sudo service apache2 restart
Seafileサービスを再起動します。

./seafile.sh start
./seahub.sh start-fastcgi

6HTTPSを有効にする

実行する必要があるのは、ISPConfigの[サイト]タブ内からSSLキーを生成することだけです。 ISPConfigのインストールと動作の方法により、他のすべてはすでにセットアップされている必要があります。ただし、Apacheが再起動されることを確認する必要がある場合があります。

7サービスを自動的に開始します

ここでの目標は、スタートアップサービスを作成するのではなく、すべてをISPConfigに含めることであるため、ユーザーのcronジョブにseafilescriptを追加します。当然、クライアントが完全なcronジョブを追加できることを確認する必要があります。 2つの異なるcronジョブを追加するようにしてください。 1つはseafile用、もう1つはseahub用です。コマンド実行セクションに次のように挿入します。

/var/www/clients/client1/web42/private/seafile/seafile-server-3.1.6/seahub shstart-fastcgi
および
/var/www/clients/client1/web42/private/seafile/seafile-server-3.1.6/seafile_start


更新(2014年11月23日):seafileおよびseahubサーバーの起動に時間がかかるため、前のスクリプトが終了する前に2番目のスクリプトが実行される場合がありました。したがって、サーバーは起動しません。 ISPConfigで正しく動作するように、originalseafile起動スクリプトを更新しました。おそらくwaitコマンドでやりすぎましたが、スクリプトはそれらを使用してうまく機能します。次のコマンドを実行する前に、theseafileユーザーとしてログインしていることを確認してください。

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

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

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

#!/ bin / bash

#「seafile_dir」の値をseafileインストールのパスに変更します
seafile_dir =/ var / www / clients / client1 / web42 / 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

#fastcgiを使用する場合はfastcgiの値をtrueに変更します
fastcgi =true
#fastcgiのポートを設定します。デフォルトは8000です。必要に応じて変更してください。
fastcgi_port =8000

##MYSQLが完全に機能する前にこのスクリプトが実行される場合
##このスクリプトがMYSQLエラーを防ぐためにスリープコマンドが必要です
sleep60&
wait%1

case "$ 1" in
start)
$ {script_path} /seafile.sh start>> $ {seafile_init_log}&
wait%1
if [$ fastcgi =true];
then
$ {script_path} / seahub.sh start-fastcgi $ {ログ}&
待つ%1

他の$ {} script_path /seahub.sh開始>> $ {} seahub_init_log&
待つ%1
Fiの
;;
restart)
$ {script_path} /seafile.sh restart>> $ {seafile_init_log}&
fast />そして
$ {} script_path /seahub.sh再起動-fastcgiの$ {} fastcgi_port>> $ {} seahub_init_log&

$ {} script_path
他%1を待ちます/ seahub.sh restart>> $ {seahub_init_log}&
$1を待つ
fi
{seafile_init_log}
$ {script_path} /seahub.sh $ 1>> $ {seahub_init_log}
;;
*)
etc "{start | stop | restart} "
exit 1
;;
esac


これで、単一のstartServer.shcronジョブをISPConfigのコマンド実行セクションに追加するだけで済みます:

/ var / www / clients / client1 / web42 / private / seafile/startSeafile。 shstart




それだけです!


Linux
  1. Awkおよび正規表現を使用してファイル内のテキストまたは文字列をフィルタリングする方法

  2. ターミナルを使用せずにPycharmをインストールして使用するにはどうすればよいですか?

  3. rm を使わずにファイルを削除するには?

  1. 名前を変更せずにファイルマネージャでファイルとフォルダを非表示にする方法

  2. UNIX / Linux:ディレクトリとファイルでスティッキー ビットを使用する方法

  3. Linux でのファイルの変更とファイルの実行を監査する方法

  1. Linuxでのファイルパスとその使用方法を理解する

  2. chroot jailとは何ですか?その使用方法は?

  3. u-Boot dtb ファイルとは何ですか? また、その使用方法 (BeagleBoard xM) を教えてください。