使用arm开发板搭建私有云服务
===========================================
本篇文章是介绍使用一块arm的开发板构建一个私人的云服务器(nas),上篇文章介绍了如何构建orangepi r1 plus 的
系统
。
接下来会使用这个系统搭建私有云。
云服务器软件选择
想要实现私人nas肯定需要一个云盘系统软件,在github上找到这个款功能强大的云服务软件Cloudreve,具体功能查看
官方介绍
下载并且运行
选择一个自己需要的版本,如果没有那么只能编译,编译过程查看官方文档。
新建一个conf.ini配置文件输入一下内容
[System]
Mode = master
Listen = :5200
; SSL 相关
[SSL]
; SSL 监听端口
Listen = :443
; 证书路径
CertPath = /home/lan/cloudreve/cert.pem
; 私钥路径
KeyPath = /home/lan/cloudreve/server.key
没有证书可以不配置ssl相关内容(如果没有ssl onedrive是无法使用的)
运行
/home/lan/cloudreve/cloudreve -c /home/lan/cloudreve/conf.ini
使用浏览器访问http://192.168.1.121:5200 (ip填写开发板的ip)界面如下:
编译ntfs-3g
只使用sd的存储容量是完全不够的,因此需要挂载U盘,或者硬盘盒。这类存储如果是ntf格式那么就需要通过ntfs-3g这个软件进行挂载,如果可以格式化成
ext4那么可以省去这一步。
在github上
下载ntfs-3g
进入源码目录执行下面的命令
#具体参数根据自己系统进行修改
./configure --prefix=/home/lan/linux/tool/ntfs-3g/install_arm64 --disable-ntfsprogs CC=aarch64-none-linux-gnu-gcc --build=x86_64 --host=arm-linux --target=aarch64-linux AR=aarch64-none-linux-gnu-ar
make -j8
make install
编译完成之后在install_arm64/bin下面可以找到软件复制到开发板的/usr/bin (先把ssh服务搭建起来后期开发简单一些,需要移植openssh服务,或者dropbear,不管如何都需要openssh中的sftp-server服务)
插上硬盘等待识别出来,对usb3.0的移动硬盘识别成功率很低,可能是这个硬盘盒芯片的原因。
移动硬盘插入自动挂载
自动挂载需要mdev的支持,mdev已经在busybox中支持。需要在busybox中配置支持mdev.conf
输入命令
[root@Orangepi ~] vi /etc/mdev.conf
#输入
sd[a-z][1-9] 0:0 666 @/etc/mdev/udisk_insert.sh
sd[a-z] 0:0 666 $/etc/mdev/udisk_remove.sh
[root@Orangepi ~]vi /etc/mdev/udisk_insert.sh
#!/bin/sh
if [ -d /sys/block/*/$MDEV ] ; then
mkdir -p /home/lan/cloudreve/uploads/$MDEV
ntfs-3g /dev/$MDEV //home/lan/cloudreve/uploads/$MDEV
fi
[root@Orangepi ~] vi /etc/mdev/udisk_remove.sh
#!/bin/sh
umount -l /dev/$MDEV
[root@Orangepi ~] cat /etc/init.d/rcS
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
export LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
export PATH
mkdir /dev/pts
mount -a
mount -t devpts devpts /dev/pts
#加上下面两行
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
####################
[ -r /etc/sysconfig/network ] && . /etc/sysconfig/network
[ -z "$HOSTNAME" -o "$HOSTNAME" == "(none)" ] && HOSTNAME=localhost
/bin/hostname $HOSTNAME
这里描述不够详细,如果没实现需要再去google“自动挂载U盘”
添加存储策略
在第一次运行的cloudreve时显示的管理员账号密码,用于登录。
1、点击头像
2、进入管理面板
3、存储策略
4、添加策略,输入/upload/sda5
6、添加用户组、策略改为刚刚添加的。
7、添加用户,选择刚添加的用户组。
具体详细操作到cloudreve官方查看。
总结
如果真的要实现一个完整可用的系统那么还需要将服务添加到系统服务中,然而busybox对系统服务支持很差,没有像ubuntu的systemd进程服务,因此不想折腾的可以直接刷入ubuntu系统,用起来省心,但是很多原理没有自己去实现来的清晰。