利用Seafile搭建私有文件同步云盘
安裝 Seafile 所需環境
如果你的CVM系統為Ububtu系統,請查看Ububtu系統安裝教程,如果系統為CentOS,請參考CentOS操作系統安裝教程,本文以Ubuntu Server 16.04.1 LTS為例。
Ubuntu系統
這里我們使用apt包管理器進行安裝,安裝之前,我們首先需要使用sudo apt-get update更新apt包管理器列表。然后在安裝python及其 Seafile 所需要的環境。最后使用pip工具安裝 Seafile 所需要的視頻渲染動畫插件moviepy具體代碼如下
sudo apt-get update sudo apt-get install python python2.7 libpython2.7 python-setuptools python-imaging python-ldap python-urllib3 ffmpeg python-pip python-mysqldb python-memcache -y sudo pip install pillow moviepy執行完命令后,你可能需要等待一段時間,系統將會自動安裝所需要的文件。
CentOS系統
這里我們使用yum包管理器進行安裝,安裝之前,我們首先需要使用yum -y install epel-release安裝epel-release第三方數據包。然后在安裝python及其 Seafile 所需要的環境。最后使用pip工具安裝 Seafile 所需要的視頻渲染動畫插件moviepy具體代碼如下
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執行完命令后,你可能需要等待一段時間,系統將會自動安裝所需要的文件。
?
下載 Seafile 源碼
我們可以在這里下載Seafile 源碼安裝文件。截止本文撰寫日期,最新版的系統為6.3.3 64位版本。我們獲取其地址后,通過wget或curl命令將源碼包下載下來。
?
復制完鏈接后,在你的服務器執行下面的代碼,注意替換鏈接地址
sudo wget http://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_6.3.3_x86-64.tar.gz這時,我們就將文件下載到服務器了
?
部署Seafile
接下來,我們需要解壓這個文件,為了方便后續升級,建議按照下面的步驟去設置目錄結構。我們新建一個名為Seafile的目錄,當然,這個名字是自定義的,我這里只是用Seafile演示,請執行下面的命令。
mkdir Seafile mv seafile-server_* Seafile cd Seafile tar -zxvf seafile-server_* mkdir installed mv seafile-server_* installed這時,你的文件目錄類似如下
ubuntu@VM-0-7-ubuntu:~$ tree Seafile -L 2 Seafile ├── installed │ └── seafile-server_6.3.3_x86-64.tar.gz └── seafile-server-6.3.3├── check_init_admin.py├── reset-admin.sh├── runtime├── seaf-fsck.sh├── seaf-fuse.sh├── seaf-gc.sh├── seafile├── seafile.sh├── seahub├── seahub.sh├── setup-seafile-mysql.py├── setup-seafile-mysql.sh├── setup-seafile.sh└── upgrade這樣設計目錄的好處在于
- 和 seafile 相關的配置文件都可以放在 Seafile目錄下,便于集中管理。
- 后續升級時,你只需要解壓最新的安裝包到 Seafile 目錄下。
安裝Seafile
接下來就可以進行安裝了,我們找到上一步新建的目錄,然后開始安裝。
cd seafile-server-* sudo ./setup-seafile-mysql.sh輸出如下:
ubuntu@VM-0-7-ubuntu:~/Seafile/seafile-server-6.3.3$ sudo ./setup-seafile-mysql.sh Checking python on this machine ...Checking python module: setuptools ... Done.Checking python module: python-imaging ... Done.Checking python module: python-mysqldb ... Done. ? ----------------------------------------------------------------- This script will guide you to setup your seafile server using MySQL. Make sure you have read seafile server manual at ?https://github.com/haiwen/seafile/wiki ? Press ENTER to continue ----------------------------------------------------------------系統示意我們按ENTER鍵繼續,我們按下鍵盤上的回車鍵,第一個彈出的是server name這里我們輸入自己想定義的服務器名稱,我這里填寫為qcloud-Seafile,接下來要求填寫你的服務器的IP或者指向的域名,我這里填寫自己CVM的IP123.456.789.123。接下來系統要求填寫你存放文件數據的目錄,因為我們要放在CFS上,則填寫CFS映射的文件夾\home\ubuntu\qcloud-cfs。最后填寫你服務器文件同步端口,該端口用于文件同步,請使用默認的 8082,不能更改。然后,服務器將要求你選擇創建數據庫的方式。
------------------------------------------------------- Please choose a way to initialize seafile databases: ------------------------------------------------------- ? [1] Create new ccnet/seafile/seahub databases [2] Use existing ccnet/seafile/seahub databases- 如果選擇1, 你需要提供根密碼. 腳本程序會創建數據庫和用戶。
- 如果選擇2, ccnet/seafile/seahub 數據庫應該已經被你(或者其他人)提前創建。
這里我們是新建,則選擇1,選擇完成后,系統要求你輸入數據庫地址,我們這里輸入準備數據庫步驟中創建數據庫的內網地址。我這里填172.27.16.14,接下來會詢問你使用那個賬戶運行MySQL,默認是root,我們直接點回車,接下來會詢問你的數據庫的端口,我們依然保持默認3306端口,接下來,輸入你的數據庫的密碼。默認密碼是不顯示的。輸入完成后,系統會為你創建一個名為seafile的用戶,我們保持默認即可,之后輸入你為seafile用戶創建的密碼。創建完成后系統要求你創建ccnet-db數據庫,我們保持默認的ccnet-db就行。接下來要求創建seafile-server的數據庫,我們依然保持默認。接下來還要創建seahub數據庫,仍保持默認就OK。一切完成后,系統將輸出下面的內容。
-------------------------------- This is your configuration --------------------------------- ?server name: qcloud-Seafileserver ip/domain: 123.456.789.123 ?seafile data dir: \home\ubuntu\qcloud-cfsfileserver port: 8082 ?database: create newccnet database: ccnet-dbseafile database: seafile-dbseahub database: seahub-dbdatabase user: seafile ? ? --------------------------------- Press ENTER to continue, or Ctrl-C to abort ---------------------------------我們按下鍵盤上的Enter鍵繼續。不久,你會發現服務器創建完成。
?
啟動 Seafile 服務器
現在,我們打開seafile-server-6.3.3目錄,使用下面的命令啟動啟動 Seafile 服務器和 Seahub 網站。
- 啟動 Seafile 服務:
- 啟動 Seahub 網站 (默認運行在8000端口上)
你第一次啟動 seahub 時,seahub.sh 腳本會提示你創建一個 seafile 管理員帳號。會要求你輸入電子郵箱,管理密碼及重新輸入密碼。請如實輸入就行。輸入完成后,你就通過訪問http://你服務器的地址:8000來打開Seafile了。
?
輸入你剛創建的用戶名及密碼,就可以訪問 seafile 管理頁面了。
關閉/重啟 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 進程是否還在運行中
- 使用pkill命令殺掉相關進程
總結
以上是生活随笔為你收集整理的利用Seafile搭建私有文件同步云盘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手把手带你玩转Tensorflow 物体
- 下一篇: 使用mysqldump 导出sql数据