用Wordpressmu搭建自己的博客系统


WordPress 是目前最为流行的 PHP Blog 程序,目标是美学、Web 标准和易用性的统一。它基于 GPL 许可协议,完全免费。做为开源的blog版本,wordpress很快在网络上流行,并且有大量的爱好者,主题和插件的资源也相当丰富。

想用wordpress搭建一个Blog系统,跟我来吧。

 

目录

——————————————–

一:服务器环境配置

(1)       linuxapache+php+mysql

(2)       windows2003 apache+php+mysql

(3)       windows2003 IIS+php+mysql

二:wpmu安装

三:数据表介绍

四:插件和模板安装

五:更换服务器转移数据

六:常见问题  

(1)       文章页面打不开

(2)       域名泛解析

(3)       附件不能上传

(4)       安装后管理员密码收不到

——————————————–

一:服务器环境配置

1)推荐在linux环境下安装运行wpmuapache+php +mysql的详细配置见:

Php5.2.1+mysql5.0.27+apache2.2.4+tomcat5.5.9+ ZendOptimizer3.2.0

上面文档将服务器上phpjsp的换就都配置好了,可以参考其中的phpmysql的部分安装,另外安装了ZendOptimizer加速php运行。

2windowsapache+php+mysql

推荐使用APMServ(下载地址http://apmserv.s135.com)之类的软件,集成了Apache 2.2.3PHP 5.2.0MySQL 5.0.274.0.26SQLiteZendOptimizerOpenSSLphpMyAdminSQLiteManager
可以随时开启随时停止。

3)很多人说在windows下用apachephp程序用IISphp程序稳定,但我换了几台服务器都感觉在winIIS还是比Apache稳定些,至少在IIS使用的内存会比Apache跑起来用的少很多(多的时候能相差几百M)。

WIN2003 IIS6.0+ASP.NET+PHP+MYSQL+ZEND配置

 

二:Wpmu安装

Wpmu多用户版下载地址

http://mu.wordpress.org/download/

将下载回来的压缩包解压并上传到到网站目录

mysql里创建一个新的数据库(mudb
IE里输入你的wordpress文件放置的目录,

例如我的http://144.144.24.202/wordpress-mu-1.2.2/

打开后可以看到下面的提示安装页面

点击Submit送出信息,瞬间wpmu就安装完成。

 

 

 

三:wpmu数据表介绍

创建blog时候才从wp-admin/upgrade-schema.php文件中读取$wp_queries变量中存储的创建各种表的sql来在数据库中建立某个blog对应的各个表(如果要在表中添加属性列,修改upgrade-schema.php中的sql语句即可)

wp_x_categories中的x就是某个blogid,可以是1,2,3…&helli ;)

表一 每个blog所拥有的表及其作用

wp_x_categories

记录每个blog可以自己设置的文章的分类

wp_x_comments

记录blog每篇文章的所有评论的信息

wp_x_link2cat

记录blog的每个友情链接和该链接所属分类的对应关系,基本没用到

wp_x_links

记录blog的友情链接

wp_x_options

记录blog中的很多可修改参数的信息,比如blog名字,显示时间格式等等,有的插件在安装时候,也会把插件的参数信息加入到该表中

wp_x_post2cat

记录blog的每篇post和该post所属分类的对应关系,里面的category_id对应wp_x_categories中某个分类的cat_ID.

wp_x_postmeta

记录某篇post的附件的路径,大小等等的相关信息

wp_x_posts

记录blog的所有类型post的信息,也是blog最重要的一张表,表中的guid记录的是该posturl

wp_x_viewscounter

记录blog每篇postpageview

 

除了每个blog各个都拥有的表之外,还存在全局的表用来记录全局的相关信息(见表二)

 

wp_blog_versions

基本没有用到过。

wp_blogs

记录导师网的所有的blog的信息,每条record就对应一个blog,可以在该表中添加属性来标识该blogmentor blog,还是student blog,或者是group blog

wp_categories

记录全站文章分类的信息,在首页上面看到的全站文章分类就是从该表中读出的。

wp_post2cat

记录某个blog的某篇文章和某个全站文章分类的对应关系,如果在某个blog中发文时候,选择一个全站文章分类,就会向该表中插入一条记录,删除或者修改该文时候,也会相关的对该表中记录进行处理。

wp_post2topic

记录某个blog的某篇文章和某个全站热点主题(topic)的对应关系,如果在某个blog中发文时候,选择一个主题,就会向该表中插入一条记录,删除或者修改该文时候,也会相关的对该表中记录进行处理。

wp_signups

记录申请blog每个申请人概要信息的表,表里面有注册时候发送到申请人邮箱中的激活码,该表比较重要,因为系统会根据申请人填写的注册名将该申请人blog对应的domainpath记录到该表中,该申请人激活之后,其blogpath就会正式生效。

Wp_signups_detail

记录某个申请人个人详细信息的表,在注册的最后一部填写的个人信息就是存储到该表中的。

wp_site

记录每个站点的domainpath的表,因为这里我们只使用一个站点,所以该表没有用到。

wp_sitecategories

记录所有blog自己建立的文章分类的表,基本上没有用到。

Wp_sitemeta

记录全站管理的相关数据,比如站点adminemails,站点允许使用的themes,站点可以上传的文件的大小,站点blog的总数等等。

Wp_sitetopics

记录全站话题数据的表,里面有topic对应的文章数量和对应的评论数量以及标识topic是不是当前topic的属性等等

Wp_topic_comments

记录全站话题对应的评论的表

Wp_usermeta

记录某个user的相关信息的表,比如user的显示名称,primary_blog以及user的权限等级等等。

Wp_users

记录全站所有user的表,user相关的信息都在wp_userswp_usermeta这两张表中

 

 

 

 

四:wpmu插件和模板安装

 Wordpresswp-content/文件夹下有三个文件夹,一个是themes(风格),一个是plugins(单个用户选择启用的插件),一个是mu-plugins(全站插件)。网上wp的风格和插件资源都很多。

(1)       风格的安装

上传风格文件到themes文件夹下,

登录wp后台,两步操作:1是激活风格,2是选中风格。

blog管理选项中选择主题列表,选择要激活的主题激活。

然后在外观选项中的主题列表里选择要使用的主题。

(2)       插件的安装

上传插件文件到plugins文件夹下,

登录wp后台,可以看到插件选项下,有对应的插件信息的显示,选择后面的激活即可。

 

五:更换服务器转移数据

Wordpress博客文章数据都存储在mysql数据库中,数据库表如上第二部分内容介绍。

1:从后台备份,单个Blog备份可以从后台blog管理选项中选择导出,导出xml文件,这种形势的备份恢复时,以同样在这里选择导入,将blog内容还原。这样备份的内容

2:操作数据库备份,wp后台没有提供整个数据库备份的选项,如果要单个blog备份可以选择wp_N_tablesN对应blogID)来备份。

备份的时候可以用mysqlmysqldump导出数据。也可以直接复制mysql/data/文件夹下对应的数据库名字的文件夹,里面包括所有的数据表。

还原的时候对应用mysqldump导入,或者将数据库文件夹复制到mysql/data/(复制的时候先把mysql进程停止掉)

文件的还原:用户上传的文件存储在Wp-content/blogs.dir文件夹下对应用户ID的文件夹(123……),还原的时候直接将所有的文件上传到服务器上就可以了。

环境更换后Wp-config.php的修改,

define(’DB_NAME’, ‘dbname’);    //mysql数据库名

define(’DB_USER’, ‘username’);     //mysql数据库用户名

define(’DB_PASSWORD’, ‘password’); // 数据库密码

define(’DB_HOST’, ‘localhost’);    // 服务器名

define(’VHOST’, ‘VHOSTSETTING’);   

// 虚拟主机设置 ,单独的blog是否使用二级域名,使用二级域名就写yes 不是就写 no

$base = ‘BASE’;    //blog文件相对根目录所在的目录

 

如果是新手上面的内容不确定怎样修改,那就删除根目录下wp-config.php这个文件,这时打开默认首页看到提示wpmu没有安装,重新按照提示的安装的步骤,在对应的表格里填写好信息,点submit到下一步就可以了。此时会提示数据库表存在的错误,因为确实那些表已存在,wp安装程序不会动那些已经存在的表,但是已经帮你存好了wp-config.php

 

 

六.常见问题  

1.wordpress文章页面打不开

wordpress文章页面打不开有两种原因,一是目录不可写,二是没有启用rewrite

目录权限设置:

Apachehttpd.conf中找到网站目录对应的<Directory>

"AllowOverride None"

改为

"AllowOverride FileInfo Options"

因为如果设置为"AllowOverride None"

.htaccess中的rewrite指令对该文件夹就无效了

启用rewrite

apachemod_rewrite

apache httpd.conf 去掉下面一行前面的#

LoadModule rewrite_module   modules/mod_rewrite.so

重启apache生效。

IISISAPI_Rewrite

http://www.isapirewrite.com/这里下载一个工具

ISAPI_Rewrite Lite 这个版本是免费的

下载安装,在IIS中添加ISAPI扩展,选择刚刚安装的后文件夹目录中的ISAPI_Rewrite.dll

还是这个目录中,在httpd.ini中写入下面的规则,重启IIS,生效。
wordpressmu iis rewrite rules:

[ISAPI_Rewrite]
 
# WordPress rewrite rules
 
RewriteRule /archives/category/(.*)/(feed|rdf|rss|rss2|atom|rss2_comments)/?$ /wp-feed.php\?category_name=$1&feed=$2 [I,U,O]
RewriteRule /archives/category/?(.*) /index.php\?category_name=$1 [I,U,O]
RewriteRule /archives/author/(.*)/(feed|rdf|rss|rss2|atom|rss2_comments)/?$ /wp-feed.php\?author_name=$1&feed=$2 [I,U,O]
RewriteRule /archives/author/?(.*) /index.php\?author_name=$1 [I,U,O]
RewriteRule /archives/([0-9]{4})?/?([0-9]{1,2})?/?([0-9]{1,2})?/?([0-9]{1,2})?/?([0-9]{1,2})?/?([0-9]{1,2})?/?([0-9]+)?/?$ /index.php\?year=$1&monthnum=$2&day=$3&hour=$4&minute=$5&second=$6&page=$7 [I,U,O]
RewriteRule /archives/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([0-9]{1,2})/([0-9]{1,2})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom|rss2_comments)/?$ /wp-feed.php\?year=$1&monthnum=$2&day=$3&hour=$4&minute=$5&second=$6&feed=$7 [I,U,O]
RewriteRule /archives/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([0-9]{1,2})/([0-9]{1,2})/([0-9]{1,2})/trackback/?$ /wp-trackback.php\?year=$1&monthnum=$2&day=$3&hour=$4&minute=$5&second=$6 [I,U,O]
RewriteRule /feed/?([_0-9a-z-]+)?/?$ /wp-feed.php\?feed=$1 [I,U,O]
RewriteRule /comments/feed/?([_0-9a-z-]+)?/?$ /wp-feed.php\?feed=$1&withcomments=1 [I,U,O]
 
RewriteRule /articles/category/(.*)/(feed|rdf|rss|rss2|atom|rss2_comments)/?$ /wp-feed.php\?category_name=$1&feed=$2 [I,U,O]
RewriteRule /articles/category/?(.*) /index.php\?category_name=$1 [I,U,O]
RewriteRule /articles/author/(.*)/(feed|rdf|rss|rss2|atom|rss2_comments)/?$ /wp-feed.php\?author_name=$1&feed=$2 [I,U,O]
RewriteRule /articles/author/?(.*) /index.php\?author_name=$1 [I,U,O]
RewriteRule /articles/([0-9]{4})?/?([0-9]{1,2})?/?([0-9]{1,2})?/?([_0-9a-z-]+)?/?([0-9]+)?/?$ /index.php\?year=$1&monthnum=$2&day=$3&name=$4&page=$5 [I,U,O]
RewriteRule /articles/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([_0-9a-z-]+)/(feed|rdf|rss|rss2|atom|rss2_comments)/?$ /wp-feed.php\?year=$1&monthnum=$2&day=$3&name=$4&feed=$5 [I,U,O]
RewriteRule /articles/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([_0-9a-z-]+)/trackback/?$ /wp-trackback.php\?year=$1&monthnum=$2&day=$3&name=$4 [I,U,O]
 
#RewriteRule /articles2/category/(.*)/(feed|rdf|rss|rss2|atom|rss2_comments)/?$ /wp-feed.php\?category_name=$1&feed=$2 [I,U,O]
#RewriteRule /articles2/category/?(.*) /index.php\?category_name=$1 [I,U,O]
#RewriteRule /articles2/author/(.*)/(feed|rdf|rss|rss2|atom|rss2_comments)/?$ /wp-feed.php\?author_name=$1&feed=$2 [I,U,O]
#RewriteRule /articles2/author/?(.*) /index.php\?author_name=$1 [I,U,O]
#RewriteRule /articles2/([_0-9a-z-]+)?/?([0-9]+)?/?$ /index.php\?name=$1&page=$2 [I,U,O]
#RewriteRule /articles2/([_0-9a-z-]+)/(feed|rdf|rss|rss2|atom|rss2_comments)/?$ /wp-feed.php\?name=$1&feed=$2 [I,U,O]
#RewriteRule /articles2/([_0-9a-z-]+)/trackback/?$ /wp-trackback.php\?name=$1 [I,U,O]

2.wordpressmu域名泛解析

IIS设置泛解析:域名解析*.XXX.com到服务器IP,在IIS中添加空主机头即可。

Apache设置泛解析:

如果服务器上就一个站,就不用设置单独设置

如果服务器上有多个网站,就需要设置了,格式如下:

NameVirtualHost 144.144.24.201

<VirtualHost 144.144.24.201>

ServerAdmin admin@hotmail.com

DocumentRoot /var/www/html/mentor

ServerName mentor100.com

    ServerAlias *.mentor100.com

    ErrorLog /var/log/httpd/mentor100.com-error_log

    CustomLog /var/log/httpd/mentor100-access_log common

</VirtualHost>

 

3.wordpress附件不能上传:

Wp-content/blog.dir/目录不可以写

设置Wp-content/blog.dir/ 属性777

 

4.wordpress安装后管理员密码收不到:

新安装blog时,如果服务器邮件发送有问题,就收不到初始密码了。要想办法改一个先登录进去再说。

用户密码存放在wp_users. user_pass

在数据库中修改一个新密码

MD5(1234,32) = 81dc9bdb52d04dc20036dbd8313ed055

mysql中执行

UPDATE `wp_users` SET `user_pass` = ‘81dc9bdb52d04dc20036dbd8313ed055‘ WHERE `wp_users`.`ID` = 1 LIMIT 1;

 

 

 Viewers 64 IP-sum 42

Reader Comments

太好了

为什么我的wpmu1.2.3和你的不一样啊,少了好多表阿?把你的wpmu发份给我行吗?谢谢 chatterley.zheng@gmail.com

1234经MD5加密后已经不是‘52444c85d31d8a17744ea2d06e0c9ccd’了!
具体见 http://www.md5.org.cn/
不过还是谢了!

有错误了,更新一下MD5(1234,32) = 81dc9bdb52d04dc20036dbd8313ed055

感谢博主非常详尽的介绍,对于初学来说很重要,希望能提供邮件服务器方面的介绍,我的MU已经安装完成了,但是无法发送邮件,需要如何设置,能否具体实例说明,谢谢。

I hate people like that! They are all crazy! They think they are the coolest and smartest ever. But really they are dumb

Lately I have been trying to find any kind of information for my project, but unsuccessfully. Now it seems like I finally found a lot. This is the greatest site among all internet-sources.

I wonder why so many people like to comment stuff. Why is this kind of spending your free time so popular? Maybe people have a lack of communication in real world? Maybe that’s because they have a lot of problems in reality and want to run away from them? Maybe they need new impressions and experience? Or they just got suck here? I don’t have a clue. What do you all think?

I’m sure it’s not true! If it was, nothing lake that would have been posted! It sounds so weird! I doubt that anyone would ever believe it!

按照楼主的方法做了,为什么我的wordpress文章页面还是打不开,,提示为找不到该页,或者该页已删除。

“在IIS中添加ISAPI扩展,是不是在iis的网站扩展的项里新建一个呢。谢谢!麻烦告知

Write a Comment

Take a moment to comment and tell us what you think. Some basic HTML is allowed for formatting.

* 点击图片刷新验证码