1.首先编译安装apache,这里是下载的最新版apache 2.2.22版本
[root@b2b soft]#tar zxvf httpd-2.2.22.tar.gz
[root@b2b soft]#cd http-2.2.17
[root@b2b http-2.2.22]#./configure --prefix=/home/apache2.2.22 --enable-so --enable-rewrite --enable-ssl --enable-mods-shared=all
2.测试apache是否安装成功
[root@b2b soft]#/home/apache2.2.22/bin/apachectl start
//启动httpd [root@b2b soft]#ps -ef|grep http //查看http进程是否启动
在客户端地址栏输入http://192.168.10.210
出来 It works!apache编译成功!
3.安装libmcrypt包libmcrypt-2.5.8.tar.gz
[root@b2b soft]#tar zxvf libmcrypt-2.5.8.tar.gz
[root@b2b soft]#cd libmcrypt-2.5.8
[root@b2b libmcrypt-2.5.8]#./configure
[root@b2b libmcrypt-2.5.8]#make
[root@b2b libmcrypt-2.5.8]#make install
[root@b2b libmcrypt-2.5.8]#cd libltdl
[root@b2b libldtl]#./configure --enable-ltdl-install
[root@b2b libldtl]#make
[root@b2b libldtl]#make install
4.安装mhash包mhash-0.9.9.9.tar.gz
[root@b2b soft]#tar zxvf mhash-0.9.9.9.tar.gz
[root@b2b soft]#cd mhash-0.9.9.9
[root@b2b mhash-0.9.9.9]./configure
[root@b2b mhash-0.9.9.9]make
[root@b2b mhash-0.9.9.9]make install
5.安装mcrypt包mcrypt-2.6.8.tar.gz(必须要在前两个包安装后才能安装)
[root@b2b soft]#tar zxvf mcrypt-2.6.8.tar.gz
[root@b2b soft]#cd mcrypt-2.6.8
[root@b2b mcrypt-2.6.8]#LD_LIBRARY_PATH=/usr/local/lib ./configure
[root@b2b mcrypt-2.6.8]#make
[root@b2b mcrypt-2.6.8]#make install
6.开始安装scws插件 scws-1.1.5.tar.bz2
[root@b2b usr]#tar xjvf scws-1.1.5.tar.bz2
[root@b2b usr]#cd scws-1.1.5
[root@b2b scws-1.1.5]# ./configure --prefix=/usr/local/scws
[root@b2b scws-1.1.5]# make
[root@b2b scws-1.1.5]# make install
[root@b2b scws-1.1.5]# ls -al /usr/local/scws/lib/libscws.la //看看有没有这个文件,如果有就说明安装成功了。
7.安装mysql和scws插件
mysql-5.1.55.tar.gz
myft-5.1.30-090611.tgz
[root@b2b usr]#groupadd mysql
[root@b2b usr]#useradd -g mysql -s /bin/false -d /dev/null mysql
[root@b2b usr]#./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charsets=all --datadir=/datafile/data
[root@b2b usr]#tar zxvf mysql-5.1.55.tar.gz
[root@b2b usr]#cp myft-5.1.30-090611.tgz mysql-5.1.55/ //将该插件安装包复制到mysql的源码目录下
[root@b2b usr]#cd mysql-5.1.55
[root@b2b mysql-5.1.55]#tar xvzf myft-5.1.30-090611.tgz //解开后有一个plugin/scws目录,当前目录(mysql的源码目录)还有一个 myft_scws_udf_5.1.30.patch 补丁文件及本文件 README.myft-hightman
8.对mysql源码打补丁,以支持自定义函数中获取正确的字符集
[root@b2b mysql-5.1.55]#patch -p0 < myft_scws_udf_5.1.30.patch //执行即可
打完补丁后需要重新编译并安装一下 mysql,可以不需用重新 ./configure
[root@b2b mysql-5.1.55]#make
[root@b2b mysql-5.1.55]#make install 即可
9.开始编译 scws 插件,进入到 mysql 源码目录里的 plugin/scws 目录
[root@b2b mysql-5.1.55]#cd plugin/scws
[root@b2b scws]#./configure --prefix=/usr/local/mysql5.1.55 --with-scws=/usr/local/scws
[root@b2b scws]#make
[root@b2b scws]#make install
在make过程中出现一个错误,错误代码如下:
./libtool: line 463: CDPATH: command not found
./libtool: line 1141: func_opt_split: command not found
libtool: Version mismatch error. This is libtool 2.2.6, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6
libtool: and run autoconf again.
make: *** [libftscws_la-plugin_scws.lo] Error 63<br />
直接将系统/usr/bin下的libtool替换掉scws插件下的libtool文件,make就没出错了
如果没有错误,至此已经安装完成了。
10.然后开始修改my.cnf 在 [mysqld] 字段里加入 ft_min_word_len = 2 //因为默认是4,根据自己的搜索需要设置长度
11.开始安装php包php-5.3.5.tar.bz2
前提是系统内安装了一些必要的包,比如说libpng、libjpeg、libxml、libmcrypt等等
[root@b2b usr]#tar xjvf php-5.3.5.tar.bz2
[root@b2b usr]#cd php-5.3.5
[root@b2b php5.3.5]#./configure --prefix=/home/php5.3.5 --with-apxs2=/home/apache2.2.17/bin/apxs --disable-debug --enable-safe-mode --with-openssl --with-zlib=shared --with-bz2=shared --with-curl --with-jpeg-dir --with-png-dir --with-gd=shared --with-mcrypt=shared --with-mhash=shared --enable-mbstring=shared --with-mysql=shared,/usr/local/mysql5.1.55 --enable-sockets --with-config-file-path=/home/php5.3.5/conf --disable-posix --with-iconv=shared --enable-json=shared --with-libxml-dir=shared --disable-ipv6
[root@b2b php5.3.5]#make
[root@b2b php5.3.5]#make install
[root@b2b php5.3.5]#vi /home/apache2.2.17/conf/httpd.conf //查看该文件的loadmodule是否多了php5的模块,有说明编译成功,然后在addtype栏添加两行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
在DirectoryIndex index.html index.html后添加index.php 保存退出
在/home/apache2.2.17/htdoc目录下新建info.php文件
phpinfo();
>
[root@b2b php5.3.5]#/home/apache2.2.17/bin/apachectl start//在客户端打开地址后加info.php
[root@b2b php5.3.5]#cp php.ini.production /home/php5/conf/php.ini
12.安装scws的php扩展
[root@b2b php5.3.5]#cd ../scws-1.1.5
[root@b2b scws-1.1.5]#cd phpext
[root@b2b phpext]# /usr/local/php/bin/phpize
#Configuring for:
#PHP Api Version: 20090626
#Zend Module Api No: 20090626
#Zend Extension Api No: 220090626
[root@b2b phpext]# ./configure --with-scws=/usr/local/scws --with-php-config=/home/php5/bin/php-config
[root@b2b phpext]# make
[root@b2b phpext]# make install
[root@localhost phpext]# vi /home/php5/conf/php.ini
找到extension_dir = "."
修改成extension_dir = ""
在文件的最后面加上
[scws]
extension = scws.so
extension_dir = /home/php5/lib/extensions/no-debug-non-zts-20090626/
scws.default.charset = utf8
scws.default.fpath = /usr/local/scws/etc
13.重新启动apache后,打开info.php文件查看是否有了scws扩展