先先容一下本篇的主角——可道云

KodExplorer可道云,原名芒果云,是基于Web技能的私有云和在线文档管理办理方案,具有以下特点:

轻量易支配

树莓派php72若何在树莓派上搭建私有云存储 JavaScript

适用性强,运用处景多

高颜值、可定制

在体验了各家网盘后笔者选择了可道云,紧张是第一眼就被他近似于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.com/update/download/kodexplorer4.25.zipunzip kodexplorer4.25.zipchmod -Rf 777 ./

配置apache:

nano /etc/apache2/sites-available/kod.conf

粘贴如下内容:

注:这里将kod.wumo.com更换成你自己的用来访问云盘的域名。
重启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=

注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.com/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

输入以下内容:

注:和上文一样把aria2.wumo.com更换成你用来访问aria2管理界面的域名。

ln -s /etc/apache2/sites-available/aria2.conf /etc/apache2/sites-enabled/aria2.conf

重启apache2:

sudo service apache2 restart

然后去阿里云把你用来访问aria2管理界面的域名的CNAME记录解析到动态域名上。
用浏览器输入http://用来访问aria2管理界面的域名:外网端口(上文中我用的是58080)访问你的aria2。
这里会显示认证缺点:

到AriaNG设置>RPC>Aria2RPC密钥输入上文你设置的密码,然后重新加载页面:

这里就会显示已连接了。

这样我们就大功告成了~

以上便是本次教程的全部内容,更多知识科普、实用教程,敬请关注IT之家极客学院。

想看到更多这类内容?去APP商店搜IT之家,每天都有小欢畅。