环境配置
可以使用apt-get快速安装mysql,php5;我是用源码手动安装apache服务器的。安装完mysql后,最好将字符编码设置为utf8的。
接下来就是mysql,apache,php5三者之间的关联。由于mysql,php5都是图省事用apt-get安装的,而网上几乎所有的帖子都是说基于源码如何关联的,所以在关联的时候花了很多时间。
首先是apache与php的关联,最关键的是获取libphp5.so,然后在apache的配置文件中添加“LoadModule php5_module modules/libphp5.so”关联就行,最后再添加两行:
AddType application/x-httpd-php .php .phtml .html
AddType application/x-httpd-php-source .phps比较难弄的是php与mysql的关联。要关联的最重要的一个步骤是获取mysql.so,网上几乎全是说基于源码如何生成mysql.so。后来我无意中发现apt-get可以安装php5-mysql,于是试了一下,发现安装之后,有了mysql.so文件,添加到php的配置文件中,搞定。(可以用find / -name mysql.so命令查找)
如此,三个软件之间的关联就处理好了。
把WordPress源码放到apache中,修改Apache所有文件的权限,然后按照WordPress的指示一步步完成就行了。接下来,我修改了WordPress的设置–>固定链接,发现之前发布的博客访问不了了,后来在网上找了资料,解决了这个问题。
这个问题是由于重定向的配置问题,第一个关键是开启apache的rewrite_module模块:
1.首先是生成rewrite_module.so:在apache的源码中进入modules/mappers目录,因为该目录下有模块的源码如mod_rewrite.c,然后运行下列命令/usr/local/apache2/bin/apxs -c mod_rewrite.c
/usr/local/apache2/bin/apxs -i -a -n mod_rewrite mod_rewrite.la没报错的话就会生成rewrite_module.so文件了。
2.在apache配置文件中添加“LoadModule rewrite_module modules/mod_rewrite.so”一行
第二个关键是开启AllowOverride权限:在<Directory “/usr/local/apache2/htdocs”>标签里,将“AllowOverride None”改为“AllowOverride All”,重启apache即可。
一般情况下,不用处理.htaccess的内容,但要把他的权限设置一下。
遇到“preg_replace(): Compilation failed: this version of PCRE is not compiled with PCRE_UTF8 support”的错误,导致各种问题,如图片上传失败等等。网上查了很多资料也没有相应的解决办法。
用phpinfo查看pcre版本:
PCRE Library Version | 5.0 13-Sep-2004 |
太旧了,估计是这个原因。后来看别人的评论,决定重装pcre,可能会遇到gcc编译的问题,参考http://blog.csdn.net /sky_qing/article/details/9707493 ,再重启apache服务器,用phpinfo查看pcre版本,还是旧版本,决定重装apache。
在apache源码中用 ./configure –with-pcre=/usr/local/pcre ap_cv_void_ptr_lt_long=no & make & make install,安装成功,加载php模块,用phpinfo查看pcre版本,终于是新版的了,重复一遍上面的配置,再上传图片,成功了!看来就是由于 apache默认的pcre库太久导致的。