V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yangguoshuai
V2EX  ›  程序员

请问,在 windows 的家用 NAS 上如何设置一个合适的 web 服务器?需求比较复杂

  •  
  •   yangguoshuai · 2017-10-29 15:44:39 +08:00 · 4486 次点击
    这是一个创建于 2580 天前的主题,其中的信息可能已经有所发展或是发生改变。
    考虑到黑群的封闭性,以及便于维护,我家自己搭的 NAS 用的是 windows 7。
    NAS 上现在运行着这样一些服务:
    plex media server 视频串流服务
    bt 下载服务
    everything 文件索引服务

    我还需要:
    owncloud based on apache/nginx + php + mysql
    samba
    端口转发

    我的第一版方案是:
    在 windows 中开启 VMWare,安装 ubuntu16.04 server 版,运行以上的服务
    问题:
    1 设置 VMWare 随着系统自动开机运行很麻烦
    2 备份虚拟机的数据很麻烦——非企业版需要停止服务之后复制一份文件(官方手册真的就这么写的)
    3 遇到了系统以外掉电,蓝屏导致磁盘文件出错,虚拟机挂了——第一版方案因此夭折了。。

    于是痛定思痛,针对 lamp + samba 这个需求,我弄了一个友善之臂(NanoPi)的 Neo2 的小盒子
    将硬盘外接于盒子,用的是 ubuntu em 发行版。
    问题:
    1 性能还是有点弱啊。。apt upgrade 内存会爆,直接报错退出;需要停掉 apache/mysqld 才可以
    2 owncloud 文件大请求复杂就挂了……
    3 不知道为啥 /etc/rc.local 开机 不执行,查了一些文档说 sh 指向了 dash 不是 bash 导致的,于是——改完了之后彻底开不开了也无法 ssh 上去……正在思考怎么修复数据,知道的兄弟说下
    目前想的是把 tf 卡拿出来挂到某个地方去,把 mysql 的数据库数据搞出来恢复一下就得了。别的没啥重要数据了。

    其他需求:
    因为家庭宽带是鹏博士家的,公网 ip 不能被绝大多数访问者直接访问,因此 owncloud 对外提供服务是用的端口转发,将本地的 80 转发到阿里云上面。
    去年我的云服务器开的是 2M 固定带宽,很肉疼的贵……今年改成 20M 弹性收费了,但是流量费还是有点点肉疼
    考虑把云反代迁移到国外,v 家挂酸酸乳的服务器,诸如 owncloud 这样的私人应用而且还是全部启用 https 感觉应该还比较安全不会被墙吧……

    写了这么多,需求来了:
    要支持 apache+mysql+php+ssh port forward
    linux 下面现成的都有,但是 arm 的版子性能似乎 hold 不住;
    windows 下面有 wamp 套件,求推荐一个靠谱的? php7.1+mysql5.6/5.7 的
    端口转发又该如何解决呢。。

    哦对了,主路由器是 k2,刷的 padavan 改华硕固件,但是感觉如果用这个做流量转发担心 cpu 扛不住啊。。。

    嗯,就这样,希望我都说清楚了。。

    谢谢各位
    第 1 条附言  ·  2017-10-30 14:58:48 +08:00
    填个坑吧:

    最终方案:
    Wampserver+putty 的工具包

    前者貌似现在做的很好用很靠谱了,我去看看部署 https,应该问题不大
    putty 工具包有 plink 这样的 ssh 客户端,有 sshkey-gen 等工具,实现端口转发也没啥难度。

    祝我好运。。。
    25 条回复    2017-10-30 00:24:14 +08:00
    wevsty
        1
    wevsty  
       2017-10-29 15:57:28 +08:00   ❤️ 1
    很显然,我觉得楼主的需求并不需要另外找软件,Windows 自己都能干,顺便建议更换为最新版的 Windows Server,没有必要守着老系统。
    Windows Server 自带远程路由服务,可以配置端口转发( Win7 的话也有办法配置的,就算麻烦点)。
    SMB 协议 Windows 自带不需要另外再跑一个软件了。
    owncloud 我是觉得用 SMB 服务来替代就行了,没有必要专门跑一个,如果一定要跑用 IIS 或者自己找个套件去弄都可以,跑虚拟机是没有必要的。
    yangguoshuai
        2
    yangguoshuai  
    OP
       2017-10-29 16:10:53 +08:00
    @wevsty 感谢的铜币已发。
    之前尝试过 win10,但是和 sata 卡的兼容性有一定的问题,无法识别 sata 卡接入的硬盘
    不过 sata 卡启动的时候认出来,bios 里面也能认到硬盘,win server 能兼容的问题也应该可以解决。。

    假设磁盘 mount 没有问题,但是我现在技术栈完全不在 windows server 上……
    win7 用了比较多年了,hack 了一个补丁之后支持多用户登录(似乎也可以一并支持单用户多 session,不过我没成功过……)
    远程路由这块我等下查下,感谢提示这个 hint。

    smb 主要是局域网内共享一些资源,这块确实 windows 实现的更好——不过配置复杂的权限,似乎 samba 一个配置文件就做好了。。讲真,windows 的共享 /安全 /审核这些选项卡我至今看的头大

    另外我还有一个诉求是 smb 无法代替的:移动设备在家庭外产生的数据实时同步到云服务器(比如拍的照片),想法是比如手机丢了数据还在。

    感觉 IIS 支持 php 也是一大坑。。。
    wevsty
        3
    wevsty  
       2017-10-29 16:25:38 +08:00
    @yangguoshuai
    sata 兼容性一般来说是不会有问题的,这方面具体问题还需要具体分析。
    我十分不建议 patch 系统文件,带来的稳定性或者安全性问题是很麻烦的。
    我说 Windows Server 是最适合楼主的方案是有原因的。
    SMB 并不需要特别复杂的配置,只需要右键共享一下就行了,对家庭用户来说权限只要你允许一个账户的全部权限就行了并没有很复杂。
    移动设备实时同步到 NAS 也是有办法的,FolderSync 就可以同步 Android 下面的某个文件夹到 SMB 服务器。
    PC 上也有很多同步的软件,比如 FreeFileSync。
    部分同步软件甚至还提供了一定的版本管理功能,所以一般家庭用 owncloud 没有必要的。
    yangguoshuai
        4
    yangguoshuai  
    OP
       2017-10-29 16:30:50 +08:00
    @wevsty 嗯。。但是公网访问 smb 问题也很大啊。。端口被封 or 安全性问题。。。

    还有权限控制,保不齐有熊孩子。。咳咳某些资源嘛
    ysc3839
        5
    ysc3839  
       2017-10-29 16:43:24 +08:00
    Windows 自带 SMB 服务器,不需要 samba。
    虚拟机的话升级最新 Windows Server,用 Hyper-V。
    ysc3839
        6
    ysc3839  
       2017-10-29 16:44:24 +08:00
    WAMP 的话其实手动配置也可以,不过稍微麻烦。如果要的话就用 WAMP 或 WNMP 吧。
    tomhuang
        7
    tomhuang  
       2017-10-29 16:47:44 +08:00 via iPhone
    我现在和楼主环境类似
    我是 g4560 搭建 server 2016
    虚拟化用的 hyperv

    电信动态 ip 做了 ddns
    虚拟机分配内存开 linux 搭建 lnmp 等服务
    可以说非常稳定
    yangguoshuai
        8
    yangguoshuai  
    OP
       2017-10-29 16:51:04 +08:00
    @ysc3839 windows7 enterprise 支持么。。
    我在开启 /关闭 windows 功能页面没找到 hyper-v 这个。。。
    yangguoshuai
        9
    yangguoshuai  
    OP
       2017-10-29 16:52:08 +08:00
    @tomhuang hyper-v 比起 vm 的优点是啥。。速度快?稳定?
    wevsty
        10
    wevsty  
       2017-10-29 16:53:12 +08:00
    @yangguoshuai
    SMB 本来就算带权限控制的就算配置几个用户的问题。
    SMB 不方便外网访问的话,也可以用 SFTP,WebDAV 解决问题啊,用这些协议的话映射一个端口出去就行了。
    Windows 自带的 IIS 是支持 WebDAV 的。
    yangguoshuai
        11
    yangguoshuai  
    OP
       2017-10-29 17:04:10 +08:00
    @wevsty 我只是说对于非熟练用户而言 windows 的 SMB 比起 samba 的配置还是麻烦许多……

    哦对了,说个题外话
    比如一块硬盘被 host 系统共享过,那么这块硬盘拔下来插到别的电脑上
    点击共享的文件夹,就会提示无权限……
    然后需要改一堆什么安全审核什么的才能获取所有人获取权限
    没共享过的文件 /文件夹则不会有这个问题。。。

    这个问题也是蛋碎的不行啊。。。

    webdav 是个好东西。。我研究下再
    7zki
        12
    7zki  
       2017-10-29 17:07:33 +08:00 via Android
    在下以前是 gen8 运行 esxi,然后在上面分别跑了几个系统做各种用途。
    但是 nas 也放 esxi 里感觉不放心,最近也在寻找别的办法,比如在一些 nas 系统里跑虚拟机。
    wevsty
        13
    wevsty  
       2017-10-29 17:09:22 +08:00
    @yangguoshuai
    安全权限重新配置一下也是很容易的,就点几下鼠标或者一行命令的事情。唯一比较蛋疼的是文件数目比较多的情况下会有点蛋疼,不过考虑到不是天天折腾,其实也可以接受。
    外网的话一般用 WebDAV 同步就行了,IIS 自带的很方便,唯一的缺点是不能同步太大的文件。
    Cannikin
        14
    Cannikin  
       2017-10-29 17:09:35 +08:00 via Android
    说句实话,你这些需求群晖还都轻而易举的做。
    ysc3839
        15
    ysc3839  
       2017-10-29 17:10:44 +08:00
    @yangguoshuai 应该不支持
    yangguoshuai
        16
    yangguoshuai  
    OP
       2017-10-29 17:13:07 +08:00
    @Cannikin 话说群辉对多盘位( 10+)非 raid 支持的怎样。。
    yangguoshuai
        17
    yangguoshuai  
    OP
       2017-10-29 17:15:31 +08:00
    @ysc3839 哦我不是故意那啥的。。
    放狗查了一下,安装一个 msu 补丁就好了
    ( RSAT )

    就可以安装 Hyper-V 管理工具了。。

    好吧我自己被自己秒打脸了——这玩意只能访问貌似不能新建啊。。。
    Cannikin
        18
    Cannikin  
       2017-10-29 17:17:15 +08:00 via Android
    @yangguoshuai 最多用过 6 盘非 raid,自己家里在用 raid1,感觉都不错。家里也用了两年了,一直很稳定,包括文件服务,web 服务,备份服务等等。
    yangguoshuai
        19
    yangguoshuai  
    OP
       2017-10-29 17:18:38 +08:00
    @Cannikin 嗯话说 plex 这样的流媒体服务我还是很心水的……
    而且话说,N3150 的版子搭黑群据说比较坑?但是这板子性能和能耗真心赞。
    Cannikin
        20
    Cannikin  
       2017-10-29 17:41:02 +08:00 via Android
    @yangguoshuai 我用的是集成 amd 的 e 系列低功耗处理器主板,性能还不如你这个呢。
    ysc3839
        21
    ysc3839  
       2017-10-29 17:41:35 +08:00
    @yangguoshuai 我不看文档根本不知道 samba 怎么设置权限,但是 Windows 下直接右键安全就可以了。
    likuku
        22
    likuku  
       2017-10-29 17:47:23 +08:00
    [移动设备在家庭外产生的数据实时同步到云服务器(比如拍的照片),想法是比如手机丢了数据还在。 ]

    硬盘柜一样会出问题...硬盘也会坏,火灾水管爆裂,厨房爆炸,盗窃,都是风险。

    去年新买一台某辉 NAS + 2 硬盘,半个月里两块硬盘先后坏掉(还是第一块返厂换新等待期间第二块硬盘接着坏)
    tomczhen
        23
    tomczhen  
       2017-10-29 18:33:44 +08:00
    用 WebDAV 协议替换 SMB,用 IIS 的 Application Request Routing 模块来做 HTTP 协议转发。

    有公网服务器可以搭建 N2N 来节约流量费用,或者安装 SoftEther。
    irainsoft
        24
    irainsoft  
       2017-10-29 18:43:42 +08:00   ❤️ 1
    我用的 Windows Server 2016,首先 windows 的局域网资源共享配置肯定是比 Samba 简单的,如果心大放心内网安全的话可以直接设置使用 administrator 登陆到共享文件夹的这样不需要调整权限配置,不使用的话也只是添加用户,添加读写权限就可以了。

    wamp 也许可以试试 Wampserver,几年前用过的,不算差。尝试过开虚拟机但个人感觉性能损失较大所以直接换成了 windows 下手动配置 nginx+php+mysql。IIS 现在其实也是非常好用了,而且 IIS7 后使用 Web Platform Installer 基本上 php mysql 这种东西都是一键安装配置完成了,对 php 多版本支持也是方便了很多
    dangyuluo
        25
    dangyuluo  
       2017-10-30 00:24:14 +08:00
    没感觉你这些需求有超出群晖的能力啊,而且说到便于维护,我感觉还是群晖更轻松吧。
    自从买了 DS215+之后,放在角落里基本上没动过,各种功能一直很稳定。
    而且,你买个 x86 的群晖还能装 Docker,基本就等于功能无限扩展了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5125 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 01:16 · PVG 09:16 · LAX 17:16 · JFK 20:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.