如何搭建 Typecho 博客

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全能运行环境镜像来进行搭建。

首先,我们进入腾讯云官网的服务器控制台,选择需要安装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),推荐安装这个版本。在这个链接里找到下载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博客打算长期使用,建议数据库部分使用腾讯云的关系型数据库进行配置,云关系型数据库是一种高度可用的托管服务,提供容灾、备份、恢复、监控、迁移等数据库运维全套解决方案。或使用腾讯云的建站主机进行快速配置,即买即用,一站式完成应用的搭建。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏磨磨谈

ceph luminous 新功能之磁盘智能分组

本篇是luminous一个新功能介绍,关于磁盘智能分组的,这个在ceph里面叫crush class,这个我自己起名叫磁盘智能分组,因为这个实现的功能就是根据磁...

1482
来自专栏Java后端技术

Centos7安装docker-compse踩过的坑

​   本文,我们介绍如何在centos7环境下安装docker-compose, 记录下安装过程步骤以及遇到的问题还有解决办法。

941
来自专栏程序员八阿哥

XShell上传、下载本地文件到linux服务器

Xshell很好用,然后有时候想在windows和linux上传或下载某个文件,其实有个很简单的方法就是rz,sz。 首先你的Linux上需要安装安装lrzs...

1.3K1
来自专栏实战docker

docker下载镜像慢怎么办?daocloud加速器来帮你

使用docker pull命令下载镜像的时候,常遇到连接超时或者下载很慢的情况,例如docker pull bolingcavalry/bolingcavalr...

3438
来自专栏青青天空树

mongodb3 ubuntu离线安装(非apt-get)及用户管理

  目前mongodb已经出到3.x,相对于2.x改动较大,本着学新不学旧的原则来捣鼓nosql数据库。最初想着apt-get安装但是软件源上都是2.x的,遂下...

1491
来自专栏前端儿

WampServer 给电脑搭建apache服务器和php环境

  前端不仅要做页面展示层,还负责着数据交互的部分,不要等到后端人员做好工作了前端才开始对接,那样太被动了。

7101
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(三):Django基础知识回顾

努力与运动兼备~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

3472
来自专栏乐沙弥的世界

实验一:SQL server 2005高可用性之----日志传送

如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/10/31/4751070.aspx

1252
来自专栏社区的朋友们

让木马 DNS 数据传输成为历史:看我怎么让 xshell 病毒失效

笔者提出基于全 web 代理的 dns 恶意传输屏蔽方案,通过禁止终端做 dns 解析,仅允许代理做dns,完全屏蔽 pc 的恶意 dns 传输的同时,保障终端...

4300
来自专栏cloudskyme

vmware安装ubuntu12.04嵌套安装xen server(实现嵌套虚拟化)

环境准备 软件:vmware workstation 9.0      ubuntu-12.04.2-server-amd64(官方下载) 硬件:确认CPU支持...

3265

扫码关注云+社区

领取腾讯云代金券