系统环境:Centos8
Seafile官网文档:https://cloud.seafile.com/published/seafile-manual-cn/deploy/README.md
Seafile官网安装包下载地址:https://cloud.seafile.com/published/seafile-manual-cn/deploy/README.md(包含服务器端与客户端)
#参考文章:https://blog.csdn.net/letterss/article/details/86228089
1.安装python
yum install python3 python3-setuptools python3-pip python3-ldap python3-devel mysql-devel gcc gcc-c++ -y
pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.3.8 psd-tools django-pylibmc django-simple-captcha
安装pip3时如果报错,则需先执行以下命令
pip3 install --upgrade pip
2.安装数据库MariaDB
安装命令:yum install mariadb-server
启动命令:systemctl start mariadb.service
设置mariadb初始密码:mysqladmin -u root password ‘password’
3.安装
按照官网文档要求将程序包放在:/opt/seafile目录下解压
cd /opt
mkdir seafile
tar -xvf seafile-server_7.1.5_x86-64.tar.gz
执行安装脚本:
./setup-seafile-mysql.sh
脚本会依次询问你一些问题,从而一步步引导你配置 Seafile 的各项参数,要注意的是ip要填写你服务器的ip。
在这里, 你会被要求选择一种创建 Seafile 数据库的方式:
Please choose a way to initialize seafile databases:
[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases
如果选择1, 你需要提供根密码. 脚本程序会创建数据库和用户。
如果选择2, ccnet/seafile/seahub 数据库应该已经被你(或者其他人)提前创建。
如果安装正确完成,你会看到下面这样的输出 (新版本可能会有所不同)
4:安装完成后,启动相关服务
在 seafile-server-latest 目录下,运行如下命令
./seafile.sh start # 启动 Seafile 服务(默认端口:8082端口上)
./seahub.sh start # 启动 Seahub 网站 (默认运行在127.0.0.1:8000端口上)
你第一次启动 seahub 时,seahub.sh 脚本会提示你创建一个 seafile 管理员帐号。
关闭命令
./seahub.sh stop # 停止 Seahub
./seafile.sh stop # 停止 Seafile 进程
重启命令
./seafile.sh restart # 停止当前的 Seafile 进程,然后重启 Seafile
./seahub.sh restart # 停止当前的 Seahub 进程,并在 8000 端口重新启动 Seahub
如果停止/重启的脚本运行失败
大多数情况下 seafile.sh seahub.sh 脚本可以正常工作。如果遇到问题:
使用pgrep命令检查 seafile/seahub 进程是否还在运行中
pgrep -f seafile-controller # 查看 Seafile 进程
pgrep -f "seahub" # 查看 Seahub 进程
使用pkill命令杀掉相关进程
pkill -f seafile-controller # 结束 Seafile 进程
pkill -f "seahub" # 结束 Seafile 进程
需要定时清理缓存文件,否则长时间下载速度会变慢,缓存文件位置:
/tmp/seahub_cache/
注意:7.0.x 版本之后,8000端口默认监听在127.0.0.1地址上,这意味着您无法直接通过8000端口访问Seafile服务。建议您配置nginx反向代理。
nginx配置
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#配置上传文件的大小以及读取超时时间等
client_max_body_size 1024m;
client_header_timeout 1m;
client_body_timeout 1m;
proxy_connect_timeout 60s;
proxy_read_timeout 1m;
proxy_send_timeout 1m;
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;
# used for view/edit office file via Office Online Server
client_max_body_size 0;
access_log /var/log/nginx/seahub.access.log;
error_log /var/log/nginx/seahub.error.log;
}
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;
send_timeout 36000s;
}
location /media {
root /opt/seafile/seafile-server-latest/seahub;
}
}
服务启动后, 打开浏览器并输入服务器ip
http://ip
下面还需要更新 SERVICE_URL 和 FILE_SERVER_ROOT 这两个配置项。否则无法通过 Web 正常的上传和下载文件。
5.0 版本开始,您可以直接通过管理员 Web 界面来设置这两个值 (注意,如果同时在 Web 界面和配置文件中设置了这个值,以 Web 界面的配置为准。):
SERVICE_URL: http://www.myseafile.com
FILE_SERVER_ROOT: http://www.myseafile.com/seafhttp
5.0 版本之前需要修改 ccnet.conf 文件和 seahub_settings.py 文件
修改 ccnet.conf
SERVICE_URL = http://www.myseafile.com
修改 seahub_settings.py
(增加一行,这是一个 python 文件,注意引号)
FILE_SERVER_ROOT = ’http://www.myseafile.com/seafhttp’
seafile云盘服务就搭建完成