- 切换到root用户:
su root
- 挂载外部硬盘
mount /dev/sda5 /cloud
,然后查看UUIDsudo blkid
,修改vi /etc/fstab
文件,在最下面添加UUID=1234567 /cloud ntfs defaults 0 0
以开机自动挂载硬盘
- 安装seafile到挂载的外部硬盘中,具体安装方法参考官网部署 Seafile 服务器(使用 MySQL/MariaDB)
- 公网安装frps,配置如下
[common]
bind_port = 9000#指定一个端口
vhost_http_port = 8080#http访问的端口
vhost_https_port=443#https访问的端口
- 本地安装frpc client,添加相应的配置模块。个人理解:当这两项配置好之后,访问http://xxx.com:8080以及https://xxx.com时,frp会定向到本地(seafile所在的机器)的127.0.0.1:8828
[common]
server_addr = 11.11.11.11#frps的公网ip地址
server_port = 9000#frps的端口
[seafile_http]
type=http
local_ip=127.0.0.1
local_port=8828#该端口为随意指定的一个本地端口
custom_domains=xxx.com
[seafile_https]
type=https
local_ip=127.0.0.1
local_port=8828
custom_domains=xxx.com
plugin=https2http
plugin_local_addr=127.0.0.1:8828#与上述指定的本地端口一致
plugin_host_header_rewrite=127.0.0.1
plugin_header_X-From-Where=frp
plugin_crt_path=/path/xxx.com_public.crt#https证书
plugin_key_path=/path/xxx.com.key
- 添加nginx反向代理,添加/etc/nginx/site-available/seafile.conf文件,并配置如下,删除
rm /etc/nginx/site-enabled/default
,创建符号链接ln -s /etc/nginx/sites-available/seafile.conf /etc/nginx/sites-enabled/seafile.conf
。个人理解:当seafile机器接收到刚才的127.0.0.1:8828之后,会反向代理到127.0.0.1:8000,这个就是seafile的端口,当收到127.0.0.1:8828/seafhttp时,会反向代理到127.0.0.1:8082,这个就是seahub的端口。最后的location /media需要填写正确。
server {
listen 8828;
server_name 127.0.0.1;
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;
# 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;
proxy_request_buffering off;
}
location /media {
root /cloud/seafile/seafile-server-latest/seahub;
}
}
- 打开网页,https://xxx.com,修改系统管理->设置中的SERVICE_URL为https://xxx.com,FILE_SERVER_ROOT为https://xxx.com/seafhttp。