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

openSUSELeap42.1にNginxを使用してSeafileをインストールする方法

Seafileは、DropboxやGoogle Driveのような機能を備えた無料のファイルホスティングソフトウェアで、独自のサーバーにインストールできます。 Seafileはオープンソースライセンスの下でリリースされています。独自の安全なファイル同期を構築し、seafileとサーバーを共有できます。これは、ユーザーがサーバー上のデータを暗号化できる信頼性の高いファイル共有ソフトウェアです。 SeafileはCとPythonで記述されています。

このチュートリアルでは、openSUSELeap42.1でseafileを使用して独自のファイル同期および共有サーバーを構築する方法を示します。 seafileのインストールをガイドし、nginxリバースプロキシサーバーの背後でhttps暗号化を使用してウェブGUIを構成します。

前提条件

  • OpenSUSELeap42.1-64ビット
  • root権限
  • zypperコマンドを理解する

ステップ1-ホスト名を構成する

openSUSEサーバーにログインします:

ssh [email protected]

サーバーにログインした後、vimでhostsファイルを編集します:

vim /etc/hosts

構成を貼り付けます(IPとホスト名を独自の値に置き換えます):

192.168.1.101   cloud.kuonseafile.co    cloud

保存して終了します。

注:

192.168.1.101=サーバーのIPアドレス。

クラウド=サーバーのホスト名。

kuonseafile.co=私のドメイン名。

ホスト名とFQDN(完全修飾ドメイン名)を確認します:

hostname
hostname -f

ステップ2-依存関係をインストールする

SeafileはPythonで記述されているため、インストールにはいくつかのPythonライブラリが必要です。データベースの場合、seafileはSQLiteとMySQLをサポートしています。このチュートリアルでは、SQLiteよりも優れたパフォーマンスを提供するMySQLデータベースを使用します。

以下のzypperコマンドを使用して、MySQL/MariaDBサーバーを含むすべてのパッケージをインストールします。

zypper in python python-imaging python-MySQL-python python-setuptools mariadb mariadb-client
のzypper

インストールが完了したら、次の手順に進みます。

ステップ3-データベースの構成

seafileをデプロイするときに知っておくべきことが1つあります。 Seafileには3つのデータベースが必要です:

  1. ccnetデータベース
  2. seafileデータベース
  3. seahubデータベース

ステップ2で、MySQL / MariaDBサーバーが正常にインストールされました。次に、以下のコマンドでサーバーを起動します。

rcmysql start

mysqladminコマンドを使用してmysqlrootユーザーの新しいパスワードを設定します。

/usr/bin/mysqladmin -u root password 'aqwe123'

次に、MySQLシェルにログインし、seafile用に3つのデータベースを作成し、その3つのデータベース用に1人の新しいユーザーを作成します。

MySQLシェルにログインします:

mysql -u root -p

タイプパスワード「aqwe123」

seafileをインストールするための3つのデータベース(ccnet_db、seafile_db、seahub_db)を作成します。

create database ccnet_db character set = 'utf8';
create database seafile_db character set = 'utf8';
create database seahub_db character set = 'utf8';

そして、パスワード'[email protected]'を使用して新しいユーザーseafilecloudを作成します:

create user [email protected] identified by '[email protected]';

次に、seafilecloudユーザーにすべてのデータベースへのアクセスを許可します。

grant all privileges on ccnet_db.* to [email protected] identified by '[email protected]';
grant all privileges on seafile_db.* to [email protected] identified by '[email protected]';
grant all privileges on seahub_db.* to [email protected] identified by '[email protected]';
flush privileges;

すべてのデータベースでseafileをインストールする準備ができています。

ステップ4-Seafileのインストールと構成

このステップでは、seafileをインストールして構成します。 seafileをseafileユーザーとホームディレクトリの下にインストールするので、「seafile」という名前の新しいLinuxユーザーを作成する必要があります。

新しいユーザーを作成する

インストール用にseafileという名前の新しいユーザーを作成します:

useradd -m -s /bin/bash seafile

注:

-m=「/home/」の下にユーザーの新しいホームディレクトリを作成します。
-s/bin /bash=ユーザーのシェルを定義します。

Seafileをダウンロード

以下のsuコマンドを使用してseafileユーザーに切り替えます。

su - seafile

これで、seafileホームディレクトリに移動しました。wgetコマンドを使用してseafileサーバー5をダウンロードします。

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

seafileアーカイブを抽出し、名前を変更します:

tar -xzvf seafile-server_5.1.3_x86-64.tar.gz
mv seafile-server-5.1.3/ seafile-server

Seafile5をインストールする

seafile-serverディレクトリに移動し、セットアップファイルを実行してseafileをインストールします。

cd seafile-server/

MySQLデータベースを使用してseafileをインストールするので、セットアップファイルMySQLを実行します:

./setup-seafile-mysql.sh

次に、サーバーの詳細を尋ねられます。

サーバー名 =サーバーのホスト名を使用します。
サーバーのIPまたはドメイン =サーバーのIPアドレスを使用します。
Seafile Data direcoty =Enterキーを押すだけです。
seafileファイルサーバーのポート =Enterキーを押すだけです。

次に、データベースを構成します。インストール用に独自のデータベースを作成したので、番号 "2"を選択します 。

ここで、データベースプロファイルについて尋ねられます:

mysqlのホスト =デフォルトはlocalhostです。
デフォルトのポート =3306。
seafileのMySQLユーザー =手順3で作成したユーザー「seafilecloud」を使用します。
MySQLパスワード =seafilecloudユーザーのパスワード。
ccnetデータベース =データベースを作成しました--ccnet_db。
seafileデータベース =seafile_db。
seahubデータベース =seahub_db。

エラーが発生しなかった場合は、「Enter」を押してインストールを確認できます。

スクリプトが構成とデータベースを生成するのを待ちます。

SeafileとSeahubを起動する

Seafileがインストールされたので、以下のコマンドで開始できます:

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

seafileの管理者ユーザーを作成するように求められます。管理者のメールアドレスとパスワードを入力するだけです。

この段階で、ポート8000​​でseafileWebGUIにアクセスできます。

ステップ5-Nginxをインストールして構成する

Nginxは、メモリ使用量とCPU消費量が少ない軽量のWebサーバーです。このステップでは、nginxをインストールしてから、seafileへのリバースプロキシアクセス用の新しい仮想ホストを作成します。サーバー上の接続に対してhttpsを有効にします。

Nginxをインストール

zypperコマンドを使用してnginxウェブサーバーをインストールします:

zypper in nginx

SSL証明書を生成する

次に、nginxディレクトリに移動し、SSL証明書用の新しいディレクトリを作成します。次に、OpenSSLコマンドを使用して証明書ファイルを生成します。

mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/

次に、証明書ファイルを生成します:

openssl genrsa -out privkey.pem 4096
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095

仮想ホストの構成

nginxディレクトリに、「vhosts.d」という名前の新しいディレクトリを作成して、仮想ホストファイルを保存します。そのディレクトリを作成してから、vimを使用して新しい仮想ホストファイルを作成します:

mkdir -p /etc/nginx/vhosts.d/
cd /etc/nginx/vhosts.d/
vim cloud.kuonseafile.conf

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

    server {
        listen       80;
        server_name  cloud.kuonseafile.co;    #Domain Name
        rewrite ^ https://$http_host$request_uri? permanent;    # force redirect http to https
    }
    server {
        listen 443;
        ssl on;
        ssl_certificate /etc/nginx/ssl/cacert.pem;        # path to your cacert.pem
        ssl_certificate_key /etc/nginx/ssl/privkey.pem;    # path to your privkey.pem
        server_name cloud.kuonseafile.co;                    #Domain Name
        proxy_set_header X-Forwarded-For $remote_addr;

        add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
        server_tokens off;

        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   HTTPS               on;
            fastcgi_param   HTTP_SCHEME         https;

            access_log      /var/log/nginx/seahub.access.log;
            error_log       /var/log/nginx/seahub.error.log;
            fastcgi_read_timeout 36000;
        }
        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;
        }
        location /media {
            root /home/seafile/seafile-server/seahub;
        }
    }

server_nameを独自のドメイン名(3行目と11行目)に置き換えます。
メディアロケーションの47行目では、seafileインストールのパスに置き換えます-'/ home / seafile / seafile-server/seahub'。

>

ファイルを保存してエディターを終了し、次のコマンドを使用して構成をテストします。

nginx -t

構成に問題やエラーがないことを確認してください。

独自のドメインとHTTPSを使用するようにSeafileを構成する

ユーザーseafileに切り替えて、構成を編集します。構成を編集する前に、seafileとseahubサービスをオフにしてください。

su - seafile
cd seafile-server/
./seafile.sh stop
./seahub.sh stop

seafileユーザーのホームディレクトリに戻り、confディレクトリに移動して、ccnet.confファイルとseahub_settings.pyファイルを編集します。

cd ~/
cd conf/

ccnet.confファイルを編集します:

vim ccnet.conf

5行目:「SERVICE_URL」-ドメインを独自のドメイン名に置き換え、httpsを使用します。

SERVICE_URL = https://cloud.kuonseafile.co/

保存して終了します。

次にseahub_settings.pyを編集します

vim seahub_settings.py

以下に新しい行を追加して、ファイルサーバーのルートを定義します。

FILE_SERVER_ROOT = 'https://cloud.kuonseafile.co/seafhttp'

保存して終了します。

ステップ6-seafileとテストを開始します

Nginxがインストールされています-MariaDB/MySQLがインストールされ、seafileサーバーがインストールされています。

NginxとMySQLを起動時に開始するようにします:

systemctl enable nginx
systemctl enable mysql

サービスを再開します:

systemctl restart nginx
systemctl restart mysql

次に、seafileユーザーからseafileとseahubを起動します。

su - seafile
cd seafile-server/
./seafile start
./seahub start-fastcgi

すべてのサービスが開始されます。

これで、サーバーのURLを使用してseafileサーバーにアクセスできます。私のは:

cloud.kuonseafile.co

seafileのhttps接続ログインページにリダイレクトされます。

手順4で作成した管理者ユーザーの詳細を入力します。

これで、seafileファイルマネージャーが表示され、seafileサーバーへのファイルのアップロードを開始できます。


OpenSuse
  1. openSUSE12.1にPHP-FPMとMySQLを使用してNginxをインストールする方法

  2. OpenSUSELeap15.3にMongodb5をインストールする方法

  3. MysqlServer8をOpenSUSELeap15.3にインストールする方法

  1. OpenSUSELeap15.3にRedis6をインストールして設定する方法

  2. OpenSUSELeap15.3にErlangをインストールする方法

  3. Nginxをプロキシとしてインストールおよび設定する方法OpenSUSELeap15.3

  1. Ubuntu18.04にNginxを使用してphpMyAdminをインストールする方法

  2. OpenSUSELeap15.3にJava17をインストールする方法

  3. OpenSUSE Leap 15.3にPHPとNginx(LEMP)をインストールしてセットアップする方法