UbuntuビルドSeafile

Seafileサーバー#をデプロイします

このドキュメントは、プリコンパイルされたインストールパッケージを介した[MySQL](https://cloud.tencent.com/product/cdb?from=10680)/ [MariaDB](https://cloud.tencent.com/product/tdsql?from=10680)に基づくSeafileサーバーのインストールと操作を説明するために使用されます。 (MariaDBはMySQLのブランチです)

ダウンロード##

[ダウンロードページ](http://www.seafile.com/download)に移動して、最新のサーバーインストールパッケージをダウンロードします。

展開とカタログの設計##

seafile-server_6.2.5_ * / home / username **ディレクトリにダウンロードします。次のようなディレクトリ構造を提案します。

mkdir seafile
mv seafile-server_* seafile
cd seafile
# Seafile-server_*seafileディレクトリに移動した後
tar -xzf seafile-server_*
mkdir installed
mv seafile-server_* installed

これで、ディレクトリは次のようになります。

# tree seafile -L 2
seafile
├── installed
│   └── seafile-server_xxxx.tar.gz
└── seafile-server-xxx
 ├── reset-admin.sh
 ├── runtime
 ├── seafile
 ├── seafile.sh
 ├── seahub
 ├── seahub.sh
 ├── setup-seafile.sh
 └── upgrade

この方法でカタログを設計する利点は

Seafileサーバーをインストールします##

インストール前の準備###

Seafileサーバーをインストールする前に、次のソフトウェアがインストールされていることを確認してください

# on Debian/Ubuntu 14.04 server
apt-get update
apt-get install python2.7 libpython2.7 python-setuptools python-imaging \
 python-ldap python-mysqldb python-memcache python-urllib3
# on Ubuntu 16.04 server
# As the default python binary on Ubuntu 16.04 server is python 3, we need to install python(python 2) first.
apt-get update
apt-get install python
apt-get install python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-urllib3 ffmpeg python-pip python-mysqldb python-memcache
pip install pillow moviepy
# on CentOS 7
yum -y install epel-release
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
yum -y install python-imaging MySQL-python python-memcached python-ldap python-urllib3 ffmpeg ffmpeg-devel
pip install pillow moviepy

インストール###

cd seafile-server-*./setup-seafile-mysql.sh  #インストールスクリプトを実行し、事前設定された質問に答えます

上記のソフトウェアのいずれかがシステムにインストールされていない場合、Seafile初期化スクリプトは、対応するソフトウェアパッケージをインストールするように通知します。

スクリプトは順番にいくつかの質問をし、Seafileのパラメータを設定するためのステップバイステップをガイドします。

パラメータ 機能 説明
seafileサーバー名 seafileサーバーの名前。現在、この構成は使用されていません 3〜15文字、英語の文字、数字、下線を使用できます
seafile serveripまたはdomain seafile serverIPアドレスまたはドメイン名 クライアントはこのIPまたはアドレスを介してSeafileサービスにアクセスします
seafile data dir seafileデータストレージディレクトリ、上記の例を使用すると、デフォルトは/ data / haiwen / seafile-data seafileデータは使用に伴って徐々に増加します。十分な空き容量のあるパーティションに配置してくださいオン
seafileファイルサーバーポート seafileファイルサーバーが使用するTCPポート このポートはファイル同期に使用されます。デフォルトの8082を使用してください。変更できません。

ここで、Seafileデータベースを作成する方法を選択するように求められます。

-------------------------------------------------------
Please choose a way to initialize seafile databases:-------------------------------------------------------[1] Create newccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases

インストールが正しく完了すると、次の出力が表示されます(新しいバージョンは異なる場合があります)

これで、ディレクトリ構造は次のようになります。

# tree seafile -L 2
seafile
├── conf                # configuration files
│   ├── ccnet.conf
│   └── seafile.conf
│   └── seahub_settings.py
│   └── seafdav.conf
├── ccnet
│   ├── mykey.peer
│   ├── PeerMgr
│   └── seafile.ini
├── installed
│   └── seafile-server_xxx.tar.gz
├── seafile-data
├── seafile-server-xxx  # active version
│   ├── reset-admin.sh
│   ├── runtime
│   ├── seafile
│   ├── seafile.sh
│   ├── seahub
│   ├── seahub.sh
│   ├── setup-seafile.sh
│   └── upgrade
├── seafile-server-latest  # symbolic link to seafile-server-xxx
├── seahub-data
│   └── avatars

seafile-server-latestフォルダーは、現在のSeafileサーバーフォルダーへのシンボリックリンクです。将来、新しいバージョンにアップグレードすると、アップグレードスクリプトが自動的に更新され、常に最新のSeafileサーバーフォルダーを指すようになります。

Seafileサーバーを起動します##

SeafileサーバーとSeahubWebサイトを起動します###

seafile-server-xxxディレクトリで、次のコマンドを実行します

. /seafile.sh start #Seafileサービスを開始します
. /seahub.sh start <port>  #Seahub Webサイトを起動します(デフォルトではポート8000で実行されます)

ヒント: seahubを初めて起動すると、 seahub.shスクリプトによってseafile管理者アカウントを作成するように求められます。

サービス開始後、ブラウザを開いて以下のアドレスを入力してください

http://192.168.1.111:8000/

ログインページにリダイレクトされます。管理者のユーザー名とパスワードを入力するだけです。

**おめでとうございます!**これでSeafileサーバーが正常にインストールされました。

別のポートでSeahubを実行する###

デフォルトのポート8000でSeahubを実行したくないが、カスタムポート(8001など)で実行したい場合は、以下の手順に従ってください。

. /seahub.sh stop #Seafileプロセスを停止します
. /seafile.sh stop #Seahubを停止します
SERVICE_URL = http://192.168.0.190:8001
. /seafile.sh start #Seafileサービスを開始します
. /seahub.sh start 8001 #Seahub Webサイトを起動します(ポート8001で実行)

SeafileとSeahubを閉じる/再起動します##

シャットダウン###

. /seahub.sh stop #Seahubを停止します
. /seafile.sh stop #Seafileプロセスを停止します

再起動###

. /seafile.sh restart #現在のSeafileプロセスを停止してから、Seafileを再起動します
. /seahub.sh restart  #現在のSeahubプロセスを停止し、ポート8000でSeahubを再起動します

停止/再起動スクリプトの実行に失敗した場合###

ほとんどの場合、seafile.shseahub.shスクリプトは正常に機能します。問題が発生した場合:

pgrep -f seafile-controller #Seafileプロセスを表示する
pgrep -f "seahub" #Seahubプロセスを表示
pkill -f seafile-controller #Seafileプロセスを終了します
pkill -f "seahub" #Seafileプロセスを終了します

Seafileその他の関連情報##

最初から起動###

crontabの@rebootを使用して、起動を自動的に設定します。 crontab -eは編集ページに入り、次を追加します。

@ reboot /home/username/seafile/seafile-server-latest/seafile.sh start &&/home/username/seafile/seafile-server-latest/seahub.sh start 8001

毎日データベースを自動的にバックアップします###

バックアップスクリプトは、次の内容の / home / username / seafile / backupフォルダーにあります。

#! /bin/bash
user={データベースのユーザー名}
pass={パスワード}
datetime=`date +"%Y-%m-%d-%H-%M-%S"`
mysqldump -u $user -p$pass --opt ccnet-db >/home/username/seafile/backup/databases/ccnet/ccnet-db.sql.$datetime
mysqldump -u $user -p$pass --opt seafile-db >/home/username/seafile/backup/databases/seafile/seafile-db.sql.$datetime
mysqldump -u $user -p$pass --opt seahub-db >/home/username/seafile/backup/databases/seahub/seahub-db.sql.$datetime

crontabでスケジュールされたタスクを設定して、データベースを毎日自動的にバックアップします。

01*** bash /home/username/seafile/backup/databases/seafile_backup.sh 2>&1&

バックアップデータベースを復元する###

異なるライブラリのバックアップデータを格納するために、 / home / username / seafile / backup / databasesフォルダの下に3つのフォルダ ccnetseafile、および seahubがあり、3つのデータベースデータを順番に復元する必要があります。

mysql -u[username]-p[password] ccnet-db < ccnet-db.sql.2013-10-19-16-00-05
mysql -u[username]-p[password] seafile-db < seafile-db.sql.2013-10-19-16-00-20
mysql -u[username]-p[password] seahub-db < seahub-db.sql.2013-10-19-16-01-05

Nginxリバースプロキシ外部ネットワークアクセス###

まず、パブリックIPを備えたサーバーが必要です。次に、OpenV **を使用してV **ネットワークを構築し、IP: 10.8.0.190を内部ネットワークマシンに割り当てます。詳細なメソッドリファレンス:[Ubuntuはイントラネットの浸透を実現するためにOpenV をセットアップします](http://woodenrobot.me/2018/08/11/Ubuntu-%E6%9E%B6%E8%AE%BE-OpenV-%E5%AE%9E%E7%8E%B0%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/)

  1. 次のNginx構成を追加して、Seafileが配置されているマシンのリバースプロキシに追加します。これにより、イントラネットから192.168.0.190にアクセスしてSeafileホームページにアクセスできます。
server {
 listen 80;
 server_name 192.168.0.19010.8.0.190 seafile.xxx.xxx;
 location /{
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_pass http://192.168.0.190:8001;
  proxy_redirect default;}}
  1. パブリックIPを備えたマシンに次のNginx構成を追加します。
server {
 listen 80;
 server_name seafile.xxxx.xxx;
 location /{
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_pass http://10.8.0.190;}}
server {
 listen 8082;
 server_name seafile.xxx.xxx;
 location /{
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_pass http://10.8.0.190:8082;
  proxy_redirect default;}}

イントラネットに移動するためのドメイン名イントラネットアクセス###

  1. まず、Padavanの古いMaoziルーターシステムを使用する必要があります。
  2. ルーターのバックグラウンドを入力し、「内部ネットワーク(LAN)-DHCPサーバー」を開きます。
  3. ルーターホストルールを追加し、ルーターDNSアドレスを設定し、クリックしてこのページの設定を適用します:1192.168.0.190 seafile.xxx.xxx
  4. Ad Blocking Function-Adbybyと入力し、Adbyby機能を有効にして、リダイレクトDNSを有効にします。リダイレクトアドレスは、 192.168.0.1に設定されます。

アバター変更のバグを修正しました。アバター変更のインターフェースでエラーが報告され、ホームページを開くことができませんでした。修復方法:最初にlibjpeg8-devをインストールします。

$ sudo apt install libjpeg8-dev 

次に、pythonPillowライブラリを最新バージョンに更新します

sudo pip install Pillow

Recommended Posts

UbuntuビルドSeafile
Ubuntu 18.04 LTSLAMPビルド
[Linux] Sambaサーバーのビルド(ubuntu16.04)
ubuntu16.04ビルドvimとpyt
ubuntu16.04ビルドpptpdV **サーバー
Ubuntu12.04クロスコンパイルサーバーを構築する
ubuntu1804は最新のSuricataを構築します
ubuntuビルドpython開発環境
Ubuntu16.04ビルドGitLabサーバーチュートリアル
Ubuntu18.04.1ビルドJava環境とHelloWorld
詳細なubuntu14.04ビルド(移行)hustojレコード
ubuntuでNginx-RTMPライブサーバーを構築する
Ubuntu16.04ビルドphp5.6Webサーバー環境
ubuntuでファイルサーバーを構築する
ubuntuに基づいてDiscuzフォーラムを構築する
Ubuntu16.04ビルドLAMP開発環境
ubuntu16.04でnfsサービスを構築する方法
[Linux]純粋なubuntuはパゴダパネルをすばやく構築します
ubuntuでC ++コンパイル環境を構築する
ubuntu20.04でLNMP環境を構築する手順
Ubuntuでアーム仮想オペレーティング環境を構築する
Ubuntuソフトウェア
Linux(ubuntu 12.04)
Ubuntuでpython開発環境を構築する
Minecraft Bedrock Editionサーバーを構築する(Ubuntu)
Jenkinsを使用してUbuntuで自動的にビルドする方法
クラウドノートを作成するには、Ubuntu18にLeanoteをインストールします