树莓派搭建NAS之Seaflile

一、安装 

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&noteKey=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

 

posted @ 2019-12-29 13:22  bongem  阅读(1032)  评论(0编辑  收藏  举报