一、安装
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
![](https://img2018.cnblogs.com/blog/1069864/201912/1069864-20191229130628583-842864224.png)
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类似
![](https://img2018.cnblogs.com/blog/1069864/201912/1069864-20191229131855206-970517905.png)
然后在手机或PC上下载对应客户端,安装后就可以访问了。
注:如果只能访问不能下载、上传,配置如下:
![](https://img2018.cnblogs.com/blog/1069864/201912/1069864-20191229132125537-406403548.png)
三、配置开机启动
创建文件: /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