SeafileをインストールしてUbuntuでファイルを同期および共有する方法


Seafileは、ファイルの同期と共有のためのオープンソースの小さくて安全なクラウドストレージソリューションであり、C(コア)とPythonを使用して構築されています。ファイルの暗号化とグループ共有、ファイルのライブラリへの編成を特徴とし、ライブラリはパスワードを使用して暗号化および保護できます。

信頼性が高く効率的なファイル同期により、Seafileサーバーの大容量ストレージでローカルディスクスペースを拡張します。すべてのファイルは、中央サーバーに同期する前に暗号化されます。 Sefilesは、AD/LDAP統合、グループ同期、部門階層、知識管理、きめ細かい権限制御などのエンタープライズ機能もサポートします。

推奨読書:CentOS8でファイルを同期および共有するためにSeafileをインストールする方法

このガイドでは、Seafileをプライベートクラウドストレージサーバーとしてデプロイし、Nginxをリバースプロキシサービスとして、MariaDBデータベースサーバーをUbuntuサーバーにデプロイする手順について説明します。

2コア、2GB以上のRAM、1GB以上のスワップ、およびSeafileデータ用の100GB以上のストレージスペースを備えた新しいUbuntuサーバー。

UbuntuへのSeafileサーバーのインストール

1. UbuntuでSeafileをセットアップする最も簡単で推奨される方法は、自動インストールスクリプトを使用することです。まず、SSH経由でUbuntuサーバーに接続し、コマンドプロンプトで次のwgetコマンドを実行して、自動インストーラースクリプトをダウンロードし、root権限で実行します。

$ wget --no-check-certificate https://raw.githubusercontent.com/haiwen/seafile-server-installer/master/seafile-7.1_ubuntu
$ sudo sudo bash seafile-7.1_ubuntu 7.1.0

2.次に、インストーラーは、インストールするSeafileのエディションを選択するように要求し、Community Edition(CE)に 1 と入力して、Enterをクリックします。

3.インストールが完了すると、インストーラーは次のスクリーンショットに示すようにプロセスのレポートを作成します。レポートは、Seafileインストールディレクトリにも保存されます。

4.デフォルトでは、Seafileパッケージは/opt/seafile にインストールされます。ディレクトリの内容を表示するには、lsコマンドを使用します。

# cd /opt/seafile/
# ls -lA

seafileのコアコンポーネントは次のとおりです。

  • Seafile server (seaf-server) – the main data service daemon which listens on port 8082 by default. It handles raw file upload, download and syncing.
  • Ccnet server (ccnet-server) – the RPC (remote procedure call) service daemon designed to enable internal communication among multiple components.
  • Seahub (django) – the web front-end that is served by a light-weight Python HTTP server using gunicorn. By default, Seahub runs as an application within gunicorn.

5.インストール中に、インストーラーはNginx、Mariadb、Seafile-serverなどのさまざまなサービスをセットアップします。次のsystemctlコマンドを使用して、サービスが稼働しているかどうかを確認できます。必要に応じてそれらを管理するには、ステータスを停止、開始、再起動に置き換え、有効にして特定のサービスに対応するアクションを適用します。

$ sudo systemctl status nginx
$ sudo systemctl status mariadb
$ sudo systemctl status seafile-server

6.また、デフォルトでは、インストーラーはドメイン名 seafile.example.com を使用してアクセスされるようにseahubを構成します。ドメイン名は、/ etc/nginx/sites-available /seafile.conf構成ファイルで設定できます。

$ sudo nano /etc/nginx/sites-available/seafile.conf

次の行を探します。

server_name seafile.tecmint.lan;

次のように変更します。

server_name seafile.yourdomainname.com;

7.次に、Nginxサービスを再起動して、最近の変更を適用します。

$ sudo systemctl restart nginx

8.サーバーでUFWファイアウォールサービスを有効にしている場合は、ファイアウォールでポート80と443を開いて、NginxサーバーへのHTTPおよびHTTPSリクエストを許可する必要があります。

$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw reload

9.これで、seafileサーバーが稼働しているので、Seahubにアクセスして作業を開始できます。 Webブラウザーを開き、次のURLを使用してナビゲートします(SeafileのNginx構成ファイルで構成したドメイン名を使用することを忘れないでください)。

http://seafile.tecmint.lan

10.ログインページが読み込まれたら、管理者ユーザーのメールアドレスとパスワードを使用してログインします。それらを取得するには、seafileインストールログファイルを確認してください。

$ sudo cat /opt/seafile/aio_seafile-server.log

11.ここで、管理者の電子メールアドレスとパスワードを入力し、[ログイン]をクリックします。

12.次のスクリーンショットは、SeafileサーバーのWeb管理インターフェースを示しています。次に、デフォルトの管理者パスワードの変更と設定のカスタマイズに進みます。ライブラリを作成、暗号化、共有します。デバイスをリンクし、ユーザーを追加またはインポートするなど。

SeafileサーバーでNginxのHTTPSを有効にするには、このガイドを参照してください:UbuntuでLet’sEncryptを使用してNginxを保護する方法

これで、Ubuntuサーバー上にNginxとMariaDBを使用してSeafileサーバーをセットアップできました。詳細については、Seafileのドキュメントを参照してください。以下のコメントフォームを使用してフィードバックをお寄せください。