Seafile是一個開源、專業、可靠的云存儲平臺;解決文件集中存儲、共享和跨平臺訪問等問題,由北京海文互知網絡有限公司開發,發布于2012年10月;除了一般網盤所提供的云存儲以及共享功能外,Seafile還提供消息通信、群組討論等輔助功能,幫助更好的圍繞文件展開協同工作。
主要功能有以下:
文件同步與共享
你可以創建不同的資料庫來分類組織文件。可以在私人間或群組中共享這些資料庫。每個資料庫都可以選擇性的在多臺設備上同步。
在線協作
你可以在線編輯文件,對文件進行評論,在私人間或群組間展開討論。事件通知、版本管理使得文件協作異常的方便和安全。
移動辦公
移動客戶端使得你可以在移動設備上查看最新改動、訪問文件資料、進行群組討論等等,方便的完成移動辦公。
當然也可以搭建作為私人網盤來用
目錄
- 一、安裝環境
- 二、基于Docker方式安裝
- 三、基于安裝包方式安裝
- 四、參考并致謝
一、安裝環境
操作系統:CentOS 7
Docker版本:Docker 19.03.8
數據庫版本:
MariaDB 10.1(基于docker)
MySQL 5.7 (基于安裝包)
seafile版本:seafile 7.0.5
二、基于Docker方式安裝
說明: 基于docker的方式安裝較為簡單,官網也推薦使用這種方式安裝
1、下載配置文件
官網地址: https://www.seafile.com/home/
配置文件下載地址:https://docs.seafile.com/d/cb1d3f97106847abbf31/files/?p=/docker/docker-compose.yml
下載后將配置文件上傳到服務器上
2、基本環境準備
python版本確認
[root@bogon ~]# python -V
如無意外是2.7的版本,當然也可以高版本,升級的方式此處不多涉及
依賴環境搭建
[root@bogon ~]# yum install python-devel
[root@bogon ~]# yum -y install gcc gcc-c++ autoconf automake
[root@bogon ~]# yum -y install libtool make
安裝/升級pip
[root@bogon ~]# yum -y install epel-release
[root@bogon ~]# yum -y install python-pip
[root@bogon ~]# pip install --upgrade pip
安裝docker-compose(Seafile v7.x.x 容器是通過 docker-compose 命令運行)
# 進行安裝compose 第一條語句報錯執行第二條,執行成功則跳過第二條
[root@bogon ~]# pip install docker-compose
[root@bogon ~]# pip install docker-compose --ignore-installed requests
驗證docker-compose版本
[root@bogon ~]# docker-compose -version
注意: 如果出現
ImportError: No module named urllib3之類的報錯,可以嘗試重裝一下urllib3庫
[root@bogon ~]# pip uninstall urllib3
[root@bogon ~]# pip install urllib3
安裝docker
# 安裝所需軟件包
[root@bogon ~]# yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
# 設置倉庫
[root@bogon ~]# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安裝最新版本
[root@bogon ~]# yum install docker-ce docker-ce-cli containerd.io
# 安裝完后啟動服務
[root@bogon ~]# systemctl start docker
創建seafile數據庫存放目錄(當然也可以保持默認不用創建)
[root@bogon ~]# mkdir /home/seafile
安裝seafile
1、將配置文件放到剛剛創建的/home/seafile目錄下
[root@myseafile home]# mv docker-compose.yml /home/seafile/
2、編輯配置文件
其中需要修改的配置項如下:
- MYSQL_ROOT_PASSWORD:mysql root用戶的密碼(會自動安裝數據庫然后配置該密碼)
- DB_ROOT_PASSWD:mysql root用戶的密碼(會自動安裝數據庫然后配置該密碼)
- volumes:持久化存儲 MySQL 數據的 volumes 目錄、持久化存儲 Seafile 數據的 volumes 目錄
- SEAFILE_ADMIN_EMAIL:界面上管理員賬號
- SEAFILE_ADMIN_PASSWORD:界面上管理員登錄密碼
如果您把 SEAFILE_SERVER_LETSENCRYPT 設置為 true,該容器將會自動為您申請一個 letsencrypt 機構頒發的 SSL 證書,并開啟 https 訪問,為此您需要做如下配置:
- SEAFILE_SERVER_LETSENCRYPT=true
- SEAFILE_SERVER_HOSTNAME=myseafile.com
如果您想要使用自己的 SSL 證書,而且如果用來持久化存儲 Seafile 數據的目錄為 /opt/seafile-data,您可以做如下處理:
創建 /opt/seafile-data/ssl 目錄,然后拷貝您的證書文件和密鑰文件到ssl目錄下。
假設您的站點名稱是 seafile.example.com,那么您的證書名稱必須就是 seafile.example.com.crt,密鑰文件名稱就必須是 seafile.example.com.key
3、在配置文件所在目錄執行以下命令以安裝、開啟服務
[root@myseafile seafile]# docker-compose up -d
4、安裝完畢后,可以打開瀏覽器房訪問
http://IP:80來打開主頁
5、運維
# 停止所有服務(停止所有docker)
docker-compose stop
# 重啟所有服務(重啟所有docker)
docker-compose restart
也可以直接進入到docker中開啟、停止其中的部分服務
# 進入到seafile目錄中啟動seafile
./seafile.sh start
# 進入到seafile目錄中啟動seahub
./seafile.sh start
三、基于安裝包方式安裝
1、下載安裝mysql,并配置好用戶名和密碼
具體下載安裝步驟此處省略,可參考:http://www.lxweimin.com/p/345caa47d1e6
2、創建數據庫用戶,并創建數據庫
# 新建一個普通用戶(seafile不允許使用管理員用戶)
mysql> grant all on *.* to seafile_user identified by 'Seafile_123';
# 創建ccnet數據庫
mysql> create database ccnet;
# 創建seafile數據庫
mysql> create database seafile;
# 創建seahub數據庫
mysql> create database seahub;
3、依賴環境安裝
[root@bogon ~]# yum install python-devel
[root@bogon ~]# yum -y install epel-release
[root@bogon ~]# yum -y install gcc gcc-c++
[root@bogon ~]# yum install MySQL-python
4、下載seafile安裝包
這里下載的是7版本
官網下載地址:https://www.seafile.com/download/
需要注意的是,7版本的安裝方式與之前的版本有出入,還有一點,最新版本7.1.3是需要python3來支持 ,如果是安裝該版本的話需要將系統自帶的python2.7升級,具體升級步驟此處不多介紹
5、創建seafile目錄
[root@bogon ~]# mkdir /home/app
6、上傳并解壓安裝包
[root@bogon app]# tar zxvf seafile-server_7.0.5_x86-64.tar.gz
7、進入解壓出來的安裝包目錄執行安裝
[root@bogon app]# cd seafile-server-7.0.5/
[root@bogon seafile-server-7.0.5]# ./setup-seafile-mysql.sh
8、修改配置文件
-
7.0.x 版本之后,8000端口默認監聽在127.0.0.1地址上,這意味著您無法直接通過8000端口訪問Seafile服務,按官方文檔建nginx或者修改下面配置
/home/seafile/conf/gunicorn.conf文件
9、啟動seafile
10、啟動seahub
10、將端口加入到防火墻
[root@bogon seafile-server-7.0.5]# firewall-cmd --zone=public --add-port=8000/tcp --permanent
[root@bogon seafile-server-7.0.5]# firewall-cmd --zone=public --add-port=8082/tcp --permanent
[root@bogon seafile-server-7.0.5]# systemctl restart firewalld
11、瀏覽器訪問
瀏覽器打開http://192.168.111.249:8000訪問主頁,登錄用戶和密碼是剛剛配置的郵箱和管理員登錄密碼
四、參考并致謝
https://www.seafile.com/home/
https://blog.csdn.net/q_linchao/article/details/94760990