一、安装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服务器