一、安装openssl

1、openssl下载http://www.openssl.org

2、解压 

3、编译 ./config --prefix=/usr/local/ssl  -fpic no-gamellia

 

 

安装完成后,检查openssl现存版本和位置  #which openssl      #openssl version

如果安装位置和安装版本不一致,需要修改ld.so.conf文件  vi /etc/ld.so.conf 在文件最后边,加上/usr/local/ssl/lib  用ldconfig重启。若查询出的版本和安装版本一致,则安装成功。

 

 

 

二、安装apache

1、解压 tar zxvf httpd-2.2.24.....

2、#cd httpd-2.2.24  #mkdir  -p /usr/local/apache

3、编译文件 ./configure --prefix=/usr/local/apache --enable-ssl --enable-shared=max --enable-module=so --with-ssl=/usr/local/ssl

4、make 

5、make install

6、#cd /usr/local/apache  #vi /usr/local/apache/conf/httpd.cong

7、将#ServerName改为ServerName=localhost:80

8、Include conf/extra/httpd-ssl.conf 去掉注释,让apache加载本身ssl配置文件

9、设置自动启动  vi /etc/rc.local   在文件中添加/usr/local/apache/bin/apachectl start &

10、重启apache #/usr/local/apache/bin/apachectl -k start

 

*可能会出现的两个错误

1、编译apache时可能出现如下问题

 

这个是因为apache找不到ssl 的lib 文件造成的,需要修改ld.so.conf文件  vi /etc/ld.so.conf 在文件最后边,加上/usr/local/ssl/lib  用ldconfig重启。如果不修改,在重启Apache时可能会出现如下错误

error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file

 

2、httpd.conf文件中,没有加载#LoadModule ssl_module modules/mod_ssl.so

因为在对应目录找不到这个文件,加载后会导致错误。

 

三、生成证书

1、#cp /usr/local/ssl/openssl.cnf /usr/local/apache/conf将ssl中的openssl配置文件复制到Apache配置文件夹中。

2、#vi /usr/local/apache/conf/extra/httpd-ssl.conf   修改文件如下

ServerName localhost:443
ServerAdmin zhzy_wlg@126.com
SSLCertificateFile "/usr/local/apache/conf/server.crt"
SSLCertificateKeyFile "/usr/local/apache/conf/server.key"
SSLCACertificateFile "/usr/local/apache/conf/ca.crt"
SSLVerifyClient require
SSLVerifyDepth  1

 

3、#cd /usr/local/apache/bin进入bin目录,在这个目录中生成所有证书文件。过程如下所示

#set OPENSSL_CONF=..\conf\openssl.cnf
#openssl genrsa -out server.key 1024
#openssl req -new -out server.csr -key server.key -config ..\conf\openssl.cnf
#openssl genrsa -out ca.key 1024
#openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config..\conf\openssl.cnf
#mkdir ./demoCA
#cd demoCA
#mkdir newcerts
#touch index.txt
#touch serial
#vi serial    在serial文件中添加01
#cd /usr/local/apache/bin
#openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf
#cp ./server.key ../conf
#cp ./server.crt ../conf
#cp ./ca.crt ../conf
#/usr/local/apache/bin/apachectl -k stop
#/usr/local/apache/bin/apachectl start
#penssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.pfx

 

四、安装mysql

 

安装之前搜索系统中是否存在mysql  rpm -qa | grep mysql

 

将上述三项删除

rm -rf mysql-5.0.71-1.e16.x86_64
rm -rf server-5.0.71-1.e16.x86_64
rm -rf libs-5.0.71-1.e16.x86_64

*如果删除过程中提示有依赖关系,用如下命令删除

rpm -e --nodeps XXXXX

删除后执行如下安装命令

rpm -Uvh MySQL-server-community-5.1.69-1.rhel5.x86_64.rpm
rpm -Uvh MySQL-client-community-5.1.69-1.rhel5.x86_64.rpm
rpm -Uvh MySQL-devel-community-5.1.69-1.rhel5.x86_64.rpm
rpm -Uvh MySQL-shared-community-5.1.69-1.rhel5.x86_64.rpm

安装完成后修改root用户密码

/usr/bin/mysqladmin -u root password  xxxxxxx
mysql配置文件复制到ETC目录下,
cp /usr/share/mysql/my-huge.cnf  /etc/my.cnf
vi /etc/my.cnf
找到客户端配置[client] 在下面添加
default-character-set=gbk 默认字符集为gbk
在找到[mysqld] 添加
default-character-set= gbk默认字符集为gbk
init_connect=’SET NAMES gbk’ (设定连接mysql数据库时使用gbk编码,以让mysql数据库为gbk运行)
max_connections = 1000
修改好后,重新启动mysql 即可.
service mysql stop
service mysql start

 

五、安装库文件

1、安装curl-7.15.0

#tar zxvf curl-7.15.0.tar.gz
#cd curl-7.15.0
#./configure --prefix=/usr/local/curl
#make
#make install
2、安装libtool
#tar zxvf libtool-2.4.tar.gz
#cd libtool-2.4
#./configure
#make
#make install
3、安装JPEG
#tar zxvf  jpegsrc.v6b.tar.gz
#cd jpeg-6b
#mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
	#cp /usr/local/share/libtool/config/config.sub  .
#cp /usr/local/share/libtool/config/config.guess  .
y
#./configure --prefix=/usr/local/jpeg  --enable-shared  --enable-static
#make
#make install-lib
4、安装libxml2
#tar zxvf libxml2-2.6.31.tar.gz
        #cd libxml2-2.6.31
        #./configure --prefix=/usr/local/libxml2
可以尝试打开zlib开关,--with-zlib)
        #make
        #make install
        #cp xml2-config  /usr/bin
5、安装T1lib
        #tar zxvf t1lib-5.1.2.tar.gz
        #cd t1lib-5.1.2
        #./configure --prefix=/usr/local/t1lib
        #make without_doc
        #make install
6、安装Freetype
#tar zxvf freetype-2.3.5.tar.gz
#cd freetype-2.3.5
#./configure --prefix=/usr/local/freetype
cd builds/unix
./configure -prefix=/usr/local/modules/freetype
cd ../..
make
mkdir /usr/local/modules/freetype/include/freetype2/freetype/internal
make install
7、 安装Zlib
#tar zxvf zlib-1.2.3.tar.gz
#cd zlib/1.2.3
#./configure --shared
#make
#make install
8、 安装Libpng
#tar zxvf libpng-1.2.43.tar.gz
        #cd libpng-1.2.43
        #cp scripts/makefile.linux ./makefile
        #./configure --prefix=/usr/local/libpng
        #make
        #make install
9、 安装gettext 
#tar zxvf gettext-0.16.tar.gz
        #cd gettext-0.16
时间稍长)
时间稍长)
#make install
10、安装gdlib
#tar zxvf gd-2.0.35.tar.gz
        #cd gd/2.0.35
        #./configure --with-png=/usr/local/lib \
        --with-zlib=/usr/local/lib \
        --with-freetype=/usr/local/freetype/lib \
        --with-jpeg=/usr/local/jpeg/lib
        #make
        #make install
六、安装php
1、移动mysql存放位置
#mkdir  /usr/lib/mysql/
   		#cp /usr/lib64/mysql/*   /usr/lib/mysql/
2、安装php
#tar jxvf php-5.2.13.tar.bz2
        #cd php-5.2.13
        #./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs \
        --enable-track-vars --with-sockets --enable-sockets --with-sysvshm --with-sysvsem \
        --with-pdflib-dir=/usr/local/lib --with-jpeg-dir=/usr/local/jpeg \
        --with-png-dir=/usr/local/lib --with-zlib-dir=/usr/local/lib \
        --with-freetype-dir=/usr/local/modules/freetype --with-curl=/usr/local/curl \
        --with-libxml-dir=/usr/local/libxml2/lib --with-t1lib=/usr/local/t1lib \
        --with-gettext=/usr/local/gettext/lib --with-gd --with-mysql=/usr/lib64/mysql \
		--with-mbstring --with-mycypt
configure后如果成功会提示PHP欢迎界面: Thank you for using PHP.
        #make
        #make test
大约3000多项测试吧)
        # make install
*注意:如果这里出现了如下错误
chmod 755 /usr/local/apache/modules/libphp5.so
	chmod: cannot access `/usr/local/apache/modules/libphp5.so': No such file or directory
	apxs:Error: Command failed with rc=65536

由于libtool版本不一致造成的。请这样办理:

1》、把apache 目录build下面的libtool文件拷贝到了php编译安装的目录(解压目录)下,

2》、make clean

3》、 make  

4》、make install(不用make test)。

如果上述方案无法解决出现的问题,将php解压后的目录删除,重新解压

#rm -rf  /home/www/soft/php-5.2.13
#rm -rf  /usr/local/php
#tar jxvf php-5.2.13.tar.bz2

然后按照上述编译方式重新编译一下,

#make 

#make install

3、配置php

#cp php.ini-dist  /usr/local/php/lib/
将编译目录中的dist文件复制到php/lib目录下
vi /usr/local/php/lib/php.ini-dist
查找修改extension_dir='./'的内容
        extension_dir = /usr/local/lib/
        extension=libpdf_php.so
        date.timezone=Asia/Shanghai

保存退出,将配置文件名称进行修改

mv php.ini-dist php.ini

4、配置其它文件

最后修改apache配置文件httpd.conf
        #vi /usr/local/apache/conf/httpd.conf
AddType 大约在DefaultType text/plain
        <IfModule mime_module>

        输入如下内容

 

AddType application/x-httpd-php .htm
        AddType application/x-httpd-php .html
        AddType application/x-httpd-php .php

不清楚是不是必须输入这么多项)

 

查找 DocumentRoot "/usr/local/apache/htdocs"

修改为       DocumentRoot "/home/www"

 

查找 <Directory "/usr/local/apache/htdocs">

修改为 <Directory "/ home/www ">

 

查找DirectoryIndex index.html 在其后输入 index.php index.htm

 

将“#Include conf/extra/httpd-mpm.conf”前面的 # 去掉。

保存文件,退出。

 

再修改extra/httpd-mpm.conf文件

 

        # vi httpd-mpm.conf

<IfModule mpm_prefork_module> 这一行

          原:

<IfModule mpm_prefork_module>
              StartServers         5
              MinSpareServers      5
              MaxSpareServers      10
              MaxClients           150
              MaxRequestsPerChild  0
           </IfModule>

 

        修改后

    

<IfModule mpm_prefork_module>
              StartServers         5
              MinSpareServers      5
              MaxSpareServers      10
              ServerLimit          1500
              MaxClients           1000
              MaxRequestsPerChild  0

 

保存文件,退出。

 

测试php,创建info.php文件放到网站的目录下 /home/www

并修改该目录的权限 chmod 755 /home/www

内容如下

<?PHP

echo phpinfo();

?>

 

 

重新启动apache服务,从本机或其它机器测试

#/usr/local/apache/bin/apachectl -k stop
#/usr/local/apache/bin/apachectl -k start

 

输入http;//ip地址/info.php

如果你可以看到php配置信息的输出,那php的基本安装可以了。

5、php mbstring 和 mrcytpe 扩展

1》mbstring扩展

#cd /home/www/soft/php-5.2.13/ext/mbstring
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config --enable-mbstring
#make
#make install

安装完成后,会生成一个mbstring.so 文件,将这个文件拷贝到extension_dir指定的目录下,然后修改php.ini文件,添加extension=mbstring.so并将#extension=php_mbstring.dll开启。

重启Apache完成安装。安装成功后,在/home/www/info.php中输入echo  phpinfo(),查看phpinfo即可看到是否开启。

2》mycypt扩展

#cd /home/www/soft/php-5.2.13/ext/mycypt
#/usr/local/php/bin/phpize
#./configure --with-php-config=/usr/local/php/bin/php-config --enable-mycypt
#make
#make install

安装完成后,会生成一个mycypt.so 文件,将这个文件拷贝到extension_dir指定的目录下,然后修改php.ini文件,添加extension=mycypt.so。

重启Apache,按照上述方式查看是否成功开启。

3》openssl扩展

#cd /home/www/soft/php-5.2.13/ext/openssl
#mv config0.m4 config.m4
#/usr/local/php/bin/phpize
执行后有如下提示,说明可以生成so文件
 
#./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
#make
#make install
成功的话就会在/usr/local/lib/下生成openssl.so
#vi /usr/local/php/lib/php.ini
在文件最后增加extension=openssl.so

重启,查看‘

 

 

 

 

 

 

七、安装ZendOptimizer

tar zxvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
mv ZendOptimizer-3.3.9-linux-glibc23-x86_64 /usr/local/Zend 
cp /usr/local/Zend/data/5_2_x_comp/ZendOptimizer.so /usr/local/Zend
vi /usr/local/php/lib/php.ini
 
//把下列行加入php.ini的最后就行了
zend_optimizer.optimization_level=15
zend_extension=/usr/local/Zend/ZendOptimizer.so
 
/usr/local/apache/bin/apachectl stop
/usr/local/apache/bin/apachectl start   //重启apache

 

然后打开一个phpinfo页面,看是否有zend optimizer的相关信息就可以了。

大概会有这样的文字

This program makes use of the Zend Scripting Language Engine: 

Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

还有zend 的图标,很好判断的。

八、两个字体文件的拷贝

分析时需要用到 两个字体文件,拷贝到相应目录中

mkdir  /usr/share/fonts/truetype
cp simhei.ttf /usr/share/fonts/truetype
cp simsun.ttc /usr/share/fonts/truetype

 

九、使用cronolog日志分割

1、下载http://cronolog.org/download/cronolog-1.6.2.tar.gz

2、解压编译安装

# tar xvfz cronolog-1.6.2.tar.gz
# cd cronolog-1.6.2
	# ./configure
	# make
	# make check


# make install

3、检测安装

#which cronolog

安装目录默认为/usr/local/sbin

4、配置apache文件

1》、设置日志格式定义

把httpd.conf中的以下语句:

LogFormat "%h %l %u %t \"%>s %b \"%{Referer}I\" \%{User-Agent}I\" " combine

 

改为:

LogFormat "%h %l %u %t \"%>s %b \"%{Referer}I\" \%{User-Agent}I\""

 

2》、修改错误日志

ErrorLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/error_%Y%m%d_log" 

 

3》、设置TransferLog命令 

将CustomLog /usr/local/apache/logs/access_log common

或是

CustomLog /usr/local/apache/logs/access_log combine

改为

TransferLog "|/usr/local/sbin/cronolog  /usr/local/apache/logs/access_%Y%m%d_log"

重启Apache。如果重启服务器出现错误,检查书写是否正确,如果无误,重新

解压编译安装一般就可以解决

4》、设置虚拟目录发布日志

打开Apache配置文件httpd.conf,在其中(如果是虚拟主机发布,那

么需要在虚拟配置范畴内)添加以下代码:

Alias /wwwlogs/ "/usr/local/apache/logs/"
<Directory "/usr/local/apache/logs/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from xxx.xxx.xxx.xxx
</Directory>

 

/usr/local/apache/logs/目录下面的所有日志通过/wwwlogs/ 这

个虚拟目录发布处理。同时这个虚拟目录禁止除了xxx.xxx.xxx.xxx

(网站群流量分析服务器)以外的所有IP地址访问。

 

完成后重新启动Apache服务器