前言?
年初在某宝剁了个Celeron 2955U的迷你主机,打算当个下载机加NAS,配置好了也没个总结。正巧朋友配置Aria2时出现了点问题,所以总结记录下。本人也是Linux初心者,有错误或不足希望大佬指正orz。虽说我这里使用的ArchLinux,但其他的发行版也大同小异,换下包管理器就行。因为这机器我只在内网用,所以就懒得写防火墙规则了,嘎嘎嘎。以下是涉及到的主要内容:
- 下载工具Aria2的配置
- 文件服务器Samba的配置
- macOS TimeMachine服务器的配置
一些微小的前置工作
ArchLinux的安装较其他发行版本会有点麻烦,我参考的这篇文章。因为做下载机,所以我没有安装图形界面,安装之后的配置使用ssh。ArchLinux安装之后默认没有安装OpenSSH,所以需要你自己安装下
安装OpenSSH
sudo pacman -S openssh
sudo systemctl start sshd
sudo systemctl enable sshd
之后就能使用ssh配置你的机器了
添加Arch Linux中文社区仓库和安装yaourt
Arch Linux 中文社区仓库 是由 Arch Linux 中文社区驱动的非官方用户仓库。包含中文用户常用软件、工具、字体/美化包等。
在/etc/pacman.conf
的末尾添加如下内容
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = http://repo.archlinuxcn.org/$arch
之后安装 archlinuxcn-keyring 包以导入 GPG key
sudo pacman -S archlinuxcn-keyring
安装yaourt,方便使用AUR
sudo pacman -S yaourt
下载工具Aria2的配置
Aria2是一个命令行的下载工具,下面是官方的简介:
aria2 is a lightweight multi-protocol & multi-source command-line download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink. aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.
Aria2有两种使用方式,一种是直接给他喂链接或者种子,下完了他就摸了。另一种是作为后台服务,通过Json-RPC接受任务,下完了也会在后台呆着,所以我们用第二种。
安装Aria2
yaourt -S aria2
Aria2配置文件的编写
配置文件其实随你放哪,我扔在了~/.aria2
下面
配置文件的编写说明可以参考这篇文章,下面是我的配置文件
dir=/mnt/storage/downloads
disk-cache=32M
file-allocation=falloc
continue=true
max-concurrent-downloads=10
max-connection-per-server=5
min-split-size=10M
split=10
disable-ipv6=true
input-file=/home/chigusa/.aria2/aria2.session
save-session=/home/chigusa/.aria2/aria2.session
save-session-interval=60
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
rpc-secret=951013
seed-ratio=2.0
seed-time=720
bt-detach-seed-only=true
有一个小问题aria2.session
需要你自己touch下,如果不存在就会出错。
之后你就可以使用aria2c --conf-path=aria2.conf
来启动了,不过你把终端一关他就摸了,当然你也可以用screen啥的,不过还是推荐写个单元文件,也可以方便自启。
编写单元文件
新建个单元文件
sudo vim /usr/lib/systemd/system/aria2c.service
我的单元文件,注意下用户名和配置文件路径改成自己的
[Unit]
Description=Aria2c download manager
After=network.target
[Service]
User=<你的用户名>
Type=forking
ExecStart=/usr/bin/aria2c --conf-path=/home/chigusa/.aria2/aria2.conf -D
[Install]
WantedBy=multi-user.target
- 启动单元
sudo systemctl start aria2c
- 停止单元
sudo systemctl stop aria2c
- 查看单元状态
sudo systemctl status aria2c
- 开启单元自启
sudo systemctl enable aria2c
- 关闭单元自启
sudo systemctl disable aria2c
Web前段的配置
到此aria2后端就配置完了,客户端很多,Google Play上也有相应的App,不过这里我们使用AriaNG
- 先安装Nginx和一些工具
yaourt -S nginx p7zip wget
- 下载并配置AriaNG
wget https://github.com/mayswind/AriaNg-DailyBuild/archive/master.zip
sudo mv master.zip /srv/http
cd /srv/http
sudo 7z x master.zip
sudo mv AriaNg-DailyBuild-master aria2
sudo chmod -R 775 ../
- 编写
nginx.conf
sudo vim /etc/nginx/nginx.conf
如图,更改默认的路径
- 开启并启动nginx
sudo systemctl start nginx
sudo systemctl enable nginx
- 最后
如果没错的话,用浏览器访问http://<服务器IP>/aria2
就有AriaNg的页面了,当然也要简单配置下,主要是IP和密钥,然后就能用了。
文件服务器Samba的配置
东西下好了就要考虑怎么把东西搞回来了,这里推荐使用Samba
- 安装Samba
yaourt -S samba
- 配置Samba
Samba 服务的默认配置文件在 /etc/samba/smb.conf.default 中,需要将初始配置复制到 /etc/samba/smb.conf,否则 smbd 无法启动:
sudo cp /etc/samba/smb.conf.default /etc/samba/smb.conf
sudo vim /etc/samba/smb.conf
这里填成WORKGROUP
接着在末尾添加一个单元
Samba 需要 Linux 账户才能使用 - 可以使用已有账户或 创建新用户.
虽然用户名可以和 Linux 系统共享,Samba 使用单独的密码管理,将下面的 samba_user
替换为选择的 Samba 用户:
smbpasswd -a samba_user
- 启动并启用Samba服务
sudo systemctl start smbd
sudo systemctl enable smbd
- 使用和一些安利
在windows下在浏览器访问\<你的ip>就好了,macOS和Linux下访问smb://<你的IP>
,安卓下可以试试Solid Explorer
配合MxPlayer
,iOS强力推荐nPlayer
,配合iPad简直爽到,如图:
TimeMachine服务器的配置
用Mac的用户肯定很喜欢的TimeMachine,但挂个移动硬盘啥的就有点弱智了,所以用咱们的下载机做TimeMachine的服务器
- 安装
netatalk
yaourt -S netatalk
- 配置
netatalk
sudo vim /etc/afp.conf
,在末尾添加如下单元。[]
里是单元名,path
是TimeMachine的备份路径,如果这是一个TimeMachine单元要加time machine = yes
,vol size limit
是TimeMachine单元的独有参数,决定备份文件最大体积这里是100G。
以下是我的配置文件
[Time Machine]
path = /mnt/storage/TimeMachine
time machine = yes
vol size limit = 100000
- 在macOS的配置
打开Finder,按Command-k
,地址填afp://<你的IP>
,按确定
打开Time Machine设置,选择磁盘,选择你的服务器就可以了