Typecho 是一个基于 PHP 的简洁的开源博客程序. 它使用多种数据库 (MySQL,PostgreSQL,SQLite) 储存数据, 在 GNU GPLv2 许可证下发行. Typecho 的前身是开源博客程序 Magike, 由 Typecho 项目的发起人 JoyQi(70)开发. 该团队的最初形成, 是在 wordcamp china 的活动上, 后来有更多成员加入了这个项目, 之后改名为 Typecho. 这个名字来源于团队内部的头脑风暴: Type, 有打字的意思; Echo, 意思是回声, 反馈, 共鸣, 也是 PHP 里最常见, 最重要的函数. 将这两个词合并在一起, 就有了 Typecho.
安装 LAMP 集成环境
LNMP 是 Linux+Nginx+MySQL+PHP 的简称, 安装 LNMP 的步骤比较冗长, 有兴趣的同学可以参考如何搭建 LNMP 网站服务环境自己动手搭建, 本文不再向描述. 这里, 我们提供一种更为快速便捷的安装方案, 通过腾讯云云市场中的 PHP 全能运行环境 https://market.cloud.tencent.com/products/180 镜像来进行搭建.
首先, 我们进入腾讯云官网的服务器控制台 https://console.cloud.tencent.com/cvm/index , 选择需要安装 LNMP 集成环境的云服务器进行重装.
然后, 在重装的界面选择 "服务市场 ->全能环境 ->PHP 全能运行环境" 镜像, 输入自定义的服务器密码, 点击 "开始" 进行系统重装.
等待系统重装成功, 我们即完成了 LNMP 集成环境的安装.
连接服务器
首先检查你的服务器安全组设置, 确保其开放 SSH 使用的 22 和 HTTP 访问使用 80 端口以及我们上传文件的 21 端口. 然后我们通过 SSH 软件登录服务器, 如果你本地电脑是 Windows 情况下可以使用 putty 等软件, Linux 及 MacOS 请使用终端进行连接.
我这里以 MobaXterm 的终端软件为例, 点击左上角的 Session 按钮, 选择以 SSH 方式连接, 在 Remote host 输入你的服务器的公网 IP 地址, Specify username 输入你的用户名, 如果你的服务器是 Ubuntu 系统, 请输入 Ubuntu 如果是 CentOS 系统则输入 root. 这里我们是 CentOS 系统, 所以我们输入 root.
img
点击 OK 后, 输入你设置的密码(默认不显示), 即可连接到你的服务器, 你会看到类似下面的页面.
img
这样, 你就进到你的服务器的页面了.
查看数据库及 FTP 服务器的账户密码
进入服务器后, 镜像已经帮你搭建好了 Discuz!! 所需的环境, 你只需要查看密码即可使用这个服务器. 首先我们输入 ls 命令查看当前目录文件, 然就我们会发现一个名为 default.pass 的文件, 使用 cat default.pass 命令展示当前生成的密码.
- ls
- cat default.pass
你会看到类似下面的输出
- [root@VM_0_7_centos ~]# ls
- README.txt anaconda-ks.cfg default.pass install.log install.log.syslog
- [root@VM_0_7_centos ~]# cat default.pass
- +----------------------------------------------------------------------
- | YJCOM [ EASY CLOUD EASY webSITE]
- +----------------------------------------------------------------------
- | Copyright (c) 2015 http://yjcom.com All rights reserved.
- +----------------------------------------------------------------------
- MySQL root password: gOeuPMkjSbVn
- MySQL database name: ZjI4meIu
- MySQL user: ZjI4meIu
- MySQL password: dk0KknIIXfn8
- FTP account: www
- FTP password: SvlLQX5nYEq5
- [root@VM_0_7_centos ~]#
部署 typecho 博客
下载 Typecho
在上面我们已经获取了 Typecho 所 FTP 及数据库需要的账户及密码. 接下来, 第一步就是下载 Typecho 的安装文件了. 目前最新的稳定版为 1.1 (17.10.30), 推荐安装这个版本. 在这个链接 http://typecho.org/download 里找到下载 1.1 正式版按钮, 然后点击下载. 下载完成后我们将文件解压出来, 接下来, 我们就需要上传源码文件了.
上传 Typecho
这里我们要用到上一步获取的 FTP 账户 www 及密码 SvlLQX5nYEq5 使用 ftp 软件登录 FTP 服务器, 这里我们依然以 MobaXterm 为例, 点击左上角的 Session 按钮, 选择以 FTP 方式连接, 在 Remote host 输入你的服务器的公网 IP 地址, Username 输入你的用户名, 这里我们获取到的是 www, 输入 www, 点击 OK 后, 输入你设置的密码, 即可连接到你的服务器, 你会看到类似下面的页面.
img
然后, 我们就可以上传 typecho 的源码文件了. 将上一步解压出来的 build 文件通过 FTP 方式进行上传.
上传完成后, 我们就可以通过访问 http:// 你的服务器 IP 地址 / install.PHP 进行安装了.
新建数据库
在安装 typecho 之前, 我们需要新建一个名为 typecho 的数据库, 以便能够正常安装 typecho. 我们使用的这个镜像已经帮我们安装好了 phpMyAdmin 管理工具, 我们只需要访问你的 http:// 你的服务器 IP 地址 / phpmyadmin/index.PHP 即可.
然后我们点击左侧新建按钮, 然后填入 typecho. 当然, 这里的名字可以自定义, 本文为了方便管理, 在这里填入 typecho.
接下来, 系统会提示创建成功, 我们可以进行下一步了.
安装 typecho
访问 http:// 你的服务器 IP 地址 / install.PHP 页面, 会看到系统已经准备好, 可以开始下一步安装.
接下来, 需要我们输入数据库信息及站点信息. 由于我们使用的本地自建的数据库, 所以我们使用上面得到的数据库账户及密码.
- MySQL root password: gOeuPMkjSbVn
- MySQL database name: ZjI4meIu
- MySQL user: ZjI4meIu
- MySQL password: dk0KknIIXfn8
请按下图填写, 数据库适配器, 数据库地址, 数据库端口, 数据库用户名, 数据库前缀保持默认即可. 这里我们需要填写数据库的密码, 本文中是 gOeuPMkjSbVn, 然后将数据库名改为你上一步创建的数据库名 typecho.
向下滑动, 需要我们设置网站地址, 修改网站地址为你的域名, 我这里以 http://qcloud.test.com 为例. 用户名请填写你能记住的用户名, 密码请填写你能记住的密码. 邮箱地址请填写你的邮箱, 然后点击确认, 开始安装>>按钮.
正常情况下, 系统将提示你安装成功! 如下图所示
接下来, 就能看到首页啦, 如图
我们也可以通过访问 http:// 你的服务器 IP/admin / 来访问后台页面.
赶快去配置你的 typecho 博客吧!
总结
通过这篇文章, 我们学会了搭建部署 Typecho 博客, 搭建过程中我也遇到了一些问题, 在这里写出给大家分享.
Q: 安装过程中提示数据库无法连接.
A: 先检查数据库地址, 账户, 密码, 确认无误后, 还是报错, 请注意部署中新建数据库列, 一定要新建数据库, 不然会报错.
Q: 安装过程中提示无法创建文件, 请手动新建.
A: 这是文件权限问题, 请按照网页设置进行配置, 在文件目录下创建配置文件 config.PHP. 或者给 Typecho 目录可写入权限.
Q: 创建完成后访问网站显示 Call to undefined function utf8_decode().
A: 这里是因为 php7.0 版本造成的问题, 需要在你的环境安装 php7.0-xml 即可解决, 使用 sudo apt-get install php7.0-xml 这个命令进行安装.
Q: 访问后台页面报 404 错误.
A: 这是因为 Nginx 没有加载伪静态, 需要在 Nginx 配置中设置伪静态. 在
- location / {
- ...
- // 这里添加
- ...
- try_files $uri $uri/ =404;
- ...
- }
添加如下代码:
- if (-f $request_filename/index.html){
- rewrite (.*) $1/index.HTML break;
- }
- if (-f $request_filename/index.PHP){
- rewrite (.*) $1/index.PHP;
- }
- if (!-f $request_filename){
- rewrite (.*) /index.PHP;
- }
即可解决.
如果你的 Typecho 博客打算长期使用, 建议数据库部分使用腾讯云的关系型数据库 https://cloud.tencent.com/product/cdb-overview 进行配置, 云关系型数据库是一种高度可用的托管服务, 提供容灾, 备份, 恢复, 监控, 迁移等数据库运维全套解决方案. 或使用腾讯云的建站主机 https://cloud.tencent.com/product/lh 进行快速配置, 即买即用, 一站式完成应用的搭建.
来源: https://www.qcloud.com/developer/article/1356132