手机版
你好,游客 登录 注册
背景:
阅读新闻

x86主机搭建家庭智能路由系统 ---- Webmin搭建家庭数据中心

[日期:2017-08-16] 来源:Linux社区  作者:sweetWinne [字体: ]

起因

过年时从家里的旧电脑上拆下一块机械硬盘(NTFS格式且含有资料),回来后发现笔记本想读硬盘里的资料是件很麻烦的事。
一个简单的解决方法是,某宝买一个"硬盘底座"就好了,不过想到家里的小主机一直闲着也是闲着,本着折腾和物尽其用的原则,准备自己动手搭一台NAS服务器。

设想中的NAS服务器应该有以下特征:

  1. 能读取物理磁盘上的资料。
  2. 能在内网中提供文件共享(Samba、NFS、AFP)服务,方便其他设备读取资料。
  3. 能提供文件备份服务,定期备份手机相册。

动手尝试了几款出名的NAS系统:FreeNASRockstor,都不太符合我的需求,此类产品为了保证数据的安全性,大部分使用ZFS系统,并限制其他格式,经过尝试虽然还是可以挂载NTFS格式,但转念一想,为什么我要绕一大圈来"破解"系统本来限制的功能?我想要的仅仅只是一个文件共享以及对应的Web管理界面而已。

明确了需求后,我尝试寻找一些带Web管理的操作系统,最后,我找到了本文的主角:Webmin

Webmin简介

Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作。目前Webmin支持绝大多数的Unix系统,这些系统除了各种版本的linux以外还包括:AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等。
(内容摘自百度百科)

简单来说,Webmin提供了一个Web管理平台,使得常见的应用都可以在GUI界面中进行配置,代替那些难记的命令。

这东西简直太符合我的要求了,只需在CentOS上装个Samba,再加个管理界面,NAS就成了。
我不在乎数据的安全性,也不用管那些RAID,磁盘坏了就坏了吧。
我需要的仅仅是一个数据的暂存区,文件在局域网内共享,并且定时将特定数据上传到云盘就好了。

Proxmox中创建虚拟机

搭建平台前,首先要在Proxmox中创建一台虚拟机,考虑到我只需要跑几个服务,我选择了轻量级容器LXC。
第一次使用LXC,要先下载模板,选择存储中的"local"--"内容"--"模板",根据需要下载对应模板。

有了模板之后,点击Proxmox控制台右上角“创建CT”,设置root密码,选择要使用的模板,CPU,内存等配置。

虚拟机创建好了,还需要将物理磁盘进行映射,通过阅读官方文档,在Host机上执行以下命令:
注意:LXC容器不可以挂载NFS和块设备

pct set 104 -mp0 /dev/disk/by-id/ata-WDC_WD5000AAKX-001CA0_WD-WMAYUM449361-part1,mp=/storage

如果使用KVM,也可以映射物理磁盘(官方文档),使用以下命令:

# 将104换成虚拟机ID,by-id后名称替换为自己硬盘
qm set 104 -virtio2 /dev/disk/by-id/ata-WDC_WD5000AAKX-001CA0_WD-WMAYUM449361

查看虚拟机信息,可以看到磁盘或者分区已经挂载好了。

这里虽然成功挂载了,实际使用时会提示Read-Only file system,解决方法是在宿主机安装ntfs-3g:

apt-get install ntfs-3g

安装Webmin

Webmin提供了多种安装包,其中当然包换CentOS,打开虚拟机shell,使用命令下载RPM包并安装:

cd /tmp
curl -O http://prdownloads.sourceforge.net/webadmin/webmin-1.840-1.noarch.rpm   #注意是大写字母O
yum install webmin-1.840-1.noarch.rpm

安装完成后,访问 https://webmin:10000 就可以看到Webmin的真容了。

安装Windows共享

开启Windows共享需要安装Samba,在虚拟机的shell中执行命令:
yum install samba

安装完成后,点击Webmin中的"Refresh Modules",就可以看到新添加的Samba模块了。

添加Samba用户

选择Samba模块中的"Convert Users",将Linux系统中用户转换为Samba用户。
"Samba Users"中可以修改用户信息。

添加Samba共享

点击"Create a new file share"来添加一个共享,勾选"Available"和"Browseable"。

编辑添加好的共享,选择"File Permissions"--"Force Unix user",输入"root",以保证有足够的权限访问该文件夹。

配置好后,点击Samba模块下方"Start Samba Servers"开启服务,Windows中就可以顺利访问共享了。

安装Linux共享、Mac共享

Linux共享,使用NFS。
Mac共享,使用Netatalk。

Netatalk与Webmin整合需要手动安装模块。
https://sourceforge.net/projects/netatalk/files/Webmin/
https://github.com/Netatalk/webmin-module

Linux、Mac共享,只需安装上述两个包,而后在GUI界面中进行配置,这里就不再阐述。

总结

Webmin提供了另一种操作Unix系统的方式,使其可以在Web端管理服务器,甚至支持移动设备(虽然小屏幕看起来乱糟糟的)。
这篇文章只是抛块砖,大家可以发挥更多的想象力,让程序给我们提供便利。

下次我将介绍手机同步软件FolderSync及云盘同步软件,打造自动备份系统,让丢照片成为过去。

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-08/146295.htm

linux
相关资讯       Webmin 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款