基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

2020-08-19 13:46:45 34点赞 156收藏 14评论

  随着宽带普及、各种网盘限速收费以及大家都懂的原因,我们越来越迫切的需要一台属于个人及家庭的私有云服务器,来随时对地存取我们的文件、照片,保护我们的数据以及最后一点隐私。

  现在的选择也比较多。选择之一:大家可以购买市面上比较成熟的NAS服务商的产品,国内用的比较多的如群晖、威联通等。好处就是有着稳定成熟的系统,完备的售后服务体系等等,缺点吗,就是贵了一些,同等价位下性能偏弱。选择之二:就是我们自己DIY硬件,然后安装成熟的NAS专用系统,比如黑群晖,uRaid, Freenas等;相比于第一个选择,优点就是同等价格水平下性能更强或者添加更多的硬盘容量,缺点吗,就是没有售后服务喽,另外一些软件也需要付费授权后才可以使用,如uRaid。第三种选择,也是本文要介绍的,就是从硬件到软件的完全DIY,软件应用完全基于开源免费,打造一台稳定、可扩展性强的私有云系统。

构成思路

  1. 系统   :Ubuntu Server 20.04

  2. 基础环境 :Mysql + Apache2 + PHP +PHPMyadmin

  3. 硬盘管理 :Mergerfs

  4. 共享服务器:Samba Server

  5. 私有云系统:NextCloud

  6. PT下载软件:Transmission

  7. 远程管理 :SSH + Webmin

重要提示

如果是小白,下面所有过程中涉及的到配置文件都需先备份再修改!注意:配置文件先备份,再修改!配置文件先备份,再修改!

一、系统的安装以及基本运行环境搭建

1、Ubuntu 系统的安装

这个比较简单,从官网下载ISO文件后用工具写入U盘,然后根据系统提示安装即可,安装过程中需要注意的是勾选安装SSH服务,方便后面的远程管理。

Ubuntu官网链接

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

勾选SSH服务

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略2、基础环境搭建

首先进入root模式,输入如下命令:sudo -s

对软件源及软件进行更新:

apt-get install software-properties-common(安装桌面版Ubuntu可省略)

add-apt-repository ppa:ondrej/php(安装桌面版Ubuntu可省略)

apt update

apt upgrade

(1)安装Apache2

apt install apache2

启用mod_rewrite模块

a2enmod rewrite

service apache2 restart

设置目录所有权限:

chown -R www-data:www-data /var/www/html

(2)安装PHP

apt install php

(3)安装MySQL

apt install mysql-server

(4)配置MySQL

mysql_secure_installation

在配置过程过,需要选择密码强度、设置密码以及其他安全选项,其他安全选项配置全部选择“Y”。

(5)安装PHP模块

apt install libapache2-mod-php php-mysqlphp-curl php-gd php-mbstring php7-gettext php-json php-intl php7.1-mcryptphp-imagick php-xml php-zip

(6)安装phpmyadmin

apt install phpmyadmin

安装好后将phpmyadmin 目录映射到www目录

ln -s /usr/share/phpmyadmin /var/www/html

此时,在浏览器输入网址,应该可以看到apache2和php都已经正常工作了。

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

Apache 已经正常工作。
在/var/www/html下建立一个1.php的文件,文件内容如下:
<?php
phpinfo();
?>
保存后退出,在浏览器输入网址/1.php,应该可以看到如下页面:

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

php已经正常工作。
在浏览器输入:网址/phpmyadmin,应显示如下页面:

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略  此时输入设定的mysql的root用户名和密码可能,可能会出现错误提示不能登录,解决办法如下:
  输入mysql进入mysql管理:
  ALTER USER 'root'@'localhost' IDENTIFIEDWITH mysql_native_password by 'root密码';
  exit
  再次登录页面输入root和密码,即可登录。

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

二、利用mergerfs管理硬盘

选择mergerfs的原因主要如下:
第一、可以很方便的将多块硬盘合并挂在一个目录使用,不用考虑硬盘文件格式,比如我用的就是NTFS格式。
第二、方便后续文件备份。由于mergerfs的特殊硬盘以及文件管理模式,在用ntfs格式的前提下,我们可以很方便的将单个硬盘取出挂在windows下进行读取备份。

1、安装mergerfs

apt install mergerfs

2、设置开机自动挂载已安装硬盘

此处以我个人应用为例,我是在SATA接口直接挂载了2块14T的sata硬盘。

  • 首先在ssh客户端输入如下命令查看已挂载硬盘。

fdisk -l
此处可以看到我们的硬盘设备路径如下图红色箭头所示:

查看硬盘设备信息查看硬盘设备信息

输入如下命令,查看并记录设备的UUID:
blkid

查看UUID查看UUID

此处我们可以看到设备/dev/sdb1和/dev/sdc1分别对应的UUID,将UUID记录好。
编辑/etc/fstab文件,设置开机自动挂载。

编辑fstab文件编辑fstab文件

上图可以看到,我们把两块硬盘分别挂载在目录/mnt/disk1和/mnt/disk2。因为disk1和disk2目录并不存在,我们需要手工建立,输入如下命令。
mkdir /mnt/disk1
mkdir /mnt/disk2
全部完成后,我们输入命令来检测是否有错误,否则不能自动开机挂载。
mount -a

  • 没有错误后,我们进行下一步,利用mergerfs将2块硬盘合并挂载。

首先建立拟挂载的目录:
mkdir /mnt/mydriver
执行mergerfs命令:
mergerfs -o defaults,allow_other,use_ino,category.create=mfs,moveonenospc=true,minfreespace=100G/mnt/disk1:/mnt/disk2 /mnt/mydirver

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

然后输入命令查看合并后的效果:
df -hT | grep mydriver

如上图,可以看到2块硬盘已经成功合并挂载。如上图,可以看到2块硬盘已经成功合并挂载。

如上图,可以看到2块硬盘已经成功合并挂载。

  • 最后,我们还要将mergerfs合并挂载命令写入开机启动,免去服务器重启后需要重新挂载的麻烦。

首先编辑/lib/systemd/system/rc-local.service文件,在其尾部加入如下代码:
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
其次,建立并编辑/etc/rc.local文件,内容如下:

#!/bin/sh -e
# rc.local
# This script is executed at the end of eachmultiuser runlevel.
# Make sure that the script will "exit0" on success or any other
# value on error.
# In order to enable or disable this scriptjust change the execution
# bits.
# By default this script does nothing.
mergerfs -odefaults,allow_other,use_ino,category.create=mfs,moveonenospc=true,minfreespace=100G/mnt/disk1:/mnt/disk2 /mnt/mydirver
exit0

再次,给新建的rc.local文件运行权限,命令如下:
chmod +x /etc/rc.local
然后创建运行链接,代码如下
ln -s /lib/systemd/system/rc-local.service/etc/systemd/system/
最后,启用服务命令:
sudosystemctl enable rc-local

三、共享服务器:Samba Server

  1. 安装samba服务。
    apt install samba samba-common

  2. 第二步:建立共享目录。

    此处我们新建立目录:/mnt/mydriver/share为共享目录。

    mkdir /mnt/mydriver/share

    然后配置共享目录权限:chmod 777 /mnt/mydriver/share -R

  3. 第三步:配置samba服务器。(位置:/etc/samba/smb.conf)


    [share] #共享名,该共享标签,可随意取,该名字为在其他电脑上看到的共享名

    comment = home directories#该共享描述

    path = /mnt/mydriver/share #之前建立的共享目录

    valid users = admin # 许可用户名

    public = yes #指定该共享是否允许guest账户访问

    writable = yes #writable用来指定该共享路径是否可写


  4. 第四步:重启samba服务器即可实现smb共享。

  5. 设置用户密码:smbpasswb -a username,这里的username一般设置你的ubuntu系统管理员账户即可。

四、私有云系统:NextCloud

  Nextcloud是一套基于PHP+主流数据库开发的私有云系统,可轻松实现个人文件同步。不过就是维护起来有点费劲,如果只是想同步手机照片推荐使用Daemon-sync,安装便捷,方便易用。

第一步:在phpmyadmin里建立数据库。

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

因为这套系统是我们放在局域网里自己用的,所以就偷个懒,用户名和密码都用root的就好了。

第二步:下载在线安装文件。

NEXTCLOUD官网链接。

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略注意这里我们选择在线安装Web Installer。复制好链接后进入/var/www/html目录,执行如下命令:
wget https://download.nextcloud.com/server/installer/setup-nextcloud.php
下载成功后就可以在浏览器输入相应网址进行安装了。如下图:

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略点击NEXT进入下一步:

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略  这里选择安装目录,因为我们的web服务主要是做私有云服务器,而且setup-nextcloud.php在网站根目录,所以这里我们输入“.”(注意没有双引号),进入下一步。
  因为在线下载,等待时间较长,可以去看一会电影,喝杯咖啡休息一下。如果下载网速过慢,可以直接在官网下载安装压缩包解压在/var/www/html/目录下直接运行安装。

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

  如上图所示,填入管理用户名和密码。数据存储路径我们放在合并后的硬盘目录,与samba服务的share目录平级建立一个nextcloud文件专门用来存储我们的云文件。
  安装完成后系统可能会提示“你的数据目录可以被其他用户读取请更改权限为 0770 以避免其他用户查看目录。”,此时我们只需在/config/ config.php添加'check_data_directory_permissions'=> false即可。

五、PT下载软件:Transmission

  第一步:安装transmission
  apt installtransmission-daemon
  第二步:设置成自动启动
  systemctl enabletransmission-daemon
  第三步:配置
  配置文件位置:
  /etc/transmission/settings.json
  进行配置时主要要先停止服务:
  systemctl stoptransmission-daemon
  配置文件主要设置如下:

  下载文件存放目录: "download-dir":"/mnt/mydriver/share",
  临时存放目录:"incomplete-dir":"/mnt/mydriver/share ",
  远程登陆白名单:"rpc-host-whitelist":"*",
  是否限制远程访问:"rpc-host-whitelist-enabled":false,
  登陆端口:"rpc-port":49091,(因为我有一台威联通,所以端口设置成和威联通一样,一般默认即可)
  是否开启白名单地址:"rpc-whitelist-enabled":false,
  RPC白名单列表:"rpc-whitelist": "*",

  保存退出,启动服务。
  systemctl start transmission-daemon
  这时你发现输入地址和端口号并不能访问,查看日志,发现出现如下错误:

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

缓冲区最低要求分别为:4194304和1048576,我们按需修改UDP缓冲区大小即可。方法如下:
编辑:/ect/sysctl.conf
在尾部增加如下内容:

net.core.rmem_max=4194304
net.core.wmem_max=1048576

保存退出,重启服务。
注意:transmission默认登陆用户名和密码均为transmission。
此时页面如下:

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

是不是很丑?我们用transmission-web-control-master来美化下。
首先下载transmission-web-control-master,下载地址如下:
https://github.com/ronggang/transmission-web-control
我们把下载好的文件解压缩到如下目录:
/usr/share/transmission/web
重新刷新页面既可以,如下图:

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

看,现在是不是好多了?

六、远程管理:SSH + Webmin

SSH是我们安装Ubuntu系统是自动安装的,所以这时我们只需要安装webmin即可。
安装参考网址:https://www.itcoder.tech/posts/how-to-install-webmin-on-ubuntu-20-04/
命令顺序如下:

sudo apt update

sudo apt installsoftware-properties-common apt-transport-https

wget -q http://www.webmin.com/jcameron-key.asc-O- | sudo apt-key add –

add-apt-repository"deb [arch=amd64] http://download.webmin.com/download/repository sargecontrib"

apt install webmin

安装成功后会出现如下提示:

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

此时我们用10000(注意是https)端口登陆管理页面:如下图

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略输入管理员账号和密码进入后如下图:

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略

基于Ubuntu+Samba的轻量级家用NAS私有云服务器架设攻略  好,至此,所有工作都完成了,你已经有了一台属于自己定制版私有云。因为种种原因(硬件配置、软件升级),你可能会碰到各种问题,不用担心,基本上用搜索引擎都可以解决。后续我们还可以在此基础上增加媒体服务器、wordpress个人网站等等。


展开 收起

群晖(Synology)DS418play双核心4盘位NAS

群晖(Synology)DS418play双核心4盘位NAS

3850元起

HIKVISION 海康威视 Mage20双盘位 NAS网络存储服务器 无盘版

HIKVISION 海康威视 Mage20双盘位 NAS网络存储服务器 无盘版

899元起

Lenovo 联想 个人云存储T2 双盘位NAS存储(RTD1296、2GB)

Lenovo 联想 个人云存储T2 双盘位NAS存储(RTD1296、2GB)

939元起

QNAP威联通TS551 2G内存5盘位双千兆4K转码网络存储服务器NAS

QNAP威联通TS551 2G内存5盘位双千兆4K转码网络存储服务器NAS

3999元起

群晖(Synology)DS218play四核心2盘位NAS

群晖(Synology)DS218play四核心2盘位NAS

1980元起

威联通(QNAP) TS-212P3 2盘位NAS网络存储器 四核心处理器 TS-212P3 TS-212P3(空机)

威联通(QNAP) TS-212P3 2盘位NAS网络存储器 四核心处理器 TS-212P3 TS-212P3(空机)

679元起

ZSpace 极空间 Z2 2盘位NAS (RTD1296、2GB)

ZSpace 极空间 Z2 2盘位NAS (RTD1296、2GB)

1149元起

QNAP 威联通 TS-873A 八盘位 NAS存储 Ryzen V1500B 8GB

QNAP 威联通 TS-873A 八盘位 NAS存储 Ryzen V1500B 8GB

暂无报价

QNAP 威联通 TS-473A 四盘位 NAS存储 V1500B 8GB

QNAP 威联通 TS-473A 四盘位 NAS存储 V1500B 8GB

暂无报价

QNAP 威联通 TS-673A 六盘位 NAS存储 V1500B 8GB

QNAP 威联通 TS-673A 六盘位 NAS存储 V1500B 8GB

暂无报价

华硕 ThunderboltEX 3 PCI-E转雷电3 主板扩展卡

华硕 ThunderboltEX 3 PCI-E转雷电3 主板扩展卡

699元起

QNAP 威联通 TS-453Bmini 4盘位NAS(J3455、4GB)

QNAP 威联通 TS-453Bmini 4盘位NAS(J3455、4GB)

1899元起

Synology 群晖 DS918+ 4盘位NAS(J3455、4GB)

Synology 群晖 DS918+ 4盘位NAS(J3455、4GB)

4680元起

Synology 群晖 DS218+ 2盘位NAS (RTD1296、2GB)

Synology 群晖 DS218+ 2盘位NAS (RTD1296、2GB)

4906.56元起

Synology 群晖 DS218play 2盘位NAS (RTD1296、1GB)

Synology 群晖 DS218play 2盘位NAS (RTD1296、1GB)

1710元起

QNAP 威联通 TS-551 5盘位NAS(J3355、2GB)

QNAP 威联通 TS-551 5盘位NAS(J3355、2GB)

1539元起
14评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
156
扫一下,分享更方便,购买更轻松