从零搭建DAS服务器,挂载扩容硬盘,实现自动下载(基于树莓派,详细!!!)
树莓派搭建家庭DAS服务器,实现自动下载
配置树莓派挂载配置树莓派树莓派文件共享功能准备硬盘安装和配置samba映射至本地自动下载功能安装并配置aria2启动本文主要介绍了树莓派购买后的配置方法,并通过samba以及aria2简单搭建带有下载功能的家庭nas服务器。尽量详细分解了各个流程,适合跟做,事半功倍。
需要提前准备的材料:
- 树莓派1/2/3型 开发板(我用的是3B+),适配的5V2A电源;
- TF卡(不小于4G),TF 读卡器;
- 一块移动硬盘,最好再配个有源USB-Hub;
- TF镜像。找到对应Pi的型号的镜像,这里提供一个已开启SSH等各种功能的镜像:
下载链接:https://pan.baidu.com/s/16erz8pZ6yjPVyPjoU_lkwQ
提取码:ilpo - 磁盘格式化工具SDFormatter:
下载链接:https://pan.baidu.com/s/12VaGB3daeowpgqZRClmbvg
提取码:hq77 - 镜像读写工具 win32diskimager:
下载链接:https://pan.baidu.com/s/184oU57y0Oqq8nqiksP0HPg
提取码:jf53 - 一台计算机,W 1b5d7 indows系统;
- 远程SSH 本文以Xshell为例;
- 一台显示器或都电视机,HDMI接口,HDMI线。(其实不用显示设备也可以,通过SSH操作)。
一、 配置树莓派
(1)写入镜像
将SD卡插入读卡器连接电脑,运行 SDFormatter.exe 对SD卡进行格式化后,打开 Win32DiskImager.exe 烧写镜像,点击“Write”,完成后把SD卡插入树莓派。
(2)连接WIFI与SSH
1、树莓派通电开机,进入主界面,右上角连接WIFI
2、固定IP
由于我们日常都是使用ssh来开发跟管理树莓派,偶尔用一下远程桌面,但是路由器的DHCP服务器经常会给树莓派分配不同的IP地址,每次登录路由器查看比较麻烦,因此需要将树莓派的IP地址设置为固定IP。
使用浏览器登录路由器,在地址栏输入:192.168.1.1,然后回车,默认的账号密码都是admin,将IP与MAC绑定。
3、连接SSH
打开Xshell,点击右上角:文件—>新建—>连接—>主机处输入树莓派IP地址—>用户身份验证—>用户名:pi—>密码:yahboom(默认)—>确定
至此,之后的操作全部可以在Xshell中完成。
二、 安装samba实现文件共享
(1) 准备硬盘
1、安装软件,实现硬盘读写功能
#更新 sudo apt-get update #安装所需软件包 sudo apt-get install ntfs-3g #加载内核模块 modprobe fuse
2、将硬盘插入树莓派USB接口,查看硬盘的设备目录
sudo fdisk -l
通常是/dev/sda1,查看已连接的储存设备,可以看到/dev/sda1,比对存储大小后确认设备目录。
3、挂载硬盘
# 创建要挂载的文件夹并修改权限 sudo mkdir /samba sudo chmod 777 /samba # 挂载硬盘 sudo mount -t ntfs-3g /dev/sda1 /samba
4、实现开机自动挂载到指定目录
# 编辑fstab让移动硬盘开机自动挂载 sudo vim /etc/fstab # 在最后一行添加如下内容 /dev/sda1 /samba ntfs-3g defaults,noexec,umask=0000 0 0
# 查看挂载情况 df -h
可以看到932G的移动硬盘已经成功挂载在samba目录下。
(2) 安装和配置samba
# 安装 sudo apt-get install samba samba-common-bin # 配置 sudo vim /etc/samba/smb.conf
在文件最后面添加:
[share] #共享文件的名称,将在网络上以此名称显示 path = /samba #共享文件的路径 browseable = yes #允许浏览 public = yes #共享开放 writable = yes #可写 guest ok=yes #允许访客
出于安全考虑,还可以选择加入以下: security = user #局域网的人访问你的电脑都需要用户名和密码 security = share #无需密码 添加用户并设置密码命令: sudo useradd <username> -m -G users sudo passwd <username>
# 重启samba sudo /etc/init.d/samba restart
# 把用户加入Samba中 sudo smbpasswd -a <username> # <username>处将前面出于安全考虑新建的账户加入,如无需考虑安全问题,建议用 pi 作为<username>
当然, < username > 是否需要写取决于是否处于root权限下
# 设置开机自启(同硬盘自启) sudo vim /etc/rc.local、 # 添加下面内容 sudo /etc/init.d/samba restart
(3) 映射至本地
我的电脑—>映射网络驱动器—>Z:\\树莓派IP地址\share
注意斜杠个数与方向,IP地址斜杠后填写smb.con配置文件中[ ]自定义的共享文件的名称。
三、安装aria2实现自动下载
# 安装aria2 sudo apt-get install aria2 # 开始配置 cd ~ # 前往挂载硬盘目录 cd /samba # 创建aria2目录 mkdir aria2 && cd aria2 # 创建缓存文件 touch aria2.session # 创建修改配置文件 vim aria2.conf
在aria2.conf中输入以下内容:
#允许rpc enable-rpc=true #允许所有来源, web界面跨域权限需要 rpc-allow-origin-all=true #允许非外部访问 rpc-listen-all=true #最大同时下载数(任务数), 路由建议值: 3 max-concurrent-downloads=20 #断点续传 continue=true #同服务器连接数 max-connection-per-server=5 #最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要 min-split-size=10M #单文件最大线程数, 路由建议值: 5 split=10 #下载速度限制 max-overall-download-limit=0 #单文件速度限制 max-download-limit=0 #上传速度限制 max-overall-upload-limit=30K #单文件速度限制 max-upload-limit=0 #断开速度过慢的连接 #lowest-speed-limit=0 #验证用,需要1.16.1之后的release版本 #referer=* input-file=/samba/aria2/aria2.session save-session=/samba/aria2/aria2.session #定时保存会话,需要1.16.1之后的release版 save-session-interval=60 #文件保存路径, 默认为当前启动位置**********(在挂载硬盘的目录内创建download文件夹保存下载文件) dir=/samba/download #文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本 #disk-cache=0 #另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?) #enable-mmap=true #文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长 #所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持 file-allocation=prealloc #启用本地节点查找 bt-enable-lpd=true #单种子最大连接数 #bt-max-peers=55 #强制加密, 防迅雷必备 #bt-require-crypto=true #当下载的文件是一个种子(以.torrent结尾)时, 自动下载BT follow-torrent=true #BT监听端口, 当端口屏蔽时使用 #listen-port=6881-6999 disable-ipv6=true log=/samba/aria2/aria2.log log-level=notice #添加额外的tracker bt-tracker= http://121.14.98.151:9090/announce, http://121.14.98.151:9090/announce, http://anisaishuu.de:2710/announce, http://bigfoot1942.sektori.org:6969/announce, http://bt.careland.com.cn:6969/announce, http://bt2.careland.com.cn:6969/announce, http://exodus.desync.com/announce, http://exodus.desync.com:6969/announce, http://hdreactor.org:2710/announce, http://i.bandito.org/announce, http://open.nyaatorrents.info:6544/announce, http://shadowshq.yi.org:6969/announce.php, http://siambit.org/announce.php, http://tracker.bestxl.com:8077/announce, http://tracker.nwps.ws:6969/announce, http://tracker.trackerfix.com/announce, http://tracker.trackerfix.com:80/announce, http://tracker1.torrentino.com/announce, http://tracker1.wasabii.com.tw:6969/announce, http://tracker2.torrentino.com/announce, http://tracker3.torrentino.com/announce, udp://12.rarbg.me:80/announce, udp://9.rarbg.com:2710/announce, udp://9.rarbg.me:2710/announce, udp://bt.rutor.org:2710, udp://coppersurfer.tk:6969/announce, udp://eddie4.nl:6969/announce, udp://exodus.desync.com:6969, udp://explodie.org:6969/announce, udp://open.demonii.com:1337, udp://open.demonii.com:1337/announce, udp://shadowshq.yi.org:6969/announce, udp://tracker.coppersurfer.tk:6969/announce, udp://tracker.ex.ua:80/announce, udp://tracker.istole.it:6969, udp://tracker.istole.it:80, udp://tracker.istole.it:80/announce, udp://tracker.istole.it:80/announcea, udp://tracker.leechers-paradise.org:6969/announce
# 启动 aria2c --conf-path=/samba/aria2/aria2.conf # 后台启动 aria2c --conf-path=/samba/aria2/aria2.conf -D # 添加开机启动 sudo vim /etc/rc.local # 添加下面内容 sudo aria2c --conf-path=/home/pi/samba/aria2/aria2.conf -D # 退出后添加可执行权限 sudo chmod +x /etc/rc.local
–conf-path= 后面的路径为 aria2.conf 配置文件的绝对路径。
${HOME} 表示 /Users/用户名,此处无需使用。
启动后可以通过该网站进行管理,亦可下载yaaw的Chrome插件或者使用命令行的方式进行下载使用。
http://webui-aria2.ghostry.cn/
下载任意文档测试,正常运行,即已实现自动下载功能。
四、写在最后的话
至此,DAS服务器以及全部搭建完成,考虑到开发板长时间启动,建议加装散热风扇及外壳,按此方法完成DAS服务器搭建后树莓派重启后仍可以正常运行,无需更多操作;
此外,针对移动设备访问,苹果用户可以在App Store下载「FileExplorer」来访问局域网中的共享文件;安卓用户可以下载「ES文件浏览器」来访问局域网的共享文件夹;
最后,关于服务器云盘搭建,如何挂载google drive理论上实现无限存储空间与离线下载等功能,请关注如下教程:
关于 宝塔面板配置与优化,详见文章 宝塔面板配置与优化
关于 NextCloud的搭建与配置,详见文章 NextCloud搭建与配置
关于 挂载Google Drive网盘,详见文章 挂载GoogleDrive网盘
关于 挂载Aria2+AriaNG,详见文章 挂载Aria2+AriaNG
基于Nextcloud,挂载Google drive,搭建Aria2+AriaNg,实现在线下载BT磁链/在线观看/全功能文件管理/无限容量云盘 点击此处阅读
参考:
1: https://www.jianshu.com/p/308fb22a7dab
2: http://aria2c.com/usage.html
3: https://www.linuxprobe.com/how-pai-nas.html
4: https://www.bilibili.com/video/av19369685
5: https://www.geek-share.com/detail/2710696697.html
6: https://www.linuxprobe.com/how-pai-nas.html
7: https://segmentfault.com/a/1190000016097376
8: https://www.geek-share.com/detail/2630053941.html
- Openssh服务器的搭建,并使用PSFTP实现文件自动上传,下载的script命令
- IE中Active控件实现自动下载注册(基于Tomcat服务器)
- 这可能是东半球最详细的Linux下搭建Jenkins服务器实现自动打包的教程(下)
- 搭建NIS+NFS服务器并实现autofs自动挂载
- windows基于阿帕奇服务器,实现vc++文件下载功能
- 树莓派上手实战之命令行下实现USB存储设备自动挂载
- Linux 硬盘挂载(服务器重启自动挂载)
- CI持续集成服务器搭建创建bot服务实现自动构建
- centOs6.5 SVN 服务器搭建并实现提交自动同步到web服务器
- 基于树莓派的apache2服务器搭建
- 使用newifi路由器刷Openwrt Pandora后,树莓派实现外网访问,各种服务器搭建
- Centos7上搭建SVN服务器并实现自动同步至web目录
- 基于Windows Server 2008 系统的DNS服务器搭建与FTP服务器实现-《网络协议分析》实验
- 在树莓派 上 搭建 aria2+webui 实现远程下载
- Centos7上搭建SVN服务器并实现自动同步至web目录
- mac下搭建的Tomcat下载服务器在windows下下载ipa文件被自动变成zip文件
- 自动排班系统2.0(基于网络流实现的排班系统,附详细注解)
- Linux 硬盘挂载(服务器重启自动挂载)
- Linux配置NFS服务器,并且在客户端实现自动挂载
- centos6.5新增加硬盘挂载并实现开机自动挂载