配置seafile

这几天一直在折腾seafile,如果不配置https那早就已经搞定。无论是docker一键安装方法还是普通一键安装方法,都很轻松。为了达到https的目的,用了很多网上的教程,docker的、普通的。

都不行。我只适合一键方式,没办法,咱是小白。在经历了各种报错之后,最终用seafile官方的一键脚本,然后配和我之前发表的acme文章,搞定了https网站。

步骤:

1,用这个脚本一键安装seafile,系统必须是Ubuntu 18.04/20.04。

wget https://raw.githubusercontent.com/haiwen/seafile-server-installer-cn/master/seafile-8.0_ubuntu
bash seafile-8.0_ubuntu 8.0.0

之后登录域名就可以打开seafile登录界面,这一步,已经自动配置好 MariaDB, Memcached, WebDAV, Ngnix 和开机自动启动脚本。

自动安装脚本会在系统中安装开机自动启动脚本。也可以使用命令关闭/启动 Seafile 服务:

service seafile-server stop 
service seafile-server start

2,使用acme.sh签发证书,域名必须提前解析到服务器IP地址。

#安装acme.sh 
curl https://get.acme.sh | sh
#切换到Let’s Encrypt的CA
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
#开启acme.sh的自动升级
~/.acme.sh/acme.sh --upgrade --auto-upgrade
#使用acme.sh签发证书,指定Nginx对应插件
~/.acme.sh/acme.sh --issue -d 域名 --nginx
#证书位于~/.acme.sh目录,不建议直接使用,创建 /etc/nginx/ssl 目录存放证书。
mkdir -p /etc/nginx/ssl
~/.acme.sh/acme.sh --install-cert -d 域名 \
--key-file /etc/nginx/ssl/域名.key \
--fullchain-file /etc/nginx/ssl/域名.crt \
--reloadcmd "service nginx force-reload"

3,编辑/etc/nginx/sites-available/seafile.conf

server {
    listen 80;
    server_name 域名;
    rewrite ^(.*) https://$server_name$1 permanent;
}
server {
    listen 443 ssl;
    server_name 域名;
    charset utf-8;
    ssl_certificate /etc/nginx/ssl/域名.crt;
    ssl_certificate_key /etc/nginx/ssl/域名.key;
    ssl_protocols TLSv1.2 TLSv1.3; # TLSv1.3需要nginx 1.13.0以上版本
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_ecdh_curve secp384r1;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_session_tickets off;
    keepalive_timeout 70;

4,这样就可以了。不过想升级到seafile服务器9.0版本,看了官方手册,我感觉大概率不会成功,指定各种报错,我只适合一键脚本。没办法咱是小白。

THE END
分享
二维码
文章目录
关闭
目 录