ubuntu服務器 安裝 seafile 個人網盤
主要參考教程:
一、實驗環境:
- 騰訊雲學生機64位ubuntu16.04
- 騰訊雲已備案解析域名
- 使用騰訊雲webshell登入服務器
- 發送郵件提醒設置使用QQ郵箱
二、實驗流程介紹
安裝個人網盤,安裝分成三個步驟:數據庫、python2.7、seafile
-
數據庫選用了mysql,下載安裝mysql,提供數據庫來存儲網盤數據
-
python2.7用來支持seafile的運行,python3.x目前不支持
-
Seafile 是一個免費開源且專業可靠的雲存儲平台軟件。本人多次測試后發現,目前seafile 6.1以及更高的版本在本實驗環境下會出現難以解決的bug,建議使用6.0x版本的seafile
安裝完成后,基本功能以可以使用,但是郵件服務器沒有配置,所以無法發送郵件,為了讓自動發送郵件的郵箱更加專業,所以我們需要:
- 使用本域名配置QQ域名郵箱
- 配置域名郵箱發送郵件
三、網盤搭建
1.安裝依賴環境
安裝python依賴包
sudo apt-get update
sudo apt-get install python2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache python-urllib3
安裝MySQL
sudo apt-get install mysql-server
注:安裝 MySQL 過程需要為 MySQL 的 root 用戶設置新密碼,請記住該[密碼]以供后面步驟使用。
2.安裝seafile
新建seafile用戶
新建一個用戶,把seafile網盤的相關內容放在這個用戶下管理:
sudo useradd -m -s /bin/bash seafile
設置用戶密碼
sudo passwd seafile
切換進入用戶目錄
su - seafile
cd ~
下載seafile
seafile6.0.8安裝包地址:http://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_6.0.8_x86-64.tar.gz
下載安裝包:
wget http://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_6.0.8_x86-64.tar.gz
也可以從從seafile下載頁面中選擇相應版本的下載
敲黑板敲黑板:如何在ubuntu下,下載相應的安裝包?
用圖形界面如windows,點擊下載安裝包后,可以找對對應生成的臨時鏈接,復制下臨時鏈接的地址即可,如:
正如我之前所說,使用6.1以上安裝包在安裝過程中出現難以解決的問題,但是官網沒有掛出6.1之前的安裝包,怎么辦?
當當當!又是一個小技巧:
官方的鏈接都是有規律可循的,將安裝包下載鏈接后面的對應於版本的數字,改成你所需要的版本即可,如:
改掉圈圈部分即可。
注:本人使用的是阿里雲網址的鏈接,因為使用官方的曾經出現過系統是64位,但是安裝包是32位的,出現不兼容的情況,我也不知道為什么會這樣子。
下載完成后然后可以在目錄下查看到你的安裝包
ls
安裝seafile
解壓:
tar -xzf seafile-server_*
mv seafile-server-*/ seafile-server/
進入安裝包並運行seafile腳本
cd seafile-server
./setup-seafile-mysql.sh
除了用戶名、域名設置、選擇數據庫時選擇1,以及管理員賬號,其他都按默認的來。
如果忘記管理員賬號或者沒有讓你設置管理員賬號,
請在seafile-server文件夾下運行reset-admin.sh腳本來重置管理員賬號
./reset-admin.sh
注意:如果你已經失敗過一次,一種簡單從來的方法,請清空賬戶seafile下的所有文件,可以保留或者重新下載安裝包,並且刪除mysql里面sea開頭的3個數據庫然后再重新開始安裝seafile。或者不刪除3個數據庫,清空三個數據庫下面的所有表,然后數據庫選擇時選擇2,並且選擇正確對應的數據庫。
測試
如果你運氣很好,到這一步都沒有問題,那么
啟動你的seafile
./seafile start
./seahub start
在瀏覽器中輸入域名加上8000端口
www.你的域名:8000
就可以正常訪問了!
注:seafile默認訪問網頁端口為8000,上傳下載使用端口為8082,所以當你打不開網頁時,很可能是8000端口方面的配置出了問題,下載失敗,與8082相關的配置有關系
三、配置QQ域名郵箱
先進入QQ域名郵箱登入頁面
按照流程做到需要添加解析CNAME和MX的頁面
然后在解析處添加這兩個字段,唯一需要注意的是, CNAME別名填寫在主機記錄處
然后驗證,通過即可,然后設置自己想要的域名,如,我設置了seafile_admin@域名,看起來是不是就很專業?
四、配置seafile郵件服務
QQ配置發送郵件服務和其他郵件不一樣的地方在於,要想取得發送權限,
不是給定賬號密碼,而是給定賬號和授權碼,這里的授權碼就像是密碼,但是需要你自己去獲取
QQ授權碼設置
授權碼的教程有很多,這里就不再重復敘述,
注:域名郵箱可以簡單理解為你QQ郵箱的別名,看起來發送和接收的是域名郵箱,本質還是qq郵箱,你可以登入QQ郵箱賬號使用域名郵箱,但是密碼還是qq郵箱密碼,所以授權碼也是你QQ郵箱的授權碼
配置發送郵件提醒
發送格式為:
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.qq.com'
EMAIL_HOST_USER = 'username@domain.com'
EMAIL_HOST_PASSWORD = 'Auth_Code'
EMAIL_PORT = '465'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER
你只需要改動兩個部分
username@domain.com
換成你的域名郵箱,如seafile_admin@域名
Auth_Code
換成你獲取到的16位的授權碼
然后進入主入口的conf文件夾下,編輯 seahub_settings.py,在末尾加上 上面的代碼,保存
cd ~
cd conf
vim seahub_settings.py
完成后重啟./seahub
cd ~
cd seafile-server
./seahub.sh restart
如果有問題,可以刪除conf下的seahub_setting.pyc試試看。
大功告成,你的seafile以及可以基本運作了
五、總結
從備案后選擇ubuntu開始.搭建seafile網盤前前后后大概花了兩天多的時間。
現實從centOS沒有圖形界面用不來轉戰到想安裝圖形界面,失敗。
然后重裝系統ubuntu安不來圖形界面,放棄。
才開始乖乖的接受我必須用命令行界面。
第一天上午我是蒙蔽的,無論我怎么安裝,到了啟動./setup-seafile-mysql.sh這一步,無論如何,都是有bug前前后后參考了無數的博客。
最后發現問題主要出在:系統位數和seafile位數不對應
這個問題導致了我配置完成最后一步最后總是跳出一堆BUG。而且好像有些安裝包是不分32位、64位的,所以我也分不清楚到底什么情況,所以最后選擇了阿里的安裝包。
之后終於出現了初始界面后,無論怎么點擊都是Page unavailable。我也不知道為什么會這樣子。
然后終於弄好了后,又出現了訪問文件頁面失敗
這兩個問題,我感覺都是:seafile版本過高,seafile6.1x和seafile6.2x,我試了確實不行,最后seafile6.0.8完美運行,可以在線瀏覽pdf和txt,但是不能在線瀏覽視頻
至於 手機上傳下載,使用google瀏覽器沒問題
總之前前后后折騰了兩三天,至於弄好了,寫下這個教程,是為了日后我自己的觀看。
如果有出錯之處,還望見諒