1.1 WordPress安装之一二三

安装Wordpress(后文简称WP)既不困难也不复杂,wordpress.org的官方指导完全可以教会你基本的安装,换言之,如果你想安装一个更完美的WP,你还需要知道一些不那么显而易见的事情。因此这个章节就是用来告诉你一个更进一步的安装和开发,我们得承认,WP是一个极为强大的发布工具;

你可以通过主题和插件来高屋建瓴的掌管WP,主题和插件基本上就是基于WP建站的全部了,因此了解最基本的权利才能更高层的掌控WP,WP只是砖瓦,主题和插件才是精髓。

另外需要提及的是,后文的WP都是特指官方提供的单用户版本,不要和多用户版本“WP-MU”搞混淆,并且主要适用于WP2.8以后至WP3.4。

[tab:基本安装]

基本安装过程

你可能知道,安装WP是小菜一碟,在博客圈,著名的“五分钟”安装被口耳相传,事实上,需要花去这么长时间的主要是上传安装文件的时间,由于网络或服务器的质量可能会让上传耗时一些,很有可能你已经亲自安装过许多个WP,下面我会简单的谈论此事。

首先,你需要确定你的系统满足WP最小的需求,该最小需求可以在wordpress.org/about/requirements/中找到。如果你的主机支持PHP4.3+并且运行着Mysql4.0+, 那么应该就很不错了。然而考虑到链接的优美,你还是要确定你的主机安装了mod_rewrite模块。


图1-1 安装wordpress

安装之前,你需要准备如下:

  • wordpress.org/download/下载最新的wordpress
  • 一个拥有写权限的Mysql数据库(询问你的主机商)
  • 你用得顺手的FTP工具

解压下载的文件到你想要安装的服务器的位置,然后打开wp-config-sample.php找到数据库部分填写你的数据库,用户名,密码等信息,下面是该文件的示例:

[cce lang=”php”]
define(‘DB_NAME’, ‘putyourdbnamehere’); // The name of the database define(‘DB_USER’, ‘usernamehere’); // Your MySQL username
define(‘DB_PASSWORD’, ‘yourpasswordhere’); // …and password
define(‘DB_HOST’, ‘localhost’); // 99% chance you won’t need to change this value
[/cce]

WP3.4.1已经有个更好的安装界面,你只需要保证你的服务器具有可写权限,即可通过下图1-1-2的方式安装:

图1-1-2:图形安装界面

接下来,还在wp-config-sample.php中找到秘钥部分,这部分一个名为“Authentication Unique Keys”的标题开始,紧接着有4行如下所示的需要你来填写秘钥。这是一种让你安装更安全的方法,你只需要添加这些秘钥一次,当然他们也可以在任何时候手动填写,官方网站有一个在线生成器会在每次载入的时候帮你生成一串字符。你只要将这个链接(api.wordpress.org/secret-key/1.1/)拷贝到生成器,并用浏览器打开就会得到一个包含如下代码的页面:

[cce lang=”php”]
define(‘AUTH_KEY’, ‘PSmO59sFXB*XDwQ!<uj)h=vv#Kle’)dBE0M:0oBzj’V(qd0.nP2|BT~T$a(;6-&!’);
define(‘SECURE_AUTH_KEY’, ‘o>p3K{TD.tJoM74.Oy5?B@=dF_lcmlB6jm6D|gXnlJ#Z4K,M>E;[ +,22O?Lnarb’);
define(‘LOGGED_IN_KEY’, ‘c}gR{389F*IG@/V+hg1 45J*H+9i_^HaF;$q(S[5Er[:DVOUjmS@(20E~t0-C*II’);
define(‘NONCE_KEY’, ‘gz2D:n52|5wRvh)es:8OO|O ufZL@C|G.-w/H-E*}K:ygp4wI*.QHO-mUV_PR|6M’);
[/cce]

从生成器页面复制以上内容,并替换wp-config-sample. php中的如下内容:

[cce lang=”php”]
define(‘AUTH_KEY’, ”);
define(‘SECURE_AUTH_KEY’, ”);
define(‘LOGGED_IN_KEY’, ”);
define(‘NONCE_KEY’, ”);
[/cce]

通过替换以上这些看起来不爽的代码,你就可以令你的安装更加安全。

最后一个你想在配置文件中修改的可能就是语言选项,WP默认为US English,而如果你是中国人你自然希望用汉语来建站。要更改语言你需要一个语言文件(.mo文件),你可以在codex.wordpress.org/WordPress_in_Your_Language这里找到大部分国家的语言。同时你需要在wp-config-sample.php通知WP你所使用的语言,如下代码:

[cce lang=”php”]
define (‘WPLANG’, ”);
[/cce]

你需要做的是添加上语言代码,这里和你的语言文件一样,只是不带后缀而已。因此如果你真的使用汉语,那么你需要下载cn_ZH.mo,上传到wp-content/languages/中,然后更改wp-config-sample.php如下

[cce lang=”php”]
define (‘WPLANG’, ‘cn_ZH’);
[/cce]

这不会让你的主题和插件也显示这个语言,但是WP自己会显示,我们会在第6章讲解更多的本地化话题;

这就是安装的全部工作了,把改好的wp-config-sample.php 重命名为 wp-config.php,并在浏览器里输入你安装的地址,然后就会出现一个对话框询问你的博客标题和email,选择是否让你的博客出现在搜索引擎中。这些之后你就可以使用admin和你自己设定的密码登录wordpress;

没有很复杂,对吗,最新的版本更为简单,相信我!

使用一个外部的数据库服务器

一个常见的安装失败的问题是Mysql服务器在另外一个服务器上,如果你遇到了数据库连接错误,而且你确定用户名密码权限等都是正确的,那么最可能是这个情况了:

如何解决呢,只要找到wp-config.php中的这行代码,更改localhost为你的数据库服务器(比如mysql32.wang.com,这取决于你的数据库服务器域名)

[cce lang=”php”]
define(‘DB_HOST’, ‘localhost’);
[/cce]

更改之后尝试再次安装!通常,如果你不知道你的数据库服务地址,你需要联系的主机商。

其他的数据库设置

你可能还想在安装之前考虑更多的数据库选项.

首先,数据库有编码格式,这是告诉WP使用什么格式的编码存储数据,其实永远使用UTF-8就不会错啦,这也是默认设置,如果你真的要改,那么找这句代码:

[cce lang=”php”]
define(‘DB_CHARSET’, ‘utf8’);[/cce]

[tab:转移WP]

转移WP到新的目录

如果你像我一样,不喜欢服务器繁杂的路径。换言之,所有的WP文件的文件夹放在你的根目录下令人极其恶心。尽管将所有的文件放在服务器不同用户他们自己的根目录下可能便于你的管理,但是问题在于如果你想在根目录下安装一个其他网站,你要在所有的文件中找到WP的文件可能不那么容易。如果不是纯粹的WP系统,那么你就凌乱了。。

安装在一个子文件夹里和安装在根目录是一个问题,我不会讲这个。下面的重点是我要讲WP安装在根目录但是却表现的像安装在根目录一样优美,同时保持服务器根目录的整洁。你可以直接将WP安装在子目录,或者从根目录将所有的WP文件转移到子目录,要怎么做由你,反正都很简单。

你应该先设置好永久链接选项,以便于他们正确的工作,你可以在“设置->永久链接”找到该项:

你需要做的第一件事是建立一个子目录文件夹,然后去常规设置里讲WP的安装地址表单填写到你想要转移的目录,参见附图1-2:

图1-2

然后点击更新按钮,并且移动除了index.php和.htaccess的所有文件到你想要安装的子目录,当转移成功后,打开index.php并且更改下面的代码,告诉WP你的安装地址:

[cce lang=”php”]
require(‘./wp-blog-header.php’);
[/cce]

这是一个相对链接,包含了wp-blog-header.php文件,这正是WP魔力开始的地方,你只要更改这个为你更新后的地址,例如./blog/wp-blog-header.php

然后登录你的WP再次更新永久链接使得他们指向新的地址:

一个例子可能是需要的,比如我将25.timepaw.com从根目录更改到子目录blog里,我首先要做如图1-2的更改,然后更新设置(此时不要惊讶可能的错误),只管去移动原来的那些文件到blog目录里,然后打开index.php更新上面的一行代码为如下的代码:

[cce lang=”php”]
require(‘./blog/wp-blog-header’ );
[/cce]

如你所见,这个代码表示WP系统包含了blog文件夹,并且指向了wp-blog-header.php文件,登录WP管理后台(这时应该是25.timepaw.com/blog/wp-admin/)更新你的永久链接,至此你就成功的转移了wordpress并且保持了根目录的清洁(只有index.php文件)。

[tab:入侵数据库]

操作WP的数据库

大多数时候,你不用担心数据库,WP会自动做这些工作。数据库版本的更新都是自动完成,你不需要做任何事情。

这就是说,如果出现了系统方面的问题,你才会做一些跟数据库相关的事情去修复事故,常见的就是重置密码、转移网站时更改域名和首页URL,以及一些令人头疼的小模块问题。

在接下去之前,你首先应该记住一点:对数据库的更改都是严肃的事情,这里面可没有撤销的可能,删除就是删除。尽管你知道你在做什么我还是建议你在更改之前备份一下数据库。如果你还不了解MYsql数据库和phpMyadmin,那么最好在你需要之前不要动他们,否则你会坏事的。

这就是数据库的一切:

在WP数据库里找到头绪是相当简单的,这一共有十张表,每张表都充满信息;不过只要浏览一下这些数据表基本上就能回答你大部分的问题,然后你就可以动手修改数据库了,如果你知道你在干什么。自然的,在官方网站上(codex.wordpress.org/Database_Description)有一张数据库的描述文档,你可以在遇到问题的任何时候查阅这份文档。

10个主要的表如下:

■ wp_comments: 包含所有的评论内容
■ wp_links: 包含所有的链接内容
■ wp_options: 博客的配置选项
■ wp_postmeta: 文章的元数据
■ wp_posts: 所有发布的文章的内容
■ wp_terms: 分类和标签
■ wp_term_relationships: 文章和标签、分类的关系
■ wp_term_taxonomy: 分类和标签的描述
■ wp_usermeta:用户的元数据
■ wp_users: 用户数据

当然所有的这些表都非常重要,但是如果你要更改什么的话,基本上就会在wp_options(网站设置,比如url等),wp_posts(修改文章相关的内容),wp_users(修改密码等)这三个表里。

通过数据库来解决问题

一个最常见的问题就是WP升级的时候遇到的widgets问题,有时候仅仅输出一张空白的页面。虽然今天的WP已经很少有这种现象了,不过升级指导还是建议你首先停用所有的插件然后升级后在恢复他们。如果你这样做了,基本上就不会遇到空白页这种现象了。

然后,如果你还是遇到空白页这种问题,基本上很可能就是widget的问题了,一个可能的解决方案就是清楚数据库里的所有widgets,他们藏在wp_options表里。你要做的具体事情和你所用的具体插件相关,所以要十分小心。一般而言,这些数据都命名得和你用的插件有很强的逻辑关联性。所以应该很轻松可以找到他们。

另一个问题你会用数据库解决的常见问题是帮助一个用户更改或重置密码。当然,你并不能直接从数据库读取到用户的密码,因为这是经过加密的,但是你可以更改之。只需要记着一点:你的密码需要经过md5算法加密,这个过程可以通过phpMyAdmin或者Mysql工具来完成。事实上,你要做的就是以文本方式输入密码,然后选择MD5加密,最后你会得到一串看不懂的字符串,将这个字符串更新到你的数据库里即可更新密码。再说一次,如果你对这些感到很陌生或者无从下手,请不要轻易改动你的数据库。

最后,你可能会想要批量编辑你的文章,比如你更新了域名,并且想要更新以前数据库里所有图片的源地址,比如从olddomain.com/wp-content/ image.jpg 更改到 newdomain.com/wp-content/image.jpg。比如,有很多插件可以帮助做到这一点,所以我们应该先确认是否有插件可以帮助。如果你对数据库很熟悉,你可以运行一个sql查询得到所有的元素并批量替换为新的地址,看起来如下所示:

UPDATE wp_posts SET post_content = REPLACE ( post_content,
‘olddomain.com/wp-content/’, ‘newdomain.com/wp-content/’);

上面的查询会搜索wp_posts表里任何提到olddomain.com/wp-content/的条目并且替换为newdomain.com/wp-content/,这样就会解决所有图片链接更新的问题。简单而有效的sql可以很方便的帮助你批量编辑,但是请记住,这里没有撤销,做了就是做了,所以请确定你做甚至是想这些事情之前都要做一份最新的数据库备份。

[tab:备份数据库]

备份

任何一个在电脑硬盘里丢失过数据的家伙都知道备份的重要性,更不用说,备份本身也提供了你线上的内容。备份WP数据实际上只有两步,因为你的博客只包含了数据库(所有的数据内容)和静态文件(上传的图片和其他附件)。你的主题,你的插件、等等,你虽然也没有改变过他们,但是你并不想丢掉他们,毕竟如果丢掉意味着你要重新搜集一遍这些东西。事实上,因为WP后台自带的自动更新功能,备份这些东西显得更为重要。

只有一样东西如果丢掉你不用太担心的就是WP的核心文件,这些文件你总是可以重新下载到的,虽然如此,你最好还是复制一份wp-config.php到安全的地方。出于你数据库备份的需要,有几个事情是要做的。最显然的就是去用一个拥有网络界面的程序比如PhpMyAdmin,或者直接下载一份包含了数据的存档。PhpMyAdmin或者类似的管理界面并不是用户体验最好的管理数据库工具,不过我们中的大多数都不会遇到极为棘手的数据库问题。

在众多的WP插件世界里,有一款叫做“wp-db-backup”.我们将会在第十一章介绍这款插件,届时会让你设置各种各样的数据库备份规则,并在一定的时间内在服务器上备份一份,或者发送备份到你的邮箱或者其他方式备份。

以上是数据库内容的备份,下面讲述静态文件的备份。这非常简单:只要保持对wp-content文件夹的备份即可。这个文件夹包含了所有你上传的(图片视频和其他文章的附件文件)文件以及你的主题和插件。事实上,如果不算 wp-config.php,.htaccess 文件, 和可能需要修改的index.php 这些文件,wp-content文件夹就是你需要面对和处理的所有内容。只要你没有改过设置使得存储的文件在wp-content之外,那么备份wp-content将保存你所有的静态文件,主题,插件等等。

那么如何备份你的wp-content文件夹呢,很不幸,最简单的方法却依赖于你的记忆力。。并且备份当然是通过FTP程序下载下来。一些网络主机比如亚马逊的S3服务可以通过一些内建的脚本帮你自动备份到外面的地方,的确,这可能是一种最低成本的方法保证你的静态文件的安全,因此你应该真的去看看这个服务,不要再靠记忆力,想起来的时候才备份下载。事实上,这些内建的方案通常还可以管理你的数据库,所以你可以连同数据库一起备份了。毕竟,安全总比遗憾好。

换句话说,保证你可以有一份自己的备份方案用来替换。我希望你永远不会用到,但是一旦用到,你会很欣慰你从一开始就做好了准备。

[tab:END]

2 Replies to “1.1 WordPress安装之一二三”

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注