wordpress七步曲

前言

wordpress作为最知名的博客开源程序,不仅方便安装配置,还提供了大量的主题和插件,能让我们快速地创建个性化的PHP博客站点。本篇将会讲述如何一步一步配置的配置wordpress站点,以及作为developer如何去管理wordpress站点和源码。中间涉及到一些svn自动提交、服务器的配置问题,我尽可能地写出了详细的解决方式并贴出了截图。鄙人也是初次管理自己的wordpress站点,如果您有什么好的心得体会和建议,敬请留言,欢迎交流。

本文已同步至我的站点:积累吧wordpress七步曲

本人创建并维护个人wordpress站点有以下几点原因:

1. 希望能有一个个人平台来梳理自己的知识,并分享给大家,当然也希望通过和大家的交流获取一些知识。技术文章中涉及到demo的部分我都尽可能地提供在线demo,目前主要提供asp.net和php的在线demo
2. 对PHP有一些兴趣,想通过wordpress来增进自己的PHP & Mysql水平
3. 对SEO有一些兴趣,想通过wordpress来尝试SEO的成果并积累一些经验
4. 作为一个个人展示平台,博客本身也是一种较好的营销方式
5. 提升自己的写作水平

本章大纲:

一、Wordpress下载
二、服务器配置
三、安装Wordpress
四、加入google分析
五、用SVN管理源代码
六、配置ASP.NET Demo站点和PHP Demo站点
七、用windows live writer发布博客到wordpress

本文能为你解决什么问题?

1. 客户端svn提交代码,服务端自动更新
2. apache服务器配置多站点
3. 一个ip下apache和iis共用80端口

一. Worpress下载

我使用的是最新的中文版wordpress 3.3.1, 在worpress中文站上提供了两种格式的下载:
1. zip格式下载
2. tar.gz格式下载

二. 服务器配置

由于服务器的系统是windows server 2003,而非*nix系列,所以我得用WAMP的配置方式。常见的WAMP套件有appserv(这个我一直在用)和xampp,它们用于搭建apache + mysql + php环境非常方便快捷。

appserv最新的版本是2.5.9和2.6.0,在安装wordpress之前我没有仔细阅读官方文档,结果导致用这两个版本的appserv来配置wordpress都不通过。主要原因在于PHP版本不对,appserv 2.5.9的PHP版本为5.2.3,appserv 2.6.0的PHP版本为6.0,而wordpress 3.3.1对PHP版本的要求恰恰在这两者之间。

服务器环境要求
  • PHP 5.2.4 或更新版本(不支持第三方推出的“PHP 6.0”)
  • MySQL 5.0 或更新版本
  • Apache mod_rewrite 模块(可选,用于支持“固定链接”和“站点网络”功能)

幸好最新的xampp的配置符合wordpress 3.3.1的环境要求。
apache friends上下载最新的适用于windows的xampp,下载页面也提供了详细的图文教程。安装完后检查一下\xampp\apache\conf\httpd.conf文件中的LoadModule rewrite_module modules/mod_rewrite.so,确认开头处没有#(注意:#是作为apache配置文件的注释符号)

注意:xampp的apache默认使用80端口,如果不想使用80作为apache的默认端口,请修改httpd.conf文件并在防火墙中添加相应的例外端口。如果发现更改了端口后,通过xampp启动apache出现80 port busy问题,请通过service.msc命令到服务管理中心启动apache服务,这或许是xampp控制中心的一个bug。

三. 安装wordpress

安装的步骤很简单,参考这个地址:wordpress安装,无论是拥有完全控制权限的服务器还是利用cpanel进行管理的空间,这儿都提供了及其详尽的步骤。

需要注意的是wp-config.php配置文件的修改,需要配置好自己的wordpress数据库、访问用户名密码、编码和语言。
安装完wordpress站点后,先去后台浏览一下基本菜单配置,wordpress的后台管理中心提供了主题选择和下载。我使用iNove作为站点的主题。

四. 加入google分析

上面的步骤已经把一个基本的wordpress站点配置完成了,作为独立的博客站点,我会常常关注和跟踪博客的访问情况,google analytics是一个很好的工具,而且wordpress后台也提供了配置google analytics的接口。

操作google analytics的步骤如下:

1. 如果还没有google analytics账户,请先去http://www.google.com/analytics/申请一个账户。
2. 点击右上角的管理图标,添加账户

image

3. 添加完账户后,到【所有账户->账户名称->跟踪代码】选项卡下,可以看到自己的跟踪ID,找到跟踪代码并复制。

image

4. 进入wordpress后台,到【外观->当前主题选项】【网站分析】一栏中复制刚才的代码,保存。

image

image

配置完成后,很快就能通过google分析查看自己的博客访问情况。

五. 用SVN管理wordpress源代码

虽然wordpress的后台【外观->主题->编辑】菜单中,提供了直接编辑wordpress主题的入口,但在这里更改主题源代码必须小心,作为developer有时候粗心是不可避免的,那我们最好使用源代码管理工具来管理wordpress的源代码。

这里我使用SVN作为Source Control,用Zend Studio作为IDE工具,因为Zend Studio支持svn的集成。

需要两个软件:

1. 在sourceforge上下载你喜欢的tortoisesvn版本:点击这里去下载
2. 下载visualsvn server作为svn服务器:visualsvn server 最新版

tortoisesvn在自己的机器和服务器各安装一个(安装完后最好重启),visualsvn server安装在服务器上。visualsvn server毕竟是图形化工具,不需要任何svn命令进行操作,使用方式及其简单。

安装完后再执行下面的步骤:

1.  如果你是在windows server服务器中安装了visualsvn server,并启用了防火墙,在安装完毕后请在【Control Panel –> Windows Firewall –> Exceptions】中添加端口支持,例如我的svn服务器的端口是8080,那就添加8080端口。

SNAGHTMLc779c4

2. 在visualsvn server中创建一个Repository,我将它命名为websites(你可以按照自己的喜好来命名),然后为这个Repository添加用户并分配Read-Write权限,记得把everyone用户的权限设置为No-Access或者直接删除everyone用户。然后通过tortoisesvn将wordpress代码签入到你的Repository中。

image

3. 签出源代码

(1) 服务器端

删除C:\websites目录(因为已经将源代码导入到svn),然后再通过tortoisesvn签出源代码,签出源代码的路径也放在C:\websites
做这一步的是为了让服务器的源代码盖上SVN的戳,因为原先的C:\websites代码是没有烙上SVN的大印的。

(2) 客户端

客户端直接通过tortoisesvn签出一份源代码就可以了。

4. 创建svn钩子脚本用于自动更新服务器下的代码

每次我们在客户端更改了代码并提交,然后远程到服务器上再更新一次才能看到我们修改的效果,这类操作太过于重复和麻烦,而且远程的速度是和网速挂钩的。庆幸的是svn提供了hook(钩子)脚本来帮助我们实现这一省力过程(只有省力才能给力:-D)。

创建钩子脚本有两种方式。

方式一:直接通过visualsvn server管理hook脚本,在Post-commit hook弹出窗中输入如下代码:

"C:\Program Files\VisualSVN Server\bin\svn.exe" update "C:\websites" 
--username YourUserName --password YourPassword  

YourUserNameYourPassword分别替换为你的svn的用户名和密码,"C:\Program Files\VisualSVN Server\bin\svn.exe" 是visualsvn的地址"C:\websites" 是要更新的目录

image

image

image

保存完钩子脚本后,在C:\Repositories\websites\hooks目录下会生成一个post-commit.cmd文件

方式二:到C:\Repositories\websites\hooks下面手动创建post-commit.cmd文件

4. 设置websites目录权限

好似所有的工作都已经准备好,在客户端更新一个文件,服务器端的C:\websitess会自动更新。OK,看看上面的步骤是否经得起下面的测试。

在自己的机器的wordpress目录下(这个目录是从tortoisesvn签出的)添加一个test.html,里面简单输入一些内容,然后add、commit,结果弹出下面的错误。

SNAGHTMLed22a1

简单分析一下错误,因为这才刚刚创建,不可能是locked原因,也许是权限不够。那么就把websites文件夹的readonly属性勾掉(虽然不一定起作用),然后在Security选项卡下设置Users的权限为Full Control。

image

然后再更改test.html,提交->成功!

SNAGHTMLf2125c

六. 配置ASP.NET Demo站点和PHP Demo站点

1. wordpress的站点已经基本配置好,由于我自己的一些原创博客里面会包含一些ASP.NET或PHP的Demo,我想提供一些在线的Demo,能让大家看到直接的效果,于是我在websites下建了两个文件夹csdemo和phpdemo,分别对应域名csdemo.jileiba.comphpdemo.jileiba.com,这三个站点是放在同一服务器下的。

image

2. Apache配置多站点

这里忘记说了一点,xampp默认的站点根目录是放在htdocs下的,而我的jileiba.com是放在websites目录下的,我这样做是为了方便统一管理.NET和PHP站点,现在要为phpdemo.jileiba.com配置虚拟目录。有几个地方需要更改的。

  • 更改httpd.conf,启用vhost模块(如果前面有#请去掉它,然后保存并重启apache服务

image

  • 修改extra文件夹中的httpd-vhost.conf文件,注意黄色的部分一定要启用,否则所有在apache中设置的域名仍然会指向同一目录

image

有些地方说直接修改httpd.conf文件,而我这里修改的是/extra/httpd-vhosts.conf文件,是因为在httpd.conf文件中包含了这样一行代码:

image

3.  添加asp.net站点

wordpress和phpdemo运行在apache环境下,csdemo当然要运行在IIS下,由于apache已经占用了80端口,而我只有一个ip。那么我就将csdemo的端口设置为81端口,以csdemo.jileiba.com:81进行访问(Note:防火墙中一定要将81端口添加为例外,否则外网不可访问

image

但是有点儿麻烦的是,每次访问csdemo都要在后面加个端口81,我想把这个后缀端口81去掉。


注意:
i.  IIS提供了FastCGI扩展【效率高、稳定、单线程】和ISAPI扩展【效率较高、多线程、但不稳定】能让PHP运行在IIS下,FastCGI是我曾经使用过的一种方式,运行php网站很稳定,但在这里我已经限定了apache作为php服务器,iis作为.net服务器。
ii.  如果服务器拥有两个ip,可以让apache和iis共存于80端口,不过iis要借助httpcfg工具添加侦听ip,这样才能让两个同时侦听80端口的服务启动时不会发生冲突

解决这个小问题,还是要借助apache服务器,apache服务器有一个代理模块,让它为iis代理,可以在访问csdemo站点时自动转到81端口。做法如下:

  • 开启4个模块(代理、代理连接、代理ftp、代理http)

image

  • 然后在httpd-vhosts.conf文件中添加一个虚拟主机
    注意:ProxyPass和ProxyPassReverse一定要设置成域名的方式,如果设置为ip方式例如http://127.0.0.1:81/,在访问csdemo站点时会出现Bad Request (Invalid Host)问题

image

七.  用windows live writer发布博客到wordpress

1.  wordpress后台激活XML-PRC

image

2. 在windows live writer中添加日志账户

只需要两步就可以完成了,而且也不需要指定xml-prc的地址

SNAGHTML37f4960

SNAGHTML35c0954

posted @ 2012-02-25 23:33  keepfool  阅读(2956)  评论(11编辑  收藏  举报