您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 鸡西分类信息网,免费分类信息发布

如何在树莓派上搭建私有云存储

2023/1/18 11:10:46发布36次查看
本篇的旨在最全面地介绍搭建网盘的整个过程,让没有linux基础的小白们少走弯路,因此细节上多有赘述,老司机们请无视。最近国内的网盘们一个接一个地倒下,相信很多人不想忍受某网盘的限速,大家对私有云的需求越来越高。最简单和稳妥的解决办法当然还是购买群晖这样高性能、多功能的nas,但动辄几千元的售价还是让许多人望而却步,市面上的私有云盘软件有诸如可道云、nextcloud/owncloud、seafile等,这里it之家来介绍如何用一块树莓派3b开发板搭建私有云存储。
先介绍一下本篇的主角——可道云
kodexplorer可道云,原名芒果云,是基于web技术的私有云和在线文档管理解决方案,具有以下特点:
轻量易部署适用性强,应用场景多高颜值、可定制
在体验了各家网盘后笔者选择了可道云,主要是第一眼就被他近似于windows的操作界面吸引了,可道云不需要数据库,足够轻量,搭建简单,毕竟小小的树莓派机能实在是有限。对比owncloud,可道云在树莓派上的性能表现要好太多。但也有像无移动客户端支持、同步不便、移动端网页版存在一些问题等不足。
aria2
aria2被众多网友视为下载神器,相信不少朋友都接触过,它是一款开源免费跨win、mac、linux平台且不限速的多线程下载软件,具有速度快、体积小、性能强劲等特点。aria2支持http / ftp / bt / magnet磁力链接等类型的文件下载。
准备
树莓派3b内存卡硬盘公网ip域名
为树莓派安装系统并启动登录
先去树莓派官网下载系统镜像
点download zip下载压缩包,下载完成后解压,得到img镜像文件。
下载镜像烧录工具win32diskimager v0.9.zip并安装。
使用读卡器将内存卡连接电脑,运行win32diskimager。
映像文件选择刚下载的img文件,设备选择内存卡盘符,然后选择写入,就开始安装系统了,安装完成后会弹出完成对话框。安装完成后在windows系统看到内存卡只有74mb这是正常的,windows看不到linux下的分区。
然后在内存卡根目录下新建文件名为ssh的空白文件(没有后缀名),这样就能开启ssh服务登陆树莓派了。
将内存卡插入树莓派,用网线连接树莓派网口和路由器lan口,然后接上电源线。树莓派就开机了!
登陆路由器后台查看树莓派的内网ip
可以看到这里树莓派获取到的ip地址为192.168.2.6,记住这个地址
下载并安装putty,安装完成后运行putty。
将电脑和树莓派置于同一局域网,在主机名称中输入192.168.2.6,端口默认的22就可以,然后点击打开。这时会弹出安全警告,点是即可;之后输入用户名:pi;密码:raspberry(输入时密码不可见)就成功登陆树莓派了。
域名
大家可以在阿里云注册一个喜欢的域名,部分域名一年也就几块钱。至此准备工作就完成了。
搭建可道云
putty登陆后为root用户设置密码,输入(putty中单击鼠标右键粘贴):
sudo passwd root
会提示输入密码,然后确认输入密码(输入时密码不可见)。
输入如下命令就可切换到root用户:
su
我们先解除树莓派对root用户直接登陆的限制,编辑sshd_config文件:
sudo nano /etc/ssh/sshd_config
按ctrl+w搜索permitrootlogin,删除前面的#并把without-password改为yes:
permitrootlogin yes
按ctrl+o保存文件,ctrl + x退出编辑然后重启树莓派:
reboot
安装apache+php
使用root用户登录,先更新一下安装源:
sudo apt-get update
安装apache2和php:
sudo apt-get install apache2 php7.0 php7.0-curl php7.0-mbstring php7.0-gd
这时访问树莓派的ip就可以看到apache2的默认页了。
挂载硬盘
树莓派挂载ntfs硬盘默认是只读文件系统,我们可以通过其它工具实现,安装ntfs-3g:
sudo apt-get install ntfs-3gmodprobe fuse
接下来我们创建挂载点,我选择的挂载点在/media/pi/mo文件夹:
sudo mkdir /media/pi/mo
查看系统当前挂载的硬盘:
fdisk -l
我们会看到最下面有如下信息:
device boot start end sectors size id type/dev/mmcblk0p1 8192 93236 85045 41.5m c w95 fat32 (lba)/dev/mmcblk0p2 94208 62521343 62427136 29.8g 83 linuxdisk /dev/sda: 464.8 gib, 3899024998 bytes, 937766584 sectorsunits: sectors of 1 * 512 = 512 bytessector size (logical/physical): 512 bytes / 512 bytesi/o size (minimum/optimal): 512 bytes / 512 bytesdisklabel type: dosdisk identifier: 0xa7cf32d1device boot start end sectors size id type/dev/sda1 2048 334438655 937766584 464.8g 7 hpfs/ntfs/exfat
其中/dev/sda1为这块硬盘的分区信息。下面我们就以apache的默认用户www-data来挂载硬盘,输入如下命令来查看用户身份:
sudo -u www-data id
显示信息如下:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
然后让硬盘能够自动挂载,编辑/etc/fstab:
sudo nano /etc/fstab
将如下内容添加到文件最后一行:
/dev/sda1 /media/pi/mo ntfs uid=33,gid=33,noexec,umask=007 0 0
这里uid和gid为用户和组,也就是上面我们查看到的信息;umask表示拒绝的权限,其中第一个数字为0。表示不拒绝任何权限,即可读、写、执行,第二、三个数字分别代表用户组和其他用户。按ctrl+o保存文件,然后ctrl + x退出编辑,重启后生效:
reboot
配置可道云
下载并解压可道云
cd /media/pi/mo/kodwget http://static.kodcloud/update/download/kodexplorer4.25.zipunzip kodexplorer4.25.zipchmod -rf 777 ./*
配置apache:
nano /etc/apache2/sites-available/kod.conf
粘贴如下内容:
servername kod.wumoserveradmin abc@outlookdocumentroot /media/pi/mo/kod options followsymlinks allowoverride all require all granted
注:这里将kod.wumo替换成你自己的用来访问云盘的域名。重启apache2:
sudo service apache2 restart
解析域名
我们先在路由器上配置端口转发,进入路由器管理后台,找到端口转发/端口映射这项,以我手里这台刷了老毛子的斐讯为例:服务名称随意;端口范围我这里填58080(图上是80,别管它),这个端口是可以任意的,它是我们通过域名访问树莓派上的web服务时使用的端口,你可以用其他端口但尽量避开80、443、8080这些端口,因为运营商会封禁这些web服务默认端口;内网ip:树莓派的内网ip;本地端口:80;这样我们就把对路由器58080端口的访问转移到树莓派的80端口了。这里我们也为aria2配置一条转发规则:将路由器的6800端口转发到树莓派的6800端口。
家庭宽带ip会经常改变,这里就需要动态域名解析。动态域名的功能大多数路由器都有,如果你不会的话可以参考这篇文章用winscp将softether(提取码:uqgx)上传到树莓派根目录并解压:
tar -zxvf softether-vpnserver-v4.25-9656-rtm-2018.01.15-linux-arm_eabi-32bit.tar.gzcd /vpnserver./.install.sh./vpnserver start–simplified chinese
然后设置密码:
./vpncmd
输入1,后按三次回车,然后输入:
serverpasswordset
按照提示设置密码,然后下载并安装windows端管理工具(在上面的网盘链接里),点击“新设置”添加连接文件。主机名填树莓派内网ip,端口:443,密码:你刚才设置的密码。
确定后选择“远程访问vpnserver”,然后一路确定,你就能看到分配到的动态解析的域名了,
记下这个域名,我的域名是阿里云注册的,进入阿里云控制台>我的资源>云解析dns>你的域名,选择添加解析,
记录类型:cname;主机记录:配置apache时填写的域名(上文中我填的是kod);记录值:动态dns分配的域名。
至此我们的私有云就搭建完成了!用浏览器访问http://你的域名:转发到树莓派的端口号就可以看到我们搭建的云盘了。效果如下:
本文就是用可道云内置的md编辑器写的。
配置aria2
这里aria2的配置参考这篇文章。
安装aria2
sudo apt-get install aria2
配置aria2在/etc目录下创建aria2目录用来存放配置文件:
sudo mkdir /etc/aria2
创建空白的aria2.session文件:
sudo touch /etc/aria2/aria2.session
创建配置文件:
sudo nano /etc/aria2/aria2.conf
在该文件中输入以下内容:
# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置dir=/media/pi/mo/kod/data/user/admin/home/download# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16mdisk-cache=32m# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc# falloc和trunc则需要文件系统和内核支持# ntfs建议使用falloc, ext3/4建议trunc, mac 下需要注释此项file-allocation=none# 断点续传continue=true## 下载连接相关 ### 最大同时下载任务数, 运行时可修改, 默认:5max-concurrent-downloads=10# 同一服务器连接数, 添加时可指定, 默认:1max-connection-per-server=5# 最小文件分片大小, 添加时可指定, 取值范围1m -1024m, 默认:20m# 假定size=10m, 文件为20mib 则使用两个来源下载; 文件为15mib 则使用一个来源下载min-split-size=10m# 单个任务最大线程数, 添加时可指定, 默认:5split=10# 整体下载速度限制, 运行时可修改, 默认:0#max-overall-download-limit=0# 单个任务下载速度限制, 默认:0#max-download-limit=0# 整体上传速度限制, 运行时可修改, 默认:0#max-overall-upload-limit=0# 单个任务上传速度限制, 默认:0#max-upload-limit=0# 禁用ipv6, 默认:falsedisable-ipv6=true## 进度保存相关 ### 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0#save-session-interval=60## rpc相关设置 ### 启用rpc, 默认:falseenable-rpc=true# 允许所有来源, 默认:falserpc-allow-origin-all=true# 允许非外部访问, 默认:falserpc-listen-all=true# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同#event-poll=select# rpc监听端口, 端口被占用时可以修改, 默认:6800#rpc-listen-port=6800# 设置的rpc授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项rpc-secret=123456789# 设置的rpc访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项#rpc-user=# 设置的rpc访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项#rpc-passwd=## bt/pt下载相关 ### 当下载的是一个种子(以.torrent结尾)时, 自动开始bt任务, 默认:true#follow-torrent=true# bt监听端口, 当端口被屏蔽时使用, 默认:6881-6999listen-port=51413# 单个种子最大连接数, 默认:55#bt-max-peers=55# 打开dht功能, pt需要禁用, 默认:trueenable-dht=true# 打开ipv6 dht功能, pt需要禁用#enable-dht6=false# dht网络监听端口, 默认:6881-6999#dht-listen-port=6881-6999# 本地节点查找, pt需要禁用, 默认:false#bt-enable-lpd=true# 种子交换, pt需要禁用, 默认:trueenable-peer-exchange=true# 每个种子限速, 对少种的pt很有用, 默认:50k#bt-request-peer-speed-limit=50k# 客户端伪装, pt需要peer-id-prefix=-tr2770-user-agent=transmission/2.77# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0seed-ratio=0.1# 强制保存会话, 即使任务已经完成, 默认:false# 较新的版本开启后会在任务完成后依然保留.aria2文件#force-save=false# bt校验相关, 默认:true#bt-hash-check-seed=true# 继续之前的bt任务时, 无需再次校验, 默认:falsebt-seed-unverified=true# 保存磁力链接元数据为种子文件(.torrent文件), 默认:falsebt-save-metadata=false
注1:rpc-secret=123456789,改为你自己的密码;
注2:aria2默认下载目录笔者放在了可道云管理员文件目录下的download文件夹,下载完成后打开可道云即可看到。
启动aria2
这里我们用www-data用户来运行aria2,先赋予配置目录可执行权限:
sudo chown -r www-data:www-data /etc/aria2
以www-data用户运行aria2:
sudo -u www-data aria2c --conf-path=/etc/aria2/aria2.conf
如果没有提示任何错误信息,那就按ctrl+c停止上面的语句,以daemon的形式,转为后台运行:
sudo -u www-data aria2c --conf-path=/etc/aria2/aria2.conf -d
做成系统服务:
sudo nano /etc/init.d/aria2c
粘贴以下内容:
#!/bin/sh### begin init info# provides: aria2# required-start: $remote_fs $network# required-stop: $remote_fs $network# default-start: 2 3 4 5# default-stop: 0 1 6# short-description: aria2 downloader### end init info case $1 instart) echo starting aria2c ... sudo -u www-data aria2c --conf-path=/etc/aria2/aria2.conf -d;;stop) echo shutting down aria2c ... killall aria2c;;restart) killall aria2c sleep 3 sudo -u www-data aria2c --conf-path=/etc/aria2/aria2.conf -d;;esacexit
然后设置这个文件的权限:
sudo chmod 755 /etc/init.d/aria2c
测试服务是否可以启动:
sudo service aria2c start
添加aria2c服务自动运行:
sudo update-rc.d aria2c defaults
安装aria的web管理界面这里我们选择aria2-ng作为web管理界面创建目录:
mkdir /var/www/html/aria2
下载并解压aria2-ng:
cd /var/www/html/aria2 && wget https://github/mayswind/ariang/releases/download/0.3.0/aria-ng-0.3.0.zipunzip aria-ng-0.3.0.zip
配置apache:
nano /etc/apache2/sites-available/aria2.conf
输入以下内容:
servername aria2.wumoserveradmin qazqazqwer@outlookdocumentroot /var/www/html/aria2 options followsymlinks allowoverride all require all grantederrorlog ${apache_log_dir}/error.logcustomlog ${apache_log_dir}/access.log combined
注:和上文一样把aria2.wumo替换成你用来访问aria2管理界面的域名。
ln -s /etc/apache2/sites-available/aria2.conf /etc/apache2/site...
鸡西分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录