SDB:使用 openSUSE + Typecho 搭建博客

跳转至: 导航, 搜索
该页面介绍了如何从零开始在 openSUSE 上使用 Typecho 搭建一个博客系统

Typecho 简介

Typecho的前身是一个款叫做Magike的开源博客程序。是一款轻量高效、先进稳定、简洁友好的轻量级的博客系统。整个系统仅仅使用 7 张数据表,加上不足 400KB 的代码,就实现了完整的插件与模板机制。原生支持 Markdown 排版语法,易读更易写。支持 BAE/GAE/SAE 等各类云主机。

安装 Typecho

在 openSUSE 上搭建 Apache 服务器

你可以使用 Linux 通用的方法来建立一个 Apache 服务器,但是在 openSUSE 中最简单的方法还是使用 YaST。

首先我们要安装一些必要的软件:

sudo zypper in apache2 apache2-mod_php5 php5-mysql

当然你也可以在 YaST 搜索安装它们。

然后安装 yast2-http-server,我们需要使用它来配置我们的服务器。

sudo zypper in yast2-http-server

安装完以后我们打开 YaST,如图: Palefire Typecho1.png

在 Network Services 下我们可以看到 HTTP Server 这个选项。点击进入。 Palefire-Typecho2.png

他默认帮我们选好了监听端口和 IP 地址。我们只要选中最下面那个 Open Port in Firewall 然后确认。 YaST 就会自动帮我们配置好防火墙。注意在开启 HTTP Server 之前我们需要先打开防火墙(默认应该就是开启的),如果没有你同样可以在 YaST 里操作。

然后我们需要选择我们需要开启 Modules,Typecho 是用 PHP 写的,这里我们只要开启 PHP5 就可以了。 Palefire Typecho3.png

下面两步是设置 HOST 的,默认就可以了。

Palefire Typecho4.png Palefire Typecho5.png 最后选择让 Apache2 开机自启。 Palefire Typecho6.png

好了,我们的 Apache2 配置好了。确认一下是否正常运行。

systemctl status apache2.service


安装数据库

现在我们需要用数据库来储存我们的文章和评论。Typecho 支持两种数据库:MySQL 和 SQLite,MySQL 是久负盛名的开源数据库而 SQLite 则有小巧灵活的特点。

MySQL

在 openSUSE 我们使用的其实是 mariadb。

sudo zypper in mariadb mariadb-tools

安装完以后启动数据库。

systemctl enable mysql.service
systemctl start mysql.service

最后一步是初始化数据库。

mysql_secure_installation

初始化的时候按照提示回答程序提出的问题就好了。第一次会问你 root 密码,你是第一次运行直接回车即可,然后会问你时候要设置 root 密码,选择 Y 后设置好你密码。记住这个密码,在安装 Typecho 的时候会用到。后面的几个选项都选 Y 就可以了。

SQLite

SQLite 是嵌入式的,他的数据文件会放在解压后博客程序的 usr 目录下。这个只要直接安装好就好了。

sudo zypper in sqlite3 php5-sqlite

如果你要使用 SQLite 做数据库,请确保解压后博客程序中的 usr 目录(不是系统的 /usr 目录)是可写的,不然在安装的时候会无法正确创建数据库。

安装博客程序

Typecho 官网下载最新的 Typecho 版本,解压到 /srv/www/htdocs 目录下。比如我解压后就是 /srv/www/htdocs/blog。

然后通过浏览器访问这个文件夹。这里做示范的是虚拟机,通过端口转发到本地的,所以直接在浏览器地址栏里输入 127.0.0.1:8080/blog。

输入后就会进入安装程序。 Palefire Typecho7.png

下面就简单了,直接选择下一步。会让你填写一些信息。比如使用什么数据库,我们就使用默认的 MySQL 好了,其它都不要动,只要你在数据库密码那里输入你之前设置的数据库密码就好了,数据库不存在 Typecho 会自动建立。剩下的网站地址、用户名、密码什么的自己写就好了。为了安全,最好把用户名 admin 换掉,然后起一个别人不知道的管理员名称。在发布文章的时候不要使用管理员身份,使用另外权限比较低账户比如纂写者(Typecho 支持注册多种权限的用户)。这样人家不知道你的管理员名称了。 Palefire Typecho8.png


如果你要使用 SQLite 做数据库,请确保解压后博客程序中的 usr 目录(在这里就 /srv/www/htdocs/blog/usr 目录)是可写的,不然会无法正确建立数据库。如果使用 MySQL 出现无法连接数据库的情况可以尝试手动建立一个 MySQL 数据库。

最后确定就可以了,如果确认后出现 「安装程序无法自动创建 config.inc.php 文件,您可以在网站根目录下手动创建 config.inc.php 文件, 并复制如下代码至其中」的提示,不用惊慌,照他说的做好了。出现这样状况的原因是因为 /srv/www/htdocs/blog 不可写导致的。把这个目录设置为不可写可以更加安全。

然后确定,就安装完毕了。

Palefire Typecho9.png Palefire Typecho10.png


博客的迁移与升级

迁移的方法可以参照 Typecho 文档

迁移和升级差不多,你要保留下 usr 目录,因为你的主题、插件、上传的文件和 SQLite 的数据库都在里面。

在新的服务器上重新安装 Typecho,只是在这之前先把博客程序内 usr 目录用你保留下来的目录覆盖掉。剩下的都和重新安装一样。如果你使用的 MySQL 数据库的话则需要先导入之前的数据库。在选择数据库的时候输入你导入的数据库名,程序会询问你是删除重新建立数据库还是使用原有数据库。

MySQL 数据库的导入和导出也非常的方便。导出数据库可以使用:

mysqldump -u [数据库用户名] -p [要导出的数据库名称] > [导出数据库保存路径] 

导入可以使用 source 命令。先登陆数据库,然后:

source <需导入的数据库路径>

主题与插件

Typecho 之家Typecho主题模板站下载的主题直接解压到 usr/themes 目录下即可在控制台启用。有的主题会提供额外的设置选项,同样可以在控制台管理。

可以从这里这里获得 Typecho 的插件,你只要把插件下载解压到 usr/plugins 目录下,和管理主题一样你就可以非常轻松的在控制台启用或者禁用这些插件,有的插件还会提供额外的设置功能。

更多关于 Typecho 的说明可以访问 Typecho 文档站点