1.前言
Ubuntu系统作为Linux系统的一个重要分支,既有Linux系统的轻量化、高扩展性和长时间稳定运行,也拥有Windows一样的友好图形界面,因此可以作为熟悉服务器系统的良好选择。对于笔者来说,ubuntu系统最大的用处,就是可以让家里老旧的电脑重焕生机,让本已退居二线的电脑与cpolar内网穿透软件搭配,成为私人服务器,搭建自己喜欢的各种网站。今天,笔者就为大家介绍,如何使用cpolar内网穿透+Z-blog搭建私人博客网站。
2.网站搭建
Z-blog是知名的个人博客网站,其小巧的体积和数量众多的扩展插件,让Z-blog有了很高的可玩性,也成为不少私人博主搭建个人博客的首选。当然,在个人电脑上搭建的Z-blog网站很难被公共互联网访客访问到,但通过cpolar搭建的内网穿透数据隧道,就能让个人电脑变身成为私人服务器,在这台电脑上搭建的个人博客网站,也自然能被大家访问到。现在,就让我们开始吧。
2.1. 网页下载和安装
由于Z-blog的运行需要多个支持程序,如Apache或Nginx、PHP、SQL等等,为方便对这些网页运行软件管理,笔者使用宝塔面板建立网站运行环境,从而避免对这些网页运行所需软件分别设置的麻烦。
通常,一个正式软件都会有自己的官网,我们可以在软件官网上找到该软件的下载、安装指导等等信息,Z-blog也不例外。但宝塔面板提供了不少主流和常用网站的一键部署安装方式,这就省去了我们很多麻烦。实际上,宝塔面板的一键部署功能,也是按照正常网站部署步骤进行(下载网站源代码、并在网站支持程序下安装网站本体),只是将一些简单步骤列入自动运行目录中。
访问Z-blog的官网后,我们可以看到Z-blog支持多个版本的php,同时也支持多种数据库软件,也就意味着我们需要先在宝塔面板上安装Apache、MySQL、PHP(即所谓的LAMP,如果是在Linux下安装Nginx、MySQL、PHP,则称为LNMP)。
我们也可以在宝塔面板的主页(可以在浏览器中输入本地地址:宝塔面板输出端口号)左侧,找到软件商店
按钮,点击进入软件商店页面。在这个页面,我们可以找到常用的网站运行支持程序,包括Nginx、Apache、MySQL、PHP、phpMyadmin、Tomcat、Docker管理器、Redis等等。我们找到所需的软件,点击该软件条目右侧的“安装”,即可将其安装至ubuntu系统上。
为保证Z-blog网站的兼容性,笔者选择PHP7.2安装。如果一些网站对PHP版本有指定的,只要选择对应PHP版本安装即可。
完成Apache、MySQL、PHP几项软件的安装后,我们可以点击软件商店页面上方的已安装
按钮,查看已经安装的软件。同时,也可以在这里切换每个软件的版本。
接着,点击宝塔面板主界面左侧的数据库
按钮,进入数据库设置页面。在这里我们为Z-blog设置一个数据库,设置内容主要是数据库名称和密码。
数据库设置完成后,我们点击宝塔面板主界面左侧的“软件商店”。进入软件商店后,在页面上方找到一键部署
按钮,进入可以一键部署的网站分页,从中选取Z-blog
条目,点击该条目右侧的一键部署
按钮。
接着进入网站基本设置窗口,在这里我们可以指定网站的基本信息,这些信息包括:
- 输出端口号 – 在“域名”栏位,通过“打算设置的域名:打算使用的端口”形式设置;
- 根目录 – 这个栏位可改可不改,但这个根目录内容会与“域名”栏位联动,为防止混淆,笔者还是将其更改为zblog
- 数据库 – 这里填入我们之前设置的数据库信息即可;
- PHP版本 – 对于某些网站可能会要求使用特定版本的PHP,我们就可以在PHP版本栏位修改(前提是已经安装了对应版本的PHP软件)
完成这些设置后,就可以点击窗口下方的“提交”按钮,正式创建zblog网站。
网站创建完成后(一瞬间的事),宝塔面板会弹出已创建网站的地址,以及zblog后台登录用户名和密码。
2.2.网页测试
最后,我们在本地浏览器中输入localhost:81
(即本地81端口),尝试访问新建立的zblog网站。
但奇怪的是,zblog网站反馈数据库信息错误(数据库信息保存在zb_users文件夹的c_option.php文件中),因此我们依照网站提示,点击宝塔面板左侧的“网站”按钮,打开zblog的根目录,在根目录中找到zb_users文件夹下的c_option.php文件。
找到c_option.php
文件后,双击打开该文件进行编辑。在c_option.php文件的编辑窗口,可以找到ZC_MYSQL_XXXXXXX
格式的条目。这里我们可以看到,ZC_MYSQL_USERNAME
、ZC_MYSQL_PASSWORD
、ZC_MYSQL_NAME
三项内容都不对。
因此我们将之前设置的zblog数据库的数据库名、用户名和密码,替换掉现有内容,再点击编辑窗口左上角的“保存”按钮,将修改内容存入c_option.php文件中。
这时我们再访问zblog的网页,就能看到zblog网页已经能够正常显示。
2.3.cpolar的安装和注册
完成网页的部署后,就可以转入cpolar的安装。想要在ubuntu系统上安装cpolar,可以使用简便的一键安装脚本进行安装。只要在ubuntu的命令行界面输入以下命令,就可以自动执行安装程序(需要注意的是,可能有的ubuntu版本没有安装curl工具,因此最好先执行命令sudo aptinstall curl
安装curl工具)。
cpolar地址:https://www.cpolar.com/
Cpolar一键安装脚本:
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
Cpolar安装完成后,就可以再输入命令启动cpolar。
systemctl start cpolar
这时ubuntu系统会跳出启动服务的认证框,我们输入ubuntu系统的密码即可。
当然,我们也可以不使用systemctl级别命令,而是输入cpolar version
查询本地cpolar的版本号,只要能显示出版本信息,就说明cpolar安装完成。
为保证cpolar能在ubuntu系统上长期运行,以此保证数据隧道的稳定存续,最好将cpolar添加进ubuntu开机自启列表。只要在ubuntu的命令行界面,输入命令将cpolar添加进自启列表中。
sudo systemctl status cpolar
为保证每位用户的数据安全,并为每位客户创建单独的数据隧道,cpolar以用户密码和token码进行用户验证,因此我们在使用cpolar之前,需要进行用户注册。注册过程非常简单,只要在cpolar主页右上角点击“用户注册”,在注册页面填入必要信息,就能完成注册。
完成cpolar用户注册后,我们就可以使用每位用户唯一的token码,激活cpolar的客户端。只要在cpolar官网登录后,就可以在验证
页面(或是“连接您的账户”窗口),找到用户唯一的token码。
将这个token码复制粘贴到ubuntu的命令行界面,cpolar客户端就会将这个token码写入本地cpolar.yml文件中(token码激活只需要进行一次即可),以此作为用户数据隧道的识别信息。具体命令格式为cpolar authtoken 用户唯一的token码
。
3.本地网页发布
到这里,我们在本地设备上安装了网页,也安装了cpolar内网穿透程序,接下来我们就可以使用cpolar,为本地网页创建一个安全高效的数据隧道,让我们本地的网页能够在公共互联网上访问到。
3.1.Cpolar临时数据隧道
为满足部分客户需要的网页临时测试功能,cpolar可以直接在cpolar户端创建临时数据隧道(每隔24小时重置一次公共互联网地址,)。要创建临时数据隧道,我们直接在本地设备上登录cpolar客户端(在浏览器地址栏输入localhost:9200),并在cpolar客户端主界面点击隧道管理
项下的创建隧道
按钮,进入创建隧道设置页面。
在“创建隧道”页面,我们需要对几项信息设置,这些信息设置包括:
隧道名称
– 可以看做cpolar客户端的隧道信息注释,只要方便我们分辨即可;协议
–网站是网页程序,因此选择http协议;本地地址
– 本地地址即为本地网站的输出端口号,此处依照我们的设置,填入81;域名类型
–这里我们可以区分数据隧道是临时使用,或是长期存续。由于我们只是先进行临时测试,因此选择“随机域名”(二级子域名和自定义域名都是长期稳定隧道,需要在cpolar云端预留公共互联网地址)。地区
– 即服务器所在位置,我们依照实际使用地就近填写即可;
完成这些设置后,就可以点击页面下方的创建按钮
,建立起一条临时数据隧道。临时数据隧道创建完成后,cpolar客户端会自动跳转至隧道管理
项下的隧道列表
页面,在这里我们可以看到cpolar本地的所有数据隧道(无论临时还是长期)。我们也可以在这里,对数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。
而我们创建的能够连接本地网站的临时公共互联网网址,则可以在状态
项下的在线隧道列表
中找到。
将这里显示的公共互联网地址粘贴到浏览器地址栏,就能访问到本地的网页页面。
不过,此时的数据隧道只是临时数据隧道,每24小时就会重置一次。数据隧道重置后,cpolar生成的公共互联网地址就会变化,如果打算再次访问这个网页,就需要使用新生成的地址。
3.2.Cpolar稳定隧道(云端设置)
如果想要为本地网站设置能长期稳定存在的数据隧道,我们需要先将cpolar升级至VIP版。
Cpolar升级至付费版后,就可以登录cpolar的官网,并在用户主页面左侧找到预留
按钮,点击进入cpolar的数据隧道预留页面,在这里生成一个公共互联网地址(或称为数据隧道的入口)。此时这个地址没有连接本地的软件输出端口,因此可以看做是一条空白的数据隧道。
在预留页面,我们可以保留使用多种协议的数据隧道,这里我们选择保留二级子域名
栏位。
在“保留二级子域名”栏位,需要进行几项信息的简单设置:
地区
(服务器所在区域,就近选择即可)二级域名
(会最终出现在生成的公共互联网地址中,作为网络地址的标识之一)描述
(可以看做这条数据隧道的描述,能够与其他隧道区分开即可)。
完成这几项设置后,就可以点击右侧的保留
按钮,将这条数据隧道保留下来。
当然,如果这条数据隧道不打算再使用,还可以点击右侧的“x”将其轻松删除,节约宝贵的隧道名额。
3.3.Cpolar稳定隧道(本地设置)
完成cpolar云端的设置,并保留了空白数据隧道后,我们回到本地的cpolar客户端,将云端生成的空白数据隧道与本地的测试页面连接起来。
在本地设备上打开并登录cpolar客户端(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式)。
点击客户端主界面左侧隧道管理
项下的隧道列表
按钮,进入本地隧道的页面,再点击对应隧道的编辑
按钮。
在本地隧道的编辑
页面(与创建本地临时隧道的页面一样),我们只要对域名类型
进行修改,就能将cpolar云端设保留的公共互联网地址,与本地cpolar创建的zblog数据隧道连接起来。
我们已经在cpolar云端预留了二级子域名的数据隧道,因此将之前的随机域名
改选为二级子域名
(如果预留的是自定义域名,则勾选自定义域名),并在下一行Sub Domain
栏中填入预留的二级子域名
,这里我们填入“zblogtest”。
完成“域名类型”的更改后,就可以点击页面下方的更新
按钮,将cpolar云端的空白数据隧道与本地zblog网站连接起来,即生成了能够长期稳定存在的zblog网站地址。
4.公网访问测试
这时我们再次进入在线隧道列表
页面,就会发现本地zblog的公共互联网地址已经发生了变化,我们将新的本地zblog网站公共互联网地址粘贴到浏览器中,就能使用稳定数据隧道访问本地zblog网站。
5.结语
到这里,我们就成功的在本地ubuntu系统上,搭建起私人的zblog网站,并通过cpolar创建的内网穿透数据隧道,让互联网访客能轻松访问到我们的网站。虽然中间经历了小波折,但也算顺利解决。使用相同的思路,我们也能在本地搭建其他类型的网站,再通过cpolar创建的数据隧道,发布到公共互联网上,将我们的个人电脑升级为私人服务器,给我们的生活和工作带来更多方便。