Seafile雲盤
1、Seafile簡介
Seafile 是一款開源的企業雲盤,注重可靠性和性能。支援 Windows, Mac, Linux, iOS, Android 平台。支援檔案同步或者直接挂載到本地通路。
2、Seafile特性
可靠的檔案同步:檔案組織成資料庫。每個資料庫可選擇性的同步到任意裝置。可靠高效的檔案同步将提高您的工作效率;
挂載盤用戶端:直接通過本地 S 盤來通路雲端檔案,不占用本地存儲。為電腦提供伺服器的海量存儲空間。同作業系統無縫內建,還可以離線修改檔案;
團隊協作:可以共享檔案到群組。權限管理、版本控制、事件通知讓協作更為流暢;
高性能:Seafile 伺服器核心由 C 語言編寫。運作起來小巧快速;
Wiki 與知識管理:融合 Wiki 與網盤的功能,使用 Markdown 格式以所見即所得方式編輯 Wiki 文檔,提供搜尋、标簽、評審等知識管理功能,支援對外釋出 Wiki 内容;
适用于企業環境:可與 AD/LDAP 內建。可同步 AD 群組和使用者資訊。
3、Linux 下部署 Seafile 伺服器
3.1、 目錄設計
cd /root/
mkdir seafile #seafile的整體檔案
cd seafile
mkdir seafile_pkg #存放下載下傳好的seafile包
這樣設計目錄的好處在于:
和 seafile 相關的配置檔案都可以放在 seafile 目錄下,便于集中管理
後續更新時,你隻需要解壓最新的安裝包到 seafile 目錄下配置的管理
3.2、下載下傳并解壓
cd /root/seafile/seafile_pkg/
wget http://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_7.0.5_x86-64.tar.gz
tar -xf seafile-server_7.0.5_x86-64.tar.gz -C /root/seafile/
3.3、 目錄結構如下
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPB9keFR1T5NGROBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLyUDN5UTOxAjM5EDNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
3.4、 安裝 Seafile 伺服器
3.4.1、安裝 Seafile 伺服器之前,請确認已安裝以下軟體
MariaDB 伺服器 (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系統下
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
3.4.2、安裝
1)執行腳本
cd /root/seafile/seafile-server-7.0.5
./setup-seafile-mysql.sh #運作安裝腳本并回答預設問題
如果你的系統中沒有安裝上面的某個軟體,那麼 Seafile初始化腳本會提醒你安裝相應的軟體包.
該腳本會依次詢問你一些問題,進而一步步引導你配置 Seafile 的各項參數:
seafile server name:seafile 伺服器的名字,目前該配置已經不再使用;3 ~ 15 個字元,可以用英文字母,數字,下劃線。
seafile server ip or domain:seafile 伺服器的 IP位址或者域名;用戶端将通過這個 IP 或者位址來通路你的 Seafile 服務。
seafile data dir:seafile資料存放的目錄,用上面的例子,預設将是 /root/seafile/seafile-data;seafile資料将随着使用而逐漸增加,請把它放在一個有足夠大空閑空間的分區上。
seafile fileserver port:seafile fileserver 使用的 TCP 端口;該端口用于檔案同步,請使用預設的 8082,不能更改。
填寫預設的資料庫端口、資料庫名
服務安裝資訊輸出
安裝成功
2)啟動 Seafile 伺服器
啟動 Seafile::./seafile.sh start # 啟動 Seafile 服務
啟動 Seahub:./seahub.sh start # 啟動 Seahub 網站 (預設運作在8000端口上)
小貼士: 你第一次啟動 seahub 時,seahub.sh 腳本會提示你建立一個 seafile 管理者帳号。
3)登陸首頁
4)關閉/重新開機 Seafile 和 Seahub
關閉
./seahub.sh stop # 停止 Seahub
./seafile.sh stop # 停止 Seafile 程序
重新開機
./seafile.sh restart # 停止目前的 Seafile 程序,然後重新開機 Seafile
./seahub.sh restart # 停止目前的 Seahub 程序,并在 8000 端口重新啟動 Seahub
如果停止/重新開機的腳本運作失敗
大多數情況下 seafile.sh seahub.sh 腳本可以正常工作。如果遇到問題:
使用pgrep指令檢查 seafile/seahub 程序是否還在運作中
pgrep -f seafile-controller # 檢視 Seafile 程序
pgrep -f "seahub" # 檢視 Seahub 程序
使用pkill指令殺掉相關程序
pkill -f seafile-controller # 結束 Seafile 程序
pkill -f "seahub" # 結束 Seafile 程序
5)注意要點:
在這裡, 你會被要求選擇一種建立 Seafile 資料庫的方式:
選1時,會在如下箭頭所示的地方回車後提示權限拒絕,因為需要單獨對建立的seafile使用者授權,同時如果資料庫和seafile服務分離部署還需要對root授權;授權之後就無需在選擇1,直接選擇2,然後将在1中建立的資料庫同樣在2中的粘貼進去即可
grant all privileges on *.* to 'root'@'%';
grant all privileges on *.* to 'seafile'@'%';
若失敗則執行 ,則執行下面指令
mysql5.7授權
update user set host='%' where user='root';
grant all privileges on *.* to 'seafile'@'%'; grant all privileges on *.* to 'root'@'%';
mysql8授權
update user set host='%' where user='root';
grant all privileges on *.* to 'root'@'%' with GRANT OPTION;
grant all privileges on *.* to 'root'@'%';
選2,需要提前建立seafile使用者,同時給seafile使用者授權
3.4.3、有時候搭建好了,但是不能上傳檔案,需要檢視此配置
或者頁面的配置不一樣導緻引起的
3.4.4、Nginx 下配置 Seahub
在C:\Windows\System32\drivers\etc目錄下的hosts檔案最終組添加
192.168.171.129 www.myseafile.com
Seahub 是 Seafile 伺服器的網站界面, SeafServer 用來處理浏覽器端檔案的上傳與下載下傳. 預設情況下, 它在 8082 端口上監聽 HTTP 請求;
這裡我們通過 fastcgi 部署 Seahub, 通過反向代理(Reverse Proxy)部署 SeafServer. 我們假設你已經将 Seahub 綁定了域名"www.myseafile.com".
下面是一個 Nginx 配置檔案的例子(待上傳)