公司动态

群晖NAS Web Station部署指南:从零搭建私有Web服务器

📅 2026/8/1 2:50:40
群晖NAS Web Station部署指南:从零搭建私有Web服务器
1. 从存储到服务为什么你的NAS需要一个Web服务器如果你已经用上了群晖NAS大概率已经体验过它强大的文件存储、照片备份和影音播放功能。但很多人可能没意识到这台安静运行在角落里的设备其潜力远不止于此。它本质上是一台24小时在线的Linux服务器而Web Station这个套件就是解锁其服务器能力、让你从“数据消费者”转变为“服务提供者”的关键钥匙。简单来说Web Station是一个集成在群晖DSM系统里的Web服务器管理工具。它把复杂的Apache、Nginx等服务器软件的配置过程封装成了一个图形化界面。这意味着你不需要去记忆那些晦涩的配置文件路径和命令行参数就能轻松地在你的NAS上搭建起一个网站、一个博客、一个在线工具或者一个仅供家庭内部使用的数据看板。我最初接触Web Station是因为想在家里搭建一个私有化的笔记系统。我不想把个人笔记和项目文档放在第三方云服务上但又希望能在手机、平板、电脑上随时访问和编辑。Web Station让我在十分钟内就把一个开源的笔记程序部署到了NAS上数据完全掌握在自己手里那种安全感和掌控感是云服务无法比拟的。后来我又陆续用它部署了家庭财务仪表盘、下载任务管理页面甚至是一个小型的开发测试环境。它彻底改变了NAS在我家的角色——从一个单纯的存储仓库变成了一个功能丰富的家庭应用中心。那么Web Station具体能做什么它适合谁个人站长/博客作者搭建个人博客、作品集网站数据私有无需购买虚拟主机。开发者/技术爱好者搭建本地测试环境用于Web项目开发、调试或者运行一些自用的脚本工具如RSS聚合器、自动化任务面板。家庭用户创建家庭相册、内部公告板、智能家居控制面板或者部署像“Calibre-Web”这样的电子书库。小型团队在内网搭建Wiki知识库、项目管理工具如Taiga、简单的CRM系统等实现团队协作。接下来的内容我将带你从零开始完成Web Station的安装、基础配置并手把手教你部署第一个PHP网站。整个过程我会穿插我踩过的坑和总结的经验目标是让你看完就能动手一次成功。2. 安装前的准备理清需求与检查环境在点击“安装”按钮之前花几分钟时间做好准备工作能避免后续90%的莫名错误。Web Station虽然友好但它依赖于一些底层组件并且对NAS的自身状态有要求。2.1 核心依赖套件PHP与MariaDBWeb Station本身只是一个“调度中心”和“管理面板”它需要具体的“执行者”来运行网站代码。对于最常见的动态网站如WordPress、各种开源程序这个执行者就是PHP。同时如果网站需要数据库绝大多数都需要那么MariaDBMySQL的一个流行分支就是标配。关键点在群晖的套件中心里PHP和MariaDB是作为独立的套件存在的。Web Station在安装时会提示你安装PHP但版本可能不是最新的。我的建议是先手动安装PHP进入套件中心搜索“PHP”你会看到多个版本如PHP 7.4, PHP 8.0等。请根据你计划部署的应用程序要求来选择。目前主流程序都已支持PHP 8.0或更高版本其性能和安全特性更好。我推荐直接安装能支持你应用的最高稳定版。按需安装MariaDB同样在套件中心搜索“MariaDB”并安装。如果你确定你的网站只是纯静态页面或不需要数据库可以跳过。注意不要安装多个主要版本的PHP如同时装PHP 7.4和8.0除非你非常清楚如何为不同网站分配不同PHP版本否则容易引起冲突。通常安装一个最新稳定版即可覆盖大部分需求。2.2 网络与存储空间检查网络环境确保你的NAS拥有一个固定的局域网IP地址。这通常在路由器的DHCP设置中为你的NAS MAC地址分配一个静态IP如192.168.1.100。这是后续通过内网IP或域名稳定访问网站的基础。存储空间你的网站文件需要存放在某个存储空间上。请通过“存储管理器”确认你有足够的空间。通常我会专门创建一个共享文件夹来存放所有网站数据例如命名为“web”。这样做的好处是管理清晰备份时也方便。权限规划重要这是新手最容易踩坑的地方。Web Station以及背后的Web服务器进程默认会以一个叫“http”的系统用户身份来读取和执行你的网站文件。因此你存放网站文件的文件夹必须对“http”用户有读取和执行权限。实操步骤在File Station中找到你计划存放网站的文件夹例如“web”右键点击选择“属性” - “权限” - “新增”。在用户或组里找到“http”并赋予其“读取”和“写入”权限如果网站需要上传文件如WordPress则必须给写入权限。同时确保其上级目录也有相应的可访问权限。2.3 关于域名与SSL证书的提前思考如果你只打算在内网访问如http://192.168.1.100:8080那么可以暂时忽略这一步。但如果你希望用自定义域名如blog.myhome.com访问或者追求更安全的HTTPS连接就需要考虑内网域名可以在路由器或内网DNS服务器如AdGuard Home、Pi-hole中设置域名解析将blog.myhome.com指向你的NAS内网IP。SSL证书群晖自带免费的Let‘s Encrypt证书申请功能但需要一个可以从公网访问的域名。对于纯内网服务你可以选择使用自签名证书浏览器会提示不安全但加密连接仍存在或者干脆在内网信任该自签名证书。我们会在配置部分详细展开。准备工作就绪后我们就可以开始正式的安装之旅了。3. 逐步详解Web Station的安装与初始化配置安装过程本身非常简单但其中的一些选项设置却至关重要它们决定了Web Server的默认行为和性能基线。3.1 套件安装与PHP关联打开DSM桌面进入“套件中心”。在“所有套件”或通过搜索找到“Web Station”。点击“安装套件”。安装过程很快通常一分钟内完成。安装完成后桌面上会出现Web Station的图标。首次打开它会自动进入配置向导。第一个关键配置PHP版本选择向导会提示你选择默认的PHP版本。这里会列出你已经通过套件中心安装的所有PHP版本。选择一个你之前安装好的、计划作为默认版本的PHP例如PHP 8.0。这个默认版本将应用于所有新创建的网站除非你单独为某个网站指定其他版本。第二个关键配置Web服务端口默认情况下HTTP服务使用80端口HTTPS服务使用443端口。但是请注意如果你的DSM管理界面使用的是默认的5000/5001端口那么80/443端口很可能是空闲的可以直接使用。如果DSM占用了80/443端口有些型号或设置会这样你需要在这里修改为其他端口例如8080和8443。我个人的习惯是即使80/443空闲对于测试环境也倾向于使用8080/8443避免与将来可能部署的其他服务冲突。3.2 理解Web Station的管理界面安装配置完成后你会进入Web Station的主界面。这个界面主要分为三大块概述显示当前Web服务的状态运行中/已停止、默认的PHP版本、服务端口等信息。虚拟主机这是核心管理区域。你搭建的每一个网站无论是通过域名、端口还是路径区分的在这里都体现为一个“虚拟主机”。你可以在这里新增、编辑或删除网站。PHP设置这里可以集中管理所有已安装的PHP版本。你可以为每个PHP版本启用/禁用扩展如gd库用于图像处理、mysqli用于连接MySQL数据库修改php.ini的基本参数如上传文件大小限制upload_max_filesize、内存限制memory_limit。经验之谈我建议在创建第一个网站前先到“PHP设置”里为你选择的默认PHP版本做一些常用优化。例如将upload_max_filesize和post_max_size从默认的2M改大比如128M这样以后上传网站主题或媒体文件时就不会报错将max_execution_time适当调大如300秒避免执行耗时脚本超时。这些修改在图形界面里点选即可无需手动编辑配置文件非常方便。4. 创建你的第一个网站以部署一个PHP探针为例理论讲完我们来实战。部署一个完整的WordPress或Typecho博客可能需要更多步骤。为了快速验证Web Station是否工作正常我推荐先部署一个最简单的PHP探针页面。它只有一个文件却能直观地显示服务器环境信息。4.1 准备网站文件与目录在File Station中进入你计划存放网站的共享文件夹例如“web”。新建一个子文件夹作为你的第一个网站根目录例如命名为“myfirstsite”。你需要一个index.php文件作为网站的首页。我们可以用几行代码创建一个简易探针。打开群晖自带的“文本编辑器”套件或者任何你喜欢的代码编辑器新建一个文件输入以下内容?php phpinfo(); ?将这个文件保存为index.php并通过File Station上传到刚才创建的“myfirstsite”文件夹内。4.2 在Web Station中创建虚拟主机打开Web Station进入“虚拟主机”标签页。点击“新增” - “基于端口”。名称填写一个易于识别的名字如“My First Test Site”。端口填写一个未被占用的端口号例如8080。如果80端口空闲也可以用80这样访问时无需输入端口号。文档根目录点击“浏览”选择你刚才创建的“myfirstsite”文件夹。这个路径就是网站寻找index.php等文件的起始位置。HTTP后端服务器通常选择“Nginx”或“Nginx Apache”即可。后者兼容性更好如果遇到奇怪的伪静态规则问题可以切换试试。PHP选择你之前设置好的默认PHP版本如PHP 8.0。其他设置保持默认点击“确定”保存。4.3 访问测试与故障排查创建完成后在虚拟主机列表里应该能看到你的新站点状态为“已启用”。现在打开你电脑上的浏览器在地址栏输入http://你的NAS内网IP:端口号。例如http://192.168.1.100:8080。如果一切顺利你应该会看到一个布满表格的页面详细列出了PHP的版本、已加载的模块、服务器环境变量等信息。这就是phpinfo()函数的输出它证明你的Web服务器和PHP解释器都已正常工作。常见问题与排查显示“403 Forbidden”这几乎肯定是权限问题。请返回第2.2节仔细检查“myfirstsite”文件夹及其内部文件是否对“http”用户赋予了“读取”权限。显示“404 Not Found”检查“文档根目录”路径是否正确以及该目录下是否存在index.php或index.html等默认索引文件。确认你访问的URL端口号与虚拟主机设置的端口号一致。页面显示PHP源代码这说明PHP没有成功解析。检查虚拟主机配置中“PHP”选项是否已正确选择版本并启用。可以尝试在Web Station的“PHP设置”中重启一下对应的PHP服务。5. 进阶配置域名、HTTPS与性能调优当基础网站跑通后你可以考虑让它变得更专业、更安全、更高效。5.1 使用自定义域名内网/公网使用IP端口访问既不美观也不便于记忆。我们可以为其绑定域名。内网域名假设你的NAS内网IP是192.168.1.100你想用test.nas.com访问。在你的路由器或内网DNS服务器的“本地域名解析”或叫Hosts设置中添加一条记录192.168.1.100 test.nas.com。在Web Station中编辑你的虚拟主机。将“基于端口”改为“基于名称”。在“主机名”中填入test.nas.com端口可以保留80或你设定的端口。保存后在内网任何设备上访问http://test.nas.com即可。公网域名与DDNS如果你想从外网访问流程更复杂一些。你需要一个公网IP可以向宽带运营商申请但通常家庭宽带是动态IP和一个域名。在群晖的“控制面板” - “外部访问” - “DDNS”中可以添加各种DDNS服务商如群晖自带的Synology、或者No-IP等将你的动态公网IP绑定到一个固定的域名如myhome.synology.me。在路由器上设置“端口转发”将WAN口的80/443端口请求转发到NAS内网IP的对应端口上。安全警告将服务暴露到公网会带来安全风险。务必使用强密码及时更新套件和系统并考虑使用群晖的“Security Advisor”和“防火墙”功能。5.2 启用HTTPSSSL证书启用HTTPS可以加密浏览器与服务器之间的通信防止数据被窃听或篡改。获取证书免费证书推荐在群晖“控制面板” - “安全性” - “证书”中点击“新增” - “添加新证书”。你可以通过Let‘s Encrypt免费获取一个有效期为90天的证书前提是你有一个真实的公网域名且DDNS设置正确80或443端口能从公网访问以完成验证。自签名证书同样在证书页面你可以创建自签名证书。这种证书浏览器会提示“不安全”但通信仍是加密的。适合内网环境你可以在每个设备上手动信任该证书。配置虚拟主机使用证书编辑你的虚拟主机在“SSL证书”下拉菜单中选择你刚刚导入或创建的证书。如果你的服务同时支持HTTP和HTTPS可以保持HTTP端口如80和HTTPS端口如443都开启。更佳实践是设置“HTTP自动重定向到HTTPS”这样即使用户输入http://开头的地址也会被强制跳转到安全的https://连接。5.3 Web服务器与PHP性能调优对于访问量不大的个人站点默认配置足够。但如果感觉响应慢或计划运行稍复杂的应用可以做一些微调。Nginx/Apache调优在Web Station的“常规设置”中可以找到“HTTP后端服务器”的配置文件位置。对于高级用户可以手动编辑这些配置文件如Nginx的nginx.conf调整工作进程数、连接超时时间等参数。修改前务必备份原文件PHP性能调优再次进入“PHP设置”。启用OPcache这是PHP的性能加速器能将编译好的脚本字节码缓存起来极大提升重复执行效率。找到你的PHP版本在扩展列表里勾选启用opcache。调整内存与执行时间根据应用需要适当增加memory_limit如256M或512M和max_execution_time。会话存储默认PHP会话文件可能存储在/tmp。对于NAS可以将其改为存储在某个共享文件夹避免因临时清理导致登录状态丢失。这需要修改php.ini中的session.save_path参数。6. 实战部署以WordPress博客为例掌握了基础我们来部署一个真正的应用——WordPress这是世界上使用最广泛的博客/CMS系统。这个过程会综合运用到前面所有知识。6.1 环境与文件准备确保依赖就绪确认Web Station运行正常且PHP版本推荐7.4以上已安装。确认MariaDB 10已安装并启动。创建数据库打开MariaDB 10套件或通过phpMyAdmin为WordPress创建一个新的数据库例如命名为wordpress_db同时创建一个拥有该数据库全部权限的用户例如用户wp_user密码设置得复杂一些。记下数据库名、用户名和密码。下载WordPress从WordPress官网下载最新的中文版压缩包。准备网站目录在File Station的网站根目录如web文件夹下新建一个子文件夹例如myblog。将WordPress压缩包解压并把解压出的wordpress文件夹内的所有文件注意是文件夹内的文件不是wordpress文件夹本身上传到myblog目录中。6.2 创建虚拟主机与安装向导在Web Station中为myblog目录创建一个新的虚拟主机。可以基于端口如8081也可以基于名称如blog.myhome.com需提前配置DNS。在浏览器中访问你的网站地址如http://192.168.1.100:8081。你应该会看到WordPress的著名“五分钟安装”界面。选择语言后会提示需要数据库信息。填入你在第1步中创建的数据库名、用户名、密码。“数据库主机”填写localhost因为MariaDB和Web Station在同一台NAS上“表前缀”可以使用默认的wp_或者为了安全改为自定义前缀如wp9a8b7c_。点击提交。如果信息正确WordPress会连接数据库并创建好数据表。接下来设置站点标题、管理员用户名、密码和邮箱。完成登录后台你就可以开始撰写文章、更换主题、安装插件了。6.3 WordPress在NAS上的优化与避坑指南在NAS上运行WordPress与在传统虚拟主机上略有不同有几个地方需要特别注意文件权限问题WordPress需要向wp-content目录下的uploads上传、plugins插件、themes主题等子目录写入文件。你必须确保这些目录对http用户有“写入”权限。在File Station中选中这些文件夹右键“属性” - “权限”为http用户添加“写入”权限。固定链接设置WordPress的默认文章链接是带问号的动态链接如?p123不美观且对SEO不利。在后台“设置” - “固定链接”中可以设置为“文章名”等更友好的格式。启用后需要在Web Station中配置伪静态规则。对于Nginx后端规则通常如下你需要将其添加到对应虚拟主机的“自定义设置”中位置在编辑虚拟主机页面的“Nginx设置”或“HTTP后端服务器设置”里location / { try_files $uri $uri/ /index.php?$args; }添加并保存后重启Web Station服务固定链接即可生效。邮件发送问题NAS上的PHP默认没有配置邮件发送功能SMTP。WordPress的用户注册、密码找回等需要发邮件的功能会失效。解决方案是安装一个SMTP插件如“WP Mail SMTP”并配置一个第三方邮件服务如QQ邮箱、163邮箱的SMTP服务来代发邮件。备份策略你的网站现在由“数据库MariaDB”和“文件WordPress程序上传内容”两部分组成。务必定期对这两者进行备份。可以使用群晖自带的“Hyper Backup”套件定期将myblog目录和MariaDB中的wordpress_db数据库备份到另一个位置或云端。7. 不止于网站Web Station的更多可能性Web Station的本质是一个Web服务器管理器它的能力边界取决于你的想象力。除了博客你还可以用它来托管各种开源Web应用将你的NAS打造成全能工具箱。在线办公套件部署Nextcloud或ownCloud打造一个私有的云盘在线文档协作平台完全替代公有云服务。家庭媒体与娱乐安装Jellyfin、Plex或Emby的Web客户端虽然它们通常有独立的套件但Web Station可以作为补充或备用访问方式。部署Aria2 WebUI为你的下载工具提供一个美观的远程管理界面。开发与工具部署phpMyAdmin更友好地管理MariaDB数据库。运行Adminer一个更轻量级的数据库管理工具。搭建GitLab CE或Gitea建立私有的代码托管平台。家庭自动化一些开源的智能家居中枢系统如Home Assistant提供了Web管理界面可以通过Web Station来托管。部署通用流程在GitHub或项目官网找到目标应用查看其“Requirements”要求确保你的PHP版本、数据库版本满足条件。下载源码上传到NAS的指定目录。在Web Station中为该目录创建虚拟主机。通过浏览器访问通常会出现安装引导页面按照提示配置数据库等信息即可。永远记得在安装后根据应用文档正确设置文件和目录权限。从简单的PHP探针到功能完整的WordPress再到各式各样的自托管应用Web Station打开了一扇门让你的群晖NAS从被动的存储设备变成了一个能主动提供服务的家庭服务器。这个过程可能会遇到权限、配置、兼容性等各种小问题但每一次解决问题的过程都是对Linux、Web服务和网络知识的一次实践。