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

2020-08-19 13:46:45 37点赞 186收藏 19评论

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

  现在的选择也比较多。选择之一:大家可以购买市面上比较成熟的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个人网站等等。


展开 收起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1849元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2485.01元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2599元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3499元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1799元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2799元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1999元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

2499元起

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

4299元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3299元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1349元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

1299元起
19评论

  • 精彩
  • 最新
  • 都上Ubuntu Server了为什么不用windows server?应用生态,可维护性差距不是一般的大吧。

    校验提示文案

    提交
    win系统对硬件要求过高,unbubtu 这套体统正常运行只需要几百兆内存

    校验提示文案

    提交
    作者说得有道理,不过现在4g内存和8g内存价格差别已经不大了,系统看个人喜好决定吧。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 有个大胆的想法,阿里云+rclone挂载Googledrive加个emby再加上这个pt软件和私有云 [惊喜]

    校验提示文案

    提交
    搞这个的初衷就是避免使用国内企业的软硬件服务(线路除外> [哭泣]

    校验提示文案

    提交
    收起所有回复
  • 把一圈的私有云都用了个遍,最后选择了可道云

    校验提示文案

    提交
  • 不适合初级玩家,适合进阶选手。

    校验提示文案

    提交
  • 在我玩过的网盘里,国外开源首推nextcloud,在开源里面是生态最丰富、插件最多的,可够折腾的;折腾累了想找个用用,必须是可道云kodbox了(国产半开源),UI 漂亮,操作真心灰常灰常流畅,插件也够用

    校验提示文案

    提交
  • 自己搭建费事费力,建议unas或omv走起

    校验提示文案

    提交
  • 没点子技术在身上不敢玩,太折腾了,还是宝塔+可道云一键部署简单点

    校验提示文案

    提交
  • 不明觉厉,高手

    校验提示文案

    提交
  • 技术贴,看不懂,帮顶

    校验提示文案

    提交
  • 学习成本有点高。。。没接触过linux的新手有点不敢入门。。。。

    校验提示文案

    提交
  • 都上ubuntu了,不如再virtualbox个win吧,什么tr,qb,aria,还是不如迅雷ndm之类用得顺手。

    校验提示文案

    提交
  • 我用的debian9,舒服

    校验提示文案

    提交
  • 作者,有三个模块现在下不了了,有解决办法吗?

    校验提示文案

    提交
  • 远程访问我用x11vnc

    校验提示文案

    提交
  • 私有云盘的选择很多,像是nextcloud、seafile等都用过,我目前仍在使用的是kodbox,可以在线解压缩,在线预览,还可以分享协作,基本日常需要用到的功能都有,免费版支持10个用户,想要组建家庭网盘也是够用的。而且操作简单,没有广告,界面也很清爽,有兴趣的可以体验一下。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

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

相关文章推荐

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