ステータス:非推奨

この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。

理由:
Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.

代わりに参照してください:このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。

序章

ファイルをホストし、チームメンバー間でコンテンツを共有することは、かなりの数の方法で実行できます。 DropBoxのようなサービスは、この目的で非常に人気があり、個人用とビジネス用の両方で、時間の経過とともに注目を集めています。

ただし、多くのユーザーは、データに対する所有権を増やすことを好みます。 会社が運営するサーバーのブラックボックスにファイルを配置する代わりに、セルフホストソリューションを設定する方が理想的な場合があります。

Seafile は、この問題に対する洗練されたソリューションの1つです。 データを複数のクライアントと同期し、組織全体でファイルを共有するための中央の場所として機能するために、VPS上にseafileサーバーをセットアップできます。

このガイドでは、Ubuntu12.04VPSインスタンスでのseafileサーバーのセットアップについて説明します。 次に、これを使用して、Webインターフェイスを介してファイルをアップロードおよび操作したり、ローカルディレクトリの同期を構成したりできます。

前提条件を構成する

始める前に、seafileを実行するために必要な依存関係のいくつかを取得する必要があります。

Seafileは、*SQLデータベースを使用してその情報の一部を格納します。 このため、UbuntuのリポジトリからMySQLをインストールします。

SQLiteは別のオプションですが、実際のデータベースほど堅牢ではないため、将来の成長に対応するために、最初からMySQLをセットアップします。 PostgreSQLも同様に機能する別のオプションですが、このガイドではこれについては説明しません。

また、いくつかのPythonライブラリを取得する必要があります。 幸い、これらはすべてデフォルトのリポジトリにあります。 パッケージキャッシュを更新して、今すぐインストールします。

sudo apt-get update
sudo apt-get install mysql-server python-imaging python-mysqldb

インストール時に、MySQLデータベースの管理者パスワードを選択するように求められます。 後で必要になるので、選択したことを忘れないでください。

サービスのインストールを開始する前に、MySQLのハウスキーピングを少し行うことができます。 まず、MySQLデータディレクトリを初期化します。

sudo mysql_install_db

次に、いくつかの設定をロックダウンするために、いくつかの質問をするセキュリティスクリプトを実行できます。

sudo mysql_secure_installation

データベースのインストール時に設定した管理者パスワードを入力するように求められます。

その後、一連の質問が表示されます。 「Enter」を押して、rootパスワードの変更に関する質問を除いて、各プロンプトでデフォルトを受け入れます。

これで、必要な依存関係がすべて揃い、インストールを続行する準備が整いました。

Seafileコンポーネントをダウンロードする

彼らのウェブサイトからseafileコンポーネントを入手します。 このリンクには、ソフトウェアのインストールに使用する必要なtarballがあります。

そのページに移動し、「サーバー」セクションが表示されるまで下にスクロールします。 「ServerforgenericLinux」の下で、ドロップレットのアーキテクチャに関連付けられているリンクを右クリックします。 「リンクアドレスをコピー」または同様のオプションが利用可能な場合をクリックします。

ドロップレットで、seafileファイルを格納するための新しいディレクトリを作成する必要があります。 構成手順の後、さらに多くのディレクトリが作成されるため、ホームディレクトリが乱雑になる可能性があります。

mkdir seafile

ディレクトリに移動し、wgetと入力してスペースを入力し、Webサイトからコピーしたリンクを貼り付けます。 私の場合、次のようになりました。

cd seafile
wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_2.1.5_x86-64.tar.gz

tarballを現在のディレクトリに抽出します。

tar xzvf seafile-server*

抽出されたディレクトリに移動します。

cd seafile-server*

Seafileサービスを構成する


プロジェクトのファイルがすべて揃ったので、簡単なスクリプトを実行してデータベースを構成し、サーバーをセットアップできます。

抽出したディレクトリで、次のように入力してセットアップスクリプトを実行します。

./setup-seafile-mysql.sh

適切な前提条件がインストールされ、利用可能であることが確認されます。 これは最初の段階ですでに処理しているので、問題なく通過するはずです。 「Enter」と入力して、スクリプトの実行を開始します。

What is the name of the server? It will be displayed on the client.
3 - 15 letters or digits
[ server name ]

まず、サーバーの名前を選択するように求められます。 これは完全に個人的な好みであり、好きな名前を付けることができます。

What is the ip or domain of the server?
For example: www.mycompany.com, 192.168.1.101
[ This server's ip or domain ]

VPSに設定したドメイン名を入力するか、指定したIPアドレスを入力します。

次の4つの質問は、さまざまなコンポーネントのデフォルトのポートと、ファイルを保存するためのデフォルトのディレクトリに関するものです。 変更する正当な理由がない場合は、「Enter」を押してデフォルト値を受け入れるのが安全です。

----------------------------------------
Now let's create the admin account
----------------------------------------

What is the email for the admin account?
[ admin email ]

最初の管理者アカウントの電子メールとパスワードを選択します。

-------------------------------------------------------
Please choose a way to initialize seafile databases:
-------------------------------------------------------

[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases

データベースを手動で設定しなかったため、新しいデータベースを作成するために1を選択します。 MySQLサーバーのホストとポートの入力を求められます。 MySQL構成ファイルで変更しない限り、デフォルトを選択します。

MySQLrootユーザーの管理者パスワードを入力します。

Enter the name for mysql user of seafile. It would be created if not exists.
[ default "root" ]

次に、seafileデータベースの管理に使用するユーザー名を選択します。 最高のセキュリティを確保するために、rootアカウントとは別の新しい名前を選択する必要があります。

ここでは使いやすさのために「seafile」を使用しますが、他の目的でまだ使用されていないものであれば何でもかまいません。 関連するパスワードも選択します。

デフォルトで問題ないはずなので、各データベースの名前について尋ねる質問にEnterキーを押します。

これで、選択内容の要約が画面に印刷されます。

---------------------------------
This is your configuration
---------------------------------

    server name:            DigitalOcean
    server ip/domain:       111.111.111.111
    ccnet port:             10001

    seafile data dir:       /home/demouser/seafile/seafile-data
    seafile port:           12001
    httpserver port:        8082

    admin email:            [email protected]
    admin password:         ******

    database:               create new
    ccnet database:         ccnet-db
    seafile database:       seafile-db
    seahub database:        seahub-db
    database user:          seafile



---------------------------------
Press ENTER to continue, or Ctrl-C to abort
---------------------------------

これが正しいと思われる場合は、「Enter」を押してください。 スクリプトが実行され、構成した変更が行われます。

Seafileサービスの開始

これでサービスが構成され、開始する準備が整いました。

まず、seafileサービスを開始します。 このデーモンは、ファイル転送とデータ共有機能を制御します。

次のように開始できます。

./seafile.sh start

その後、「seahub」デーモンも起動します。 これにより、新しいソフトウェアと対話するためのWebインターフェイスが提供されます。 次のように開始できます。

./seahub.sh start

単純なPythonWebサーバーがポート8000で起動されます。 Webブラウザーで、次のサイトにアクセスしてインターフェースにアクセスできます。

your_ip_or_domain :8000

デフォルトのログインページが表示されます。

Seafile initial login page

構成段階で選択した管理者の電子メールアドレスとパスワードを入力します。 ユーザーのメイン共有ページが表示されます。

Seafile user home

ここから、「マイライブラリ」をクリックして、サーバーへのファイルのアップロードを開始できます。

同期を設定したい場合は、モバイルを含むすべての主要なプラットフォームで利用可能なクライアントアプリケーションがあります。 ここでそれらを見つけてインストールすることができます。

結論

これで、あなたとあなたのチームのためにファイル共有機能を備えたサーバーが構成されたはずです。 seafileクライアント/サーバーモデルは、すべての人の情報を接続して利用できるようにする簡単な方法を提供します。 ユーザー間でリポジトリを簡単に転送したり、プロジェクトにチームメンバーを追加したり、プロジェクトからチームメンバーを削除したりできます。 システムを調べて、使用可能なオプションを確認してください。

ジャスティン・エリングウッド