请注意,本文编写于 237 天前,最后修改于 237 天前,其中某些信息可能已经过时。
Seafile 是一款开源的企业网盘,支持的平台十分全面,包括 Windows, Mac ,Linux ,Ios ,Android,支持文件同步或直接挂载到本地。我使用的场景是:同一个实验室内的小伙伴要做开发,共享文件资料只能通过QQ、微信、U盘,十分的不便。实验室内有几台服务器,通过 Seafile 便可以搭一个局域网环境下的文件、资料共享系统。
十分感谢 Seafile 为我们普通用户提供的服务,和它为开源事业做出的努力 官网链接
Seafile 的运行是需要数据库的,它支持 SQLite 和 MySQL,这里选择 MySQL,因为实验室的服务器上已经安装好了。
没有安装的读者,可以参考这篇文章,我觉得写的比较规范和全面: https://blog.51cto.com/11261718/2465227。
如果想要卸载旧版本,以便新版本的安装,可以参考我的这篇博客 https://www.henrenx.cn/archives/8/。
下面的 cryptography 是官方文档中没有的,目的是支持 mysql 较新的密码策略,mysql 8.0 以上的建议安装。
# 安装 python3 和 pip3 环境
yum install python3 python3-setuptools python3-pip python3-ldap -y
# 安装 Seafile 的依赖
pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy psd-tools
pip3 install --timeout=3600 django-pylibmc django-simple-captcha cryptography
读者可点击链接进入 Seafile 的下载页面,在服务器端那里下载版本较新的压缩包(旧版本可能会出现较多问题)放到 /opt 目录下,目前的最新版本是 7.1.4。
下载完成后解压缩,目录结构如下:
除了红框中的两个目录,其他的都是后来初始化过程中生成的,不用在意。其中,installed 目录里面是下载好的压缩包,seafile-server-7.1.4 目录中是压缩包解压缩后的文件。
进入 seafile-server-7.1.4 目录,执行下面的命令:
./setup-seafile-mysql.sh #运行安装脚本并回答预设问题
期间会让你输入服务名称、数据库密码等,根据提示完成相应的问题即可。
nginx 如何下载和安装可以参考我的这篇文章:https://www.henrenx.cn/archives/7/
这里给出关于 Seafile 部分的 nginx 配置,其中需要改动的地方就是 listen server_name 和 proxy_pass,我在下面的配置中做了标注,改为你的实际情况即可(比如路径中的版本号,端口等)
server {
listen 5000; # 改
server_name 192.168.1.104; # 改
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_pass http://127.0.0.1:8000; # 改
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_read_timeout 1200s;
client_max_body_size 0;
}
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082; # 改
client_max_body_size 0;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
proxy_request_buffering off;
send_timeout 36000s;
}
location /media {
root /opt/seafile/seafile-server-7.1.4/seahub; # 改
}
}
如果嫌麻烦,可以直接关闭防火墙。因为我是实验室的环境,都是内部人员使用,所以我就直接关了。如果是具有公网 IP 的服务器,不建议直接关闭,可以在 firewall-cmd 中添加端口。
关于如何添加端口,可以参考这篇文章 https://www.timeit.cn/post-326.html
第一次启动 seahub 时,seahub.sh
脚本会提示你创建一个 seafile 管理员帐号。
./seafile.sh start # 启动 Seafile 服务
./seahub.sh start # 启动 Seahub 网站
./seahub.sh stop # 停止 Seahub
./seafile.sh stop # 停止 Seafile 进程
./seafile.sh restart # 停止当前的 Seafile 进程,然后重启 Seafile
./seahub.sh restart # 停止当前的 Seahub 进程,重新启动 Seahub
pgrep -f seafile-controller # 查看 Seafile 进程
pgrep -f "seahub" # 查看 Seahub 进程
pkill -f seafile-controller # 结束 Seafile 进程
pkill -f "seahub" # 结束 Seafile 进程
可以考虑清理缓存
rm -rf /tmp/seahub_cache/
如果清理缓存无效,可以考虑按照下图修改,把原来的那两行用 # 号注释掉,然后把 service_url + 删掉。
cd /opt/seafile/seafile-server-7.1.4/seahub/seahub/avatar/templatetags
vim avatar_tags.py
全部评论 (共 1 条评论)