一、安裝
Seafile官網下載頁面:https://www.seafile.com/download/ ,獲取7.0.5版本的下載地址
登錄pi的命令,轉到root,然后下載
#sudo -s
#cd /nas
root@midou:/nas# wget https://github.com/haiwen/seafile-rpi/releases/download/v7.0.5/seafile-server_7.0.5_stable_pi.tar.gz
root@midou:/nas# tar xzf seafile-server_7.0.5_stable_pi.tar.gz
root@midou:/nas#
cd seafile-server-7.0.5/
root@midou:/nas/seafile-server-7.0.5#
./setup-seafile.sh
注:安裝時提示
Checking for sqlite3 ...
Sqlite3 is not found. install it first.
執行下面命令安裝:apt-get install sqlite3
接下來設置seahub

seafile端口是8082,seahub端口是8000
啟動服務
root@midou:/nas/seafile-server-latest#
./seafile.sh start; ./seahub.sh start
注:安裝后發現能在Pi上本地打開,其實機器上不能訪問,查看端口信息,只綁定在了127.0.0 .1上
root@midou:~# netstat -an | grep 8000
tcp 0 0 127.0.0.1:8000
修改gunicorn.conf解決,gunicorn.conf文件內容如下:
root@midou:/nas/conf# grep 127 *
gunicorn.conf:bind = "127.0.0.1:8000"
二、使用
在瀏覽器輸入http://IP:8000/打開seafile web頁面,用安裝時輸入的郵箱地址/密碼就可以登錄了
在路由器增加端口映射以便在外網訪問,8000如下,8082類似

然后在手機或PC上下載對應客戶端,安裝后就可以訪問了。
注:如果只能訪問不能下載、上傳,配置如下:

三、配置開機啟動
創建文件: /usr/lib/systemd/system/seafile.service
內容如下(注意用戶名和路徑要正確):
[Unit]
Description=seafile
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
User=pi
ExecStart=/nas/seafile-server-7.0.5/seafile.sh start
ExecStart=/nas/seafile-server-7.0.5/seahub.sh start
ExecStop=/nas/seafile-server-7.0.5/seafile.sh stop
ExecStop=/nas/seafile-server-7.0.5/seahub.sh stop
[Install]
WantedBy=multi-user.target
執行以下命令注冊未開機自啟動項。
sudo systemctl daemon-reload
sudo systemctl enable seafile
sudo systemctl start seafile
如果要取消開機自啟動,並停止服務,執行以下命令。
sudo systemctl disable seafile
sudo systemctl stop seafile
注: seafile.service文件配置用戶是pi,就是以pi用戶運行腳本,可以修改成root,因為之前安裝都是以root用戶操作的
如果想用pi用戶運行,執行下面操作
1、先停止當前seafile運行
2、root用戶下修改nas目錄用戶級: chown pi:pi /nas
3、root用戶清除/tmp/seahub_cache目錄:rm -r /tmp/seahub_cache
seafil配置啟郵箱服務(可選)
編輯sea/conf/seahub_settings.py
添加如下內容
#EMAIL_USE_SSL = False
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.163.com'
EMAIL_HOST_USER = '郵箱名@163.com'
EMAIL_HOST_PASSWORD = '授權碼'
EMAIL_PORT = '465'
#EMAIL_PORT = '25'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER
然后重啟服務 $ systemctl restart seafile
seafile開啟webdav的方法(可選)
編輯/data/haiwen/conf/seafdav.conf
添加如下內容
[WEBDAV]
enabled =
true
port = 8080
fastcgi = false
share_name = /
然后重啟seafile服務
./seafile.sh restart
linux系統掛載webdav的方法
比較直接的方法是使用mount命令,新建一個名為seafdav的文件夾
mount -t davfs http://127.0.0.1:8080/ /mnt/seafdav
注:如果還不支持davfs,執行下面命令安裝
sudo apt-get install davfs2
掛載webdav后的讀寫性能測試
root@localhost:/mnt/seafdav# dd if=/dev/zero bs=1024 count=1000000 of=1Gb.file
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB, 977 MiB) copied, 35.0303 s, 29.2 MB/s
掛載webdav目錄的讀性能
root@localhost:/mnt/seafdav# dd of=1Gb.file if=/dev/zero bs=1024 count=1000000
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB, 977 MiB) copied, 35.0889 s, 29.2 MB/s
普通硬盤的寫性能
root@localhost:/mnt/raid# dd if=/dev/zero bs=1024 count=1000000 of=1Gb.file
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB, 977 MiB) copied, 6.21764 s, 165 MB/s
普通硬盤的讀性能
root@localhost:/mnt/raid# dd of=1Gb.file if=/dev/zero bs=1024 count=1000000
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB, 977 MiB) copied, 13.546 s, 75.6 MB/s
seafile所部署的webdav的讀寫性能確實差了一些,畢竟多了一些抽象,並且依賴cpu的處理速度。普通硬盤直接讀寫的速度是webdav的三倍左右。所以把webdav掛載為硬盤之后,只能進行一些硬盤負載較輕的工作。
參考鏈接:
https://www.evernote.com/shard/s729/client/snv?noteGuid=4bd1f18e-6d3d-478e-9d51-b164c4b3805b¬eKey=24a437b6fb7a9337&sn=https%3A%2F%2Fwww.evernote.com%2Fshard%2Fs729%2Fsh%2F4bd1f18e-6d3d-478e-9d51-b164c4b3805b%2F24a437b6fb7a9337&title=%25E6%25A0%2591%25E8%258E%2593%25E6%25B4%25BEseafile%25E9%2585%258D%25E7%25BD%25AE%25E8%25BF%2587%25E7%25A8%258B
https://blog.csdn.net/imlsz/article/details/87024206
https://zhuanlan.zhihu.com/p/62954946?from_voters_page=true