一台 NAS 想挂多个站点:群晖 Web Station 网页门户按名称端口别名分开入口
内网自建服务的入口管理是个常见课题:一台群晖 NAS 上既想跑内部知识库,又想挂一个部门主页,还要给 phpMyAdmin 这类套件留个门。都挤在默认首页下用子目录区分,路径越叠越深,端口也不敢乱动。DSM 里的 Web Station 套件提供了"网页门户"的集中管理:默认门户、个人网站、第三方套件门户、默认服务器的备用门户,都能在一处创建和维护。贵州诚鑫致达科技在做内网门户交付时,通常就用这套机制把入口理干净。
先理解三个基础约定
动手前有三个官方约定要记:
- http 群组权限。Web Station 使用 http 群组执行任务,默认对 web 和 web_packages 两个共享文件夹有读取权限。要让 Web Station 访问某个网站文件夹或文件,必须给 http 群组相应权限——例如 web 文件夹里的 sample.htm 要能被访问,就得确认 http 群组对该文件夹及文件有读/写权限。
- 两个自带共享文件夹。web_packages 存放已安装第三方套件(例如 phpMyAdmin)的文件;web 用于托管网站文件,实际路径是 /volume1/web,有些应用会要求在配置文件里填这个路径。另外 blog、photo、photosrc、webdefault 是系统保留的文件夹名,web 下不要建这几个名字的目录。
- 主页文件名。主页文件必须命名为 index.htm、index.html 或 index.php。
操作步骤
第 1 步:安装并打开 Web Station。 套件中心安装 Web Station,装好后在主菜单打开,安装时会自动生成带默认 URL 的网页门户。
第 2 步:配置默认门户的后端。 进入网页服务页面,在默认服务区域选择默认服务并单击编辑:HTTP 后端服务器从下拉菜单选网页服务器类型;PHP 从下拉菜单选配置文件(自定义 PHP 配置文件在脚本语言设置 > PHP 里创建)。默认门户的 URL 就是 http://[NAS的IP或域名]:80 与 https://[NAS的IP或域名]:443。先定后端再挂站点,是因为所有门户的 PHP 行为都依赖这里选定的配置文件。
第 3 步:把站点文件放进 web 共享文件夹并核对权限。 每个站点一个子文件夹,例如 /volume1/web/vhost1,同时确保 http 群组对 vhost1 有读/写权限(官方示例正是以 vhost1 举例)。文件和权限分开检查:文件放对了但 http 群组读不了,页面一样打不开。
第 4 步:创建网页服务门户(给第三方套件)或默认服务器的备用门户(给自己的站点)。 两种入口都在网页门户页面单击创建,区别是前者面向 phpMyAdmin、WordPress、MediaWiki 这类套件,后者为默认网页服务器建自定义主机名和端口。门户类型三选一:
- 基于名称:在主机名字段填 NAS 的 FQDN(完全限定域名),并为 URL 选择默认端口(80/443)或自定义端口——一台 NAS 一个 IP 挂多个域名的场景用它;
- 基于端口:选 HTTP 或 HTTPS 并输入端口号——内外网分开口或测试正式隔离时用它;
- 基于别名:给第三方网页服务套件分配一个备用 URL 路径。
第 5 步:配安全项。 创建门户时,HTTPS 设置字段里可勾选 HSTS 强制浏览器走 HTTPS 连接;还可从下拉菜单选访问控制配置文件(在控制面板 > 登录门户 > 高级设置里创建)和错误页面配置文件。对内网管理类入口,HSTS 加访问控制是基本盘。
第 6 步:验证门户列表。 创建完成后,门户列表会生成默认链接,规则有两条:同时启用默认(80/443)和自定义端口时,默认链接以 443 (HTTPS) 结尾;仅启用自定义端口时,以 HTTPS 自定义端口结尾。逐个点开链接验证,哪个不通就回到第 3 步查权限。
第 7 步(可选):开个人网站。 需要给每个用户一个 IP/~用户名/ 形式的个人空间时:先启用用户家目录(本地用户在控制面板 > 用户和群组 > 高级设置,域用户/LDAP 用户在控制面板 > 域/LDAP 下),安装并启用至少一个版本的 Apache HTTP Server,再在默认服务里勾选启用个人网站——每个用户家目录会生成 www 文件夹,网站文件传进去即可。
安全注意事项
官方帮助里明确提醒:不要把敏感信息存放在 web 共享文件夹、web_packages 共享文件夹、虚拟主机的文档根目录里——这些位置的定位就是放网站文件。配套两条:http 群组对 web_packages 保持只读即可;错误页面可用 missing.html/missing.htm/missing.php 放在 web 下自定义,替代默认报错页减少信息泄露。
另外,使用 PHP mail() 功能时,系统会自动采用控制面板 > 通知设置 > 电子邮件里的 SMTP 服务器信息,发信异常先查那里是否启用并配对。
一台 NAS 多个入口、按名称端口别名各归各位,内网服务的门牌号从此有章可循。