威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

2019-05-22 18:05:46 7点赞 52收藏 2评论

小编注:此篇文章来自#原创新人#活动,成功参与活动将获得额外100金币奖励。详细活动规则,请猛戳此链接

去年双十一入手了威联通的ts-453bmini,使用下来非常满意,今天,刚好折腾了一下如何用这台nas来完美搭建wordpress网站并开启https访问。

在NAS上架设wordpress并不复杂,基本上各品牌的nas的官方商店都提供了wordpress的app,能做到一键搭设,但是,这样的方式架设出来的网站,都会保留着一连串的域名+端口,甚至还有二级目录,既不美观,又暴露了你nas的域名信息,因此,就有了今天的折腾。

我的目的是,网站建在nas上,可以通过自己的域名访问,并开启ssl。

要在nas中架设使用自己域名的wordpress网站,所需的前提条件如下:

  1. 一个公网ip+ddns动态域名(没有公网的要设置内网穿透)

  2. 一台VPS

  3. 一个域名

如果具备了以上3个条件,那么就可以通过以下步骤将自己的网站架设在家里的NAS当中了。

首先是在VPS中打开web环境,我直接安装的宝塔面板5.9,服务器系统我选择的是debian 9,所以采用debian的安装命令:

wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh

安装完毕后登录宝塔面板,一键安装LNMP环境

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

至此,服务器的环境安装完毕,我们下一步来解析域名

登录到你的域名服务商,进入DNS解析设置,将域名解析到你的VPS的地址,以freenom为例,设置如下

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

至此,域名解析步骤就完成了

现在,我们可以进入到nas的后台,来安装container下的wordpress。

其实在QNAP的官方app当中,也有提供wordpress,但为什么要在container中安装呢,两者的区别在于,威联通app的wordpress安装后,域名会默认设置为

http://你的nas的ip:端口号/wordpress

这样的结构显然太过于复杂,不符合折腾的精神,因此我们采用在container当中安装wordpress,来达到域名的美观,同时又保证整个网站是架设在自己的nas中,满足折腾的需要。

进入到container station,在创建菜单里搜索wordpress

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

安装后,会发现这个app实际上是由两个docker构成的,主程序和数据库

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

点击主程序链接,会弹出wodpress的后台链接,点击后就会进入到wordpress设置界面

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

出现安装提示后,不建议点击下一步,我们现在要设置的是如何用自己的域名访问。

现在,要先设置如何在外网访问到刚刚建立好的wordpress,如果你有公网ip的话,通过nas自带的ddns服务,就能顺利访问到,这里以威联通为例:

打开cloudlink云联通,开启myddns,如果有公网ip的话,这里会显示你的动态域名,如果没有公网ip,则需要通过frp等内网穿透工具来设置,这里不展开了

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

打开DDNS后,还需要在路由器上设置一下端口转发,container的wordpress的端口默认是10084,这里以openwrt的设置为例:

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

设置保存后,应该就能够通过ddns域名+端口号访问到wordpress了

http://ddns域名:10084

如果对域名没有特殊要求的话,现在这个教程也就可以结束了,如果要用自定义域名访问,并打开SSL的话,那么就请继续往下看!

家庭申请到的公网ip,80端口和443端口基本都是封锁的,如果用域名转发的方式,是可以将自定义域名指向我们的家庭nas的,可是这样的域名会在后面带上自定义端口,如果要去掉这个端口号,那么就需要用到nginx反向代理,宝塔面板中可以很轻松的做到,进入面板,我们先添加网站,因为这个步骤只是为了搭建反向代理,所以不需要添加数据库和FTP。

在域名里,添加自己的域名,带www的和不带的各一个

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

提交之后,我们点击网站选项,设置反向代理,在目标url里填写我们刚刚的ddns域名+端口号,点击启用反向代理,开启缓存

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

现在,你可以在浏览器中输入自己的自定义域名了,如果一切都设置正确,会进入到刚刚的wordpress安装界面。

基本上,折腾到这,也就可以说是告一段落了,但是注意细节的你,会发现在浏览器上的“不安全”

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

现在,我们就来去掉这个提示,启用ssl访问

我们现在的网站是通过反向代理访问的,只需要在最外层开启ssl,大致结构如下

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

设置方法如下

首先打开wordpress,我们要启用wordpress的https,container中的wordpress无法直接访问到设置文件,所以我们要安装一个插件“wp文件管理器”

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

打开文件管理器,在根目录文件wp-includesfunctions.php,找到代码 require( ABSPATH . WPINC . ‘/option.php’ );大概在第8行。

在下方添加以下代码

add_filter(‘script_loader_src’, ‘agnostic_script_loader_src’, 20,2); function agnostic_script_loader_src($src, $handle) { return preg_replace(‘/^(http|https):/’, ”, $src); }

add_filter(‘style_loader_src’, ‘agnostic_style_loader_src’, 20,2); function agnostic_style_loader_src($src, $handle) { return preg_replace(‘/^(http|https):/’, ”, $src); }

同样的方式,编辑根目录下的wp-config.php

找到以下代码

**
@package WordPress
*/

然后再其下方添加以下代码

$_SERVER[‘HTTPS’] = ‘on’;
define(‘FORCE_SSL_LOGIN’, true);
define(‘FORCE_SSL_ADMIN’, true);

这时候,如果你刷新页面,会弹出安全提示,因为还没有SSL的证书,我们打开宝塔面板,进入网站选项,选择SSL,Let's Encrypt选项,将下方的域名都勾上,开启SSL并强制打开https,如果设置正确,几秒钟后就会成功申请到SSL证书

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

再次输入域名,wordpress将正确的运行在ssl模式下

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

是不是成就感满格?!

最后一步,在wordpress中搜索插件Really Simple SSL,并开启,该插件将会自动设置SSL参数,提高网站的兼容性

威联通QNAP ts-453bmini 用container架设wordpress并开启SSL

终于折腾完了,其实有人会说,为何不直接在VPS上安装wordpress,的确,如果在VPS上安装,几个步骤就能做完,但也就失去了折腾的乐趣。

展开 收起
评论2

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

请选择举报理由

相关文章推荐

更多精彩文章
更多精彩文章
52
扫一下,分享更方便,购买更轻松