首页 > 系统相关 >更安全的alist手动安装挂载本机存储并使用nginx反代

更安全的alist手动安装挂载本机存储并使用nginx反代

时间:2024-08-06 11:27:38浏览次数:15  
标签:opt 存储 反代 sudo alist nginx 挂载

alist的手动安装挂载本机存储并使用nginx反代

一、下载最新alist软件包

wget https://github.com/alist-org/alist/releases/download/v3.36.0/alist-linux-amd64.tar.gz

二、手动安装alist

1. 创建alist目录

sudo mkdir /opt/alist
#创建运行alist的用户
sudo useradd -r -s /usr/sbin/nologin -d /opt/alist -U -M alist
  • -r:创建一个系统账户。
  • -s: /usr/sbin/nologin:禁止登录。
  • -d: /opt/ddnsgo:设置用户家目录,
  • -U:创建一个同名组。
  • -M:不创建家目录。

2. 解压到alist目录

sudo tar -xzvf alist-linux-amd64.tar.gz -C /opt/alist

3. 创建alist的systemd服务

sudo tee /etc/systemd/system/alist.service << EOF
[Unit]
Description=Alist service
Wants=network.target
After=network.target network.service

[Service]
Type=simple
WorkingDirectory=/opt/alist
ExecStart=/opt/alist/alist server
KillMode=process
User=alist
Group=alist

[Install]
WantedBy=multi-user.target
EOF

4. 赋权启动alist服务修改alist配置文件

sudo chown -R alist:alist /opt/alist

#重载systemd 启动alist
sudo systemctl daemon-reload
sudo systemctl enable alist --now
#修改本地监听
sudo sed -i 's/0.0.0.0/127.0.0.1/g' /opt/alist/data/config.json
sudo systemctl restart alist
#设置admin登录密码
sudo /opt/alist/alist admin set YOUR_PASSWORD

5. 配置alist挂载本地存储

#创建本地目录
sudo mkdir /storage
sudo chown -R alist:alist /sotrage
#设置组的粘滞位权限,新文件和目录继承alist组
sudo chmod -R 2774 /storage
#将当前普通用户添加到alist组中,方便文件管理
sudo usermod -aG alist ubuntu

web页面中,驱动选择本机存储,挂载路径填/本机存储,根文件夹路径填/storage

三、配置nginx反代

接上节ddnsgo,稍作修改即可

sudo tee /etc/nginx/conf.d/alist.conf << EOF
server
    {
        listen 80;
        listen [::]:80;
        server_name yoursite;
        return 301 https://$host$request_uri;
}
server
    {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name yoursite;
        charset utf-8;

        ssl_certificate /etc/nginx/ssl/cer.pem;
        ssl_certificate_key /etc/nginx/ssl/key.pem;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
        #ssl_dhparam /etc/nginx/ssl/dhparam.pem;

        location / {
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_set_header Host $host:$server_port;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header Range $http_range;
          proxy_set_header If-Range $http_if_range;
          proxy_redirect off;
          proxy_pass http://127.0.0.1:5244;
          # the max size of file to upload
          client_max_body_size 20000m;
        }

        access_log /var/log/nginx/alist-access.log;
        error_log /var/log/nginx/alist-error.log;
    }
EOF

总结

alist完全可以不使用root用户运行,缩紧权限挂载本地存储更安全。

标签:opt,存储,反代,sudo,alist,nginx,挂载
From: https://www.cnblogs.com/holdmyhand/p/18344814

相关文章

  • Tomcat与Nginx的区别详解
    目录引言Tomcat概述Tomcat的历史Tomcat的架构Tomcat的功能Nginx概述Nginx的历史Nginx的架构Nginx的功能Tomcat与Nginx的区别架构上的区别......
  • ddns-go手动安装,配置acme获取证书,nginx反代
    ddns-go的手动安装并使用nginx反代一、下载最新ddngo软件包wgethttps://github.com/jeessy2/ddns-go/releases/download/v6.6.7/ddns-go_6.6.7_linux_x86_64.tar.gz二、手动安装ddnsgo1.创建ddnsgo目录sudomkdir/opt/ddnsgo#创建运行ddnsgo的用户sudouseradd-r-s/......
  • 群辉NAS利用AList搭建混合云盘⑥挂接腾讯微云
    目录……接前文5、挂接腾讯微云未完待续…………接前文5、挂接腾讯微云登录AList后台→管理→存储→驱动供选择“腾讯微云”→填写挂接路径打开“配置文档”(详见前文)打开配置文档→简体中文→开始→找到腾讯微云部分,可以看到关于Cookie的设置方法。手工用浏览器登......
  • linux 安装 nginx
    一、官网下载Nginx官网地址:http://nginx.org/en/download.html我下载的是最新稳定版 二、上传到服务器解压1、上传到指定的服务器地址上传的地址自己决定,我上传到/usr/Nginx。2、解压使用命令:tar-zxvf“你的Nginx压缩包”,我这里是:tar-zxvfnginx-1.24.0.t......
  • 阿里云centos8的nginx的安装与运行
    一.centos864位安装运行设置开机自启动nginx服务1、安装gcc安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境。安装指令如下yuminstallgcc-c++2、安装PCREpcre-develNginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包......
  • shell获取敏感词接口json数据更新时重启nginx+lua环境、一个逐步删除服务器上文件夹的
    一、shell获取敏感词接口json数据如有更新重启nginx+lua环境    因为工作需要,需要写一个shell脚本获取对应接口的数据(其它管理后台控制的敏感词库)。因为当前平台是nginx+lua脚本,重装加载敏感词需要重启nginx.实现起来也很简单,第一点,需要对获取的json数据进行分析,shell......
  • 从零手写实现 nginx,为什么不能有 java 版本的 nginx?(已完结,共 35 讲)
    前言大家好,我是老马。很高兴遇到你。作为一个java开发者,工作中一直在使用nginx。却发现一直停留在使用层面,无法深入理解。有一天我在想,为什么不能有一个java版本的nginx呢?一者是理解nginx的设计灵魂,再者java开发者用java语言的服务器不是更加自然吗。于是......
  • nginx 同时监听两个端口
     nginx两个端口Nginx不能同时监听两个端口,因为它是一个反向代理服务器,通常只设置一个监听端口(通常是80或443),然后根据请求的host或其他参数将请求转发到不同的后端服务。如果你的需求是让Nginx监听两个不同的端口,并将请求分别转发到不同的服务,你可以这样配置: ......
  • 轻松搞定 Nginx 在 CentOS 和 Ubuntu 上的安装与配置
    注:这是对我以前博客进行优化后再次发布的,博客中的截图为以前的。原博客已删除。如何安装nginxnginx是一款开源、高性能的Web和反向代理服务器,支持HTTP、HTTPS、SMTP、POP3和IMAP协议。由于其轻量级、资源占用少和强大的并发能力,nginx广泛用于多种场景。本文将介绍如何在CentOS和......
  • 【Nginx】 proxy_set_header参数设置
    Nginx proxy_set_header参数设置 一、不设置proxy_set_headerHost不设置proxy_set_headerHost时,浏览器直接访问nginx,获取到的Host是proxy_pass后面的值,即$proxy_host的值,参考http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header......