前言

常规的Aria2是基于安装用户来使用的,或者基于 root 用户,这样其实很不方便管理。

搭配它的WebUI-GitHub - mayswind/AriaNg: AriaNg, a modern web frontend making aria2 easier to use.,网页使用的是Nginx或者Apache2的用户权限www-data,Aria2用的又是root,导致下载的文件都是root权限,权限问题比较杂。

这时候如果有磁盘映射(映射SMB或者WebDav的那个文件夹),特别是基于Nginx或者Apache2搭建的WebDav,这样其他的用户根本没办法对下载的文件进行编辑等操作。

也就是说,只要把Aria的权限改为www-data,那么整个文件夹权限都是统一的 www-data,一视同仁。

操作

修改Aria2的服务:

# vim /usr/lib/systemd/system/aria2c.service

[Unit]
Description=Aria2c

[Service]
User=www-data
Group=www-data
TimeoutStartSec=0
ExecStart=/usr/bin/aria2c --conf-path=/var/www/aria2/aria2.conf
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=30s

[Install]
WantedBy=multi-user.target

需要注意的就是在 [Service] 段,定义 User=www-dataGroup=www-data,以及它的conf-path 文件,conf-path 文件必须放在 www-data 权限的文件夹内才能访问,不能放在默认的 ~/.aria2 文件夹中。

执行:

systemctl daemon-reload
systemctl restart aria2c

这样就解决了Aria2核AriaNG的权限统一问题。

补充

AriaNG的WebUI需要RPC密钥才能连接,只需要使用Nginx将其代理出去即可,还可以继续使用6800的端口号:

1.修改aria2.conf配置

rpc-listen-port=16800 随意更换一个端口号

2.配置Nginx反向代理

server {
	listen 6800;
	listen [::]:6800;
	
	server_name xxx.com;
	
	location / {
		proxy_pass      http://127.0.0.1:16800;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
	}
}

这样就将RPC端口仍然使用的默认6800端口。

最后

Aria2真的很香,不说速度有多快吧,但是肯定不慢,平时我下载电影都用的它,总好过开台电脑挂机下载吧。