部署 Seafile 服務(wù)器(使用 MySQL/MariaDB)

2018-11-11 12:02 更新

本文檔用來(lái)說(shuō)明通過(guò)預(yù)編譯好的安裝包來(lái)安裝并運(yùn)行基于 MySQL/MariaDB 的 Seafile 服務(wù)器。(MariaDB 是 MySQL 的分支)

下載

下載頁(yè)面下載最新的服務(wù)器安裝包.

部署和目錄設(shè)計(jì)

假設(shè)你公司的名稱為 haiwen, 你也已經(jīng)下載 seafile-server_1.4.0_* 到你的 home 目錄下。 我們建議這樣的目錄結(jié)構(gòu):

mkdir haiwen
mv seafile-server_* haiwen
cd haiwen
#將 seafile-server_* 移動(dòng)到 haiwen 目錄下后
tar -xzf seafile-server_*
mkdir installed
mv seafile-server_* installed

現(xiàn)在,你的目錄看起來(lái)應(yīng)該像這樣:

#tree haiwen -L 2
haiwen
├── installed
│   └── seafile-server_1.8.2_x86-64.tar.gz
└── seafile-server-1.8.2
    ├── reset-admin.sh
    ├── runtime
    ├── seafile
    ├── seafile.sh
    ├── seahub
    ├── seahub.sh
    ├── setup-seafile.sh
    └── upgrade

這樣設(shè)計(jì)目錄的好處在于

  • 和 seafile 相關(guān)的配置文件都可以放在 haiwen 目錄下,便于集中管理.
  • 后續(xù)升級(jí)時(shí),你只需要解壓最新的安裝包到 haiwen 目錄下.

安裝 Seafile 服務(wù)器

安裝前的準(zhǔn)備工作

安裝 Seafile 服務(wù)器之前,請(qǐng)確認(rèn)已安裝以下軟件

  • MariaDB 服務(wù)器 (MariaDB 是 MySQL 的分支)
  • python 2.7 (從 Seafile 5.1 開始,python 版本最低要求為2.7)
  • python-setuptools
  • python-imaging
  • python-mysqldb
  • python-ldap
  • python-urllib3
  • python-memcache (或者 python-memcached)
# 在Debian/Ubuntu系統(tǒng)下
apt-get update
apt-get install mariadb-server
apt-get install python2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache python-urllib3
# 在 CentOS 7 下
yum install mariadb-server
yum install python-setuptools python-imaging python-ldap MySQL-python python-memcached python-urllib3

安裝

cd seafile-server-*
./setup-seafile-mysql.sh  #運(yùn)行安裝腳本并回答預(yù)設(shè)問(wèn)題

如果你的系統(tǒng)中沒(méi)有安裝上面的某個(gè)軟件,那么 Seafile初始化腳本會(huì)提醒你安裝相應(yīng)的軟件包.

該腳本會(huì)依次詢問(wèn)你一些問(wèn)題,從而一步步引導(dǎo)你配置 Seafile 的各項(xiàng)參數(shù):

參數(shù)作用說(shuō)明

seafile server name

seafile 服務(wù)器的名字,目前該配置已經(jīng)不再使用

3 ~ 15 個(gè)字符,可以用英文字母,數(shù)字,下劃線

seafile server ip or domain

seafile 服務(wù)器的 IP 地址或者域名

客戶端將通過(guò)這個(gè) IP 或者地址來(lái)訪問(wèn)你的 Seafile 服務(wù)

seafile data dir

seafile 數(shù)據(jù)存放的目錄,用上面的例子,默認(rèn)將是 /data/haiwen/seafile-data

seafile 數(shù)據(jù)將隨著使用而逐漸增加,請(qǐng)把它放在一個(gè)有足夠大空閑空間的分區(qū)上

seafile fileserver port

seafile fileserver 使用的 TCP 端口

該端口用于文件同步,請(qǐng)使用默認(rèn)的 8082,不能更改。

在這里, 你會(huì)被要求選擇一種創(chuàng)建 Seafile 數(shù)據(jù)庫(kù)的方式:

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

[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases
  • 如果選擇1, 你需要提供根密碼. 腳本程序會(huì)創(chuàng)建數(shù)據(jù)庫(kù)和用戶。
  • 如果選擇2, ccnet/seafile/seahub 數(shù)據(jù)庫(kù)應(yīng)該已經(jīng)被你(或者其他人)提前創(chuàng)建。

如果安裝正確完成,你會(huì)看到下面這樣的輸出 (新版本可能會(huì)有所不同)

server-setup-succesfully

現(xiàn)在你的目錄結(jié)構(gòu)看起來(lái)應(yīng)該是這樣:

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

seafile-server-latest文件夾為指向當(dāng)前 Seafile 服務(wù)器文件夾的符號(hào)鏈接. 將來(lái)你升級(jí)到新版本后, 升級(jí)腳本會(huì)自動(dòng)更新使其始終指向最新的 Seafile 服務(wù)器文件夾.

啟動(dòng) Seafile 服務(wù)器

啟動(dòng) Seafile 服務(wù)器和 Seahub 網(wǎng)站

在 seafile-server-1.8.2 目錄下,運(yùn)行如下命令

  • 啟動(dòng) Seafile:
./seafile.sh start # 啟動(dòng) Seafile 服務(wù)
  • 啟動(dòng) Seahub
./seahub.sh start <port>  # 啟動(dòng) Seahub 網(wǎng)站 (默認(rèn)運(yùn)行在8000端口上)

小貼士: 你第一次啟動(dòng) seahub 時(shí),seahub.sh 腳本會(huì)提示你創(chuàng)建一個(gè) seafile 管理員帳號(hào)。

服務(wù)啟動(dòng)后, 打開瀏覽器并輸入以下地址

http://192.168.1.111:8000/

你會(huì)被重定向到登陸頁(yè)面. 輸入管理員用戶名和密碼即可。

恭喜! 現(xiàn)在你已經(jīng)成功的安裝了 Seafile 服務(wù)器.

在另一端口上運(yùn)行 Seahub

如果你不想在默認(rèn)的 8000 端口上運(yùn)行 Seahub, 而是想自定義端口(比如8001)中運(yùn)行,請(qǐng)按以下步驟操作:

  • 關(guān)閉 Seafile 服務(wù)器
./seahub.sh stop # 停止 Seafile 進(jìn)程
./seafile.sh stop # 停止 Seahub
  • 更改haiwen/conf/ccnet.conf文件中SERVICE_URL 的值(假設(shè)你的 ip 或者域名時(shí)192.168.1.100), 如下 (從 5.0 版本開始,可以直接在管理員界面中設(shè)置。注意,如果同時(shí)在 Web 界面和配置文件中設(shè)置了這個(gè)值,以 Web 界面的配置為準(zhǔn)。):
SERVICE_URL = http://192.168.1.100:8001
  • 重啟 Seafile 服務(wù)器
./seafile.sh start # 啟動(dòng) Seafile 服務(wù)
./seahub.sh start 8001 # 啟動(dòng) Seahub 網(wǎng)站 (運(yùn)行在8001端口上)

關(guān)閉/重啟 Seafile 和 Seahub

關(guān)閉

./seahub.sh stop # 停止 Seahub
./seafile.sh stop # 停止 Seafile 進(jìn)程

重啟

./seafile.sh restart # 停止當(dāng)前的 Seafile 進(jìn)程,然后重啟 Seafile
./seahub.sh restart  # 停止當(dāng)前的 Seahub 進(jìn)程,并在 8000 端口重新啟動(dòng) Seahub

如果停止/重啟的腳本運(yùn)行失敗

大多數(shù)情況下 seafile.sh seahub.sh 腳本可以正常工作。如果遇到問(wèn)題:

  • 使用pgrep命令檢查 seafile/seahub 進(jìn)程是否還在運(yùn)行中
pgrep -f seafile-controller # 查看 Seafile 進(jìn)程
pgrep -f "seahub" # 查看 Seahub 進(jìn)程
  • 使用pkill命令殺掉相關(guān)進(jìn)程
pkill -f seafile-controller # 結(jié)束 Seafile 進(jìn)程
pkill -f "seahub" # 結(jié)束 Seafile 進(jìn)程

OK!

查看seafile更多信息請(qǐng)?jiān)L問(wèn):

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)