ウェブサイト検索

Ubuntu 16.04 (Xenial Xerus) に Seafile をインストールする方法


このチュートリアルは、これらの OS バージョン用に存在します

  • Ubuntu 15.04 (ビビッド ベルベット)

このページでは

  1. 前提条件
  2. Seafile のインストール
    1. ステップ 1 - 必要な依存関係をインストールする
    2. ステップ 2 - 新しい \seafile\ ユーザーを作成する
    3. ステップ 3 - Seafile アーカイブをダウンロードして解凍する
    4. ステップ 4 - データベースを作成する
    5. ステップ 5 - Seafile をインストールする
    6. ステップ 6 - Seafile および Seahub サービス ファイルを構成する
    7. ステップ 7 - Nginx をリバース プロキシとしてインストールして構成する
    8. ステップ 8 - Web ブラウザを使用したテスト

    Seafile は、Dropbox、mega.co.nz などのプライベート クラウドです。 Seafile は python に基づいており、オープン ソースであるため、独自のプライベート クラウドを作成でき、より安全になります。

    Seafile は、データをより安全にする暗号化ライブラリをサポートしています。ライブラリ内のファイルを暗号化するには、ライブラリの作成時にパスワードを設定する必要があります。パスワードは Seafile クラウドに保存されません。そのため、サーバーの管理者でさえ、パスワードがないと暗号化されたデータを表示できません。

    このチュートリアルでは、Ubuntu 16.04 に Seafile をインストールする方法を示します。

    前提条件

    • 2 GB の RAM を搭載したサーバー
    • Ubuntu 16.04 64 ビット

    Seafile のインストール

    ステップ 1 - 必要な依存関係をインストールする

    インストールを実行するには、seafile にいくつかの依存関係が必要です。

    • openjdk-8jre
    • LibreOffice
    • ポプラーユーティリティ
    • mysql サーバー
    • Python-pip など。

    apt-get install openjdk-8-jre poppler-utils libreoffice libreoffice-script-provider-python libpython2.7 python-pip mysql-server python-setuptools python-imaging python-mysqldb python-memcache ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy python-pip

    pip で boto をインストールします。

    pip install boto

    ロケール設定に関するエラーがある場合は、以下のすべてのコマンドを実行します。

    export LANGUAGE=en_US.UTF-8
    export LANG=en_US.UTF-8
    export LC_ALL=en_US.UTF-8
    locale-gen en_US.UTF-8
    dpkg-reconfigure locales

    ステップ 2 - 新しい「seafile」ユーザーを作成する

    このステップでは、seafile インストール用の新しいユーザーを作成します。このユーザーとして seafile サーバーを実行します。

    インストール用の新しい seafile ユーザーを作成します。

    useradd -m -s /bin/bash seafile
    passwd seafile

    ステップ 3 - Seafile アーカイブをダウンロードして解凍する

    Seafile は公式サイトからダウンロードできますので、必要に応じてダウンロードしてください。ここでは、Ubuntu 15.04 64 ビットを使用します。

    wget で Seafile アーカイブをダウンロードします。

    su - seafile
    wget wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_5.1.4_x86-64.tar.gz

    seafile-server_5.1.4_x86-64.tar.gz を抽出し、ディレクトリの名前を seafile-server に変更します。

    tar -xzf seafile-server_5.1.4_x86-64.tar.gz
    mv seafile-server-5.1.4/ seafile-server/

    したがって、seafile インストールのディレクトリは、seafile ユーザーのホーム ディレクトリにあります。

    ステップ 4 - データベースを作成する

    Seafile には 3 つのデータベースが必要です。

    1. ccnet サーバー
    2. シーファイル サーバー
    3. シーハブ

    \exit\ で root ユーザーに戻り、mysql サーバーにログインします。

    1 人のユーザーで 3 つのデータベースを作成し、そのユーザーをすべてのデータベースに付与します。

    #Login to mysql
    mysql -u root -p
        
    #Create database
    create database ccnet_db character set = 'utf8';
    create database seafile_db character set = 'utf8';
    create database seahub_db character set = 'utf8';

    #Create user
    create user identified by 'yourpassword';
    flush privileges;

    ステップ 5 - Seafile をインストールする

    seafile ユーザーにログインし、インストール ディレクトリ seafile-server/ に移動して、setup-seafile-mysql.sh ファイルを実行します。

    su - seafile
    cd seafile-server/
    ./setup-seafile-mysql.sh

    Enter キーを押すだけで、次の質問が表示されます。

    • サーバー名 - seafile-server を使用します。
    • ドメイン/IP - cloud.mydomain.co.
    • Seafile データ ディレクトリ - デフォルトのデータ ディレクトリ
    • Seafile サーバーのポート構成。

    次に、データベースのセットアップを求められます。手順 4 ですべてのデータベースが作成されているため、番号 2 を選択できます。

    シーファイルがインストールされています。 seafile と seahub サーバーを起動します。

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

    seafile 管理者の電子メールとパスワードの管理者の電子メールとパスワードについて尋ねられます。

    admin ユーザーが作成されている場合。ここで seafile を停止します。次に、seafile サーバー用のサービス ファイルを作成します。

    ./seafile.sh stop
    ./seahub.sh stop

    ステップ 6 - Seafile および Seahub サービス ファイルを構成する

    次に、seafile および seahub サービスを構成します。 seafile および seahub サーバー用の新しいサービス ファイルを作成します。

    root ユーザーとして /lib/systemd/system/ ディレクトリに移動し、vim エディターで新しい seafile サービス ファイル seafile-server.service を作成します。

    cd /lib/systemd/system/
    vim seafile.service

    以下に seafile サービス構成を貼り付けます。

    [Unit]
    Description=Seafile Server
    After=network.target mariadb.service

    [Service]
    Type=oneshot
    ExecStart=/home/seafile/seafile-server/seafile.sh start
    ExecStop=/home/seafile/seafile-server/seafile.sh stop
    RemainAfterExit=yes
    User=seafile
    Group=seafile

    [Install]
    WantedBy=multi-user.target

    保存して終了。

    新しい seahub サービス ファイル seahub.service を作成します。

    vim seahub.service

    以下に構成を貼り付けます。

    [Unit]
    Description=Seafile Hub
    After=network.target seafile.target

    [Service]
    Type=oneshot
    ExecStart=/home/seafile/seafile-server/seahub.sh start-fastcgi
    ExecStop=/home/seafile/seafile-server/seahub.sh stop
    RemainAfterExit=yes
    User=seafile
    Group=seafile

    [Install]
    WantedBy=multi-user.target

    保存して終了。

    systemd サービスをリロードし、seafile と seahub を開始します。

    systemctl daemon-reload
    systemctl start seafile
    systemctl start seahub

    エラーがないことを確認し、サービス ポートをチェックして seafile と seahub サーバーが実行されていることを確認します。

    netstat -plntu

    seafile ポート 8082 と seahub ポート 8000 が表示されます。

    ステップ 7 - Nginx をリバース プロキシとしてインストールして構成する

    このステップでは、Ubuntu リポジトリから nginx をインストールし、ポート 8000 と 8002 で seafile-server のリバース プロキシ サーバーとして構成します。

    次の apt-get コマンドで nginx をインストールします。

    apt-get install nginx -y

    インストールが完了したら、nginx 仮想ホスト ディレクトリに移動し、vim を使用して新しい仮想ホスト ファイル cloud.mydomain.conf を作成します。

    cd /etc/nginx/sites-available/
    vim cloud.mydomain.conf

    以下に仮想ホスト構成を貼り付けます。

    server {
        listen 80;
        server_name cloud.mydomain.co;

        proxy_set_header X-Forwarded-For $remote_addr;
        # Reverse proxy for seafile
        location / {
            fastcgi_pass    127.0.0.1:8000;
            fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;
            fastcgi_param   PATH_INFO           $fastcgi_script_name;

            fastcgi_param    SERVER_PROTOCOL        $server_protocol;
            fastcgi_param   QUERY_STRING        $query_string;
            fastcgi_param   REQUEST_METHOD      $request_method;
            fastcgi_param   CONTENT_TYPE        $content_type;
            fastcgi_param   CONTENT_LENGTH      $content_length;
            fastcgi_param    SERVER_ADDR         $server_addr;
            fastcgi_param    SERVER_PORT         $server_port;
            fastcgi_param    SERVER_NAME         $server_name;
            fastcgi_param   REMOTE_ADDR         $remote_addr;

            access_log      /var/log/nginx/seahub.access.log;
            error_log       /var/log/nginx/seahub.error.log;
            fastcgi_read_timeout 36000;
        }
        # Reverse Proxy for seahub
        location /seafhttp {
            rewrite ^/seafhttp(.*)$ $1 break;
            proxy_pass http://127.0.0.1:8082;
            client_max_body_size 0;
            proxy_connect_timeout  36000s;
            proxy_read_timeout  36000s;
            proxy_send_timeout  36000s;
            send_timeout  36000s;
        }
        #CHANGE THIS PATH WITH YOUR OWN DIRECTORY
        location /media {
            root /home/seafile/seafile-server/seahub;
        }
    }

    保存して終了。

    ドメイン名として cloud.mydomain.co を使用します。

    次に、サイト対応ディレクトリへのリンクを作成して新しい仮想ホストを有効にし、nginx を再起動します。

    新しい仮想ホストを有効にします。

    ln -s /etc/nginx/sites-available/cloud.mydomain.co

    nginx ウェブサーバーをテストして再起動します。

    nginx -t
    systemctl restart nginx

    ステップ 8 - Web ブラウザでのテスト

    ブラウザー cloud.mydomain.co を開き、管理者アカウントでログインしてみてください。

    Seafile 管理ダッシュボード:

    結論

    今日では多種多様なクラウド アプリケーションが存在するため、Seafile は今日の使用に適したプライベート クラウド ソリューションです。ライブラリ/フォルダーの暗号化機能を使用すると、データをより安全にすることができます。また、構成が簡単で、サーバーへの実装が簡単になります。

    リンク

    • シーファイル

関連記事: