CentOS6
Apache配置详解(下)
#################################################################
建立ssl(https)网站
#################################################################
相关的目录及配置:
/etc/httpd/conf.d/ssl.conf
/etc/pki/tls/certs/localhost.crt
/etc/pki/tls/private/localhost.key
/etc/pki/tls/certs/server-chain.crt
/etc/pki/tls/certs/ca-bundle.crt
################################################################
默认系统已经生成了Private Key和凭证文件 如果用源码安装,可能就需要手动生成
cd /etc/pki/tls/private/
openssl [操作] -out filename [bits]
操作:
#详细用法请man openssl
openssl genrsa -out server.key 1024
2.建立凭证文件
cd /etc/pki/tls/certs
openssl req -new -x509 -key ../private/server.key -out
server.crt
3.修改apache的额外配置文件ssl.conf
vi /etc/httpd/conf.d/ssl.conf
/etc/pki/tls/certs/server.crt
/etc/pki/tls/private/server.key
如果想将http与https的网页分开,可以
默认是所有监听的网页两种协议都可,
vi /etc/httpd/conf.d/ssl.conf
DocumentRoot "/var/www/test1"
ServerName
测试php网业
################################################################
vi /etc/httpd/conf.d/php.conf
AddType application/x-httpd-php .php .php3
vi /var/www/html/index.php
< ?php
phpinfo();
?>
################################################################
配置CGI
################################################################
1.定义别名,并设置权限
ScriptAlias
/cgi-bin/ "/var/www/cgi-bin/"
< Directory "/var/www/cgi-bin">
< /Directory>
AddHandler cgi-script .cgi
.pl
3.编写测试cgi文件
vi /var/www/cgi-bin/test.cgi
#!/usr/bin/perl
print "content-type: text/html
";
print "This is a CGI test!
";
增加可执行权限
chmod a+x /var/www/cgi-bin/test.cgi
4.开始测试(依照自己的主机而定)
lynx www.jlive.com/cgi-bin/test.cgi
#################################################################
日志管理
#################################################################
rsyslog与logrotate{:soso_e178:}
CustomLog
combined
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i"
"%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %b" common
%a
%A
%b
%f
%h
%l
%m
%r
%s
%t
%u
%U
%{variable}
rotatelogs是apache提供的日志轮换的实用工具
vi /etc/httpd/conf/httpd.conf
CustomLog
CustomLog
172800表示单位秒,即两天
#################################################################
系统自带
vi /etc/logrotate.d/httpd
/var/log/httpd/*log {
}
#################################################################
php强化模块 eaccelerator
#################################################################
官方网站:
eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍。
安装前请先安装php-devel包
解压到某个目录,一般选/usr/local/src,运行以下脚本即可完成安装,当然也可以阅读里面的README,如:配置时可以直接复制eaccelerator.ini到/etc/php.d/
###############################################
#!/bin/bash
###############################################
export PHP_PREFIX="/usr"
$PHP_PREFIX/bin/phpize
./configure
--enable-eaccelerator=shared
--with-php-config=$PHP_PREFIX/bin/php-config
make
make install
###############################################
#加载php这个模块
echo /usr/lib64/php/modules >>/etc/ld.so.conf
ldconfig
#修改php.ini
echo "extension="eaccelerator.so"">>/etc/php.ini
echo "eaccelerator.shm_size="16"">>/etc/php.ini
echo
"eaccelerator.cache_dir="/tmp/eaccelerator"">>/etc/php.ini
echo "eaccelerator.enable="1"">>/etc/php.ini
echo "eaccelerator.optimizer="1"">>/etc/php.ini
echo "eaccelerator.check_mtime="1"">>/etc/php.ini
echo "eaccelerator.debug="0"">>/etc/php.ini
echo "eaccelerator.filter=""">>/etc/php.ini
echo "eaccelerator.shm_max="0"">>/etc/php.ini
echo "eaccelerator.shm_ttl="0"">>/etc/php.ini
echo "eaccelerator.shm_prune_period="0"">>/etc/php.ini
echo "eaccelerator.shm_only="0"">>/etc/php.ini
echo "eaccelerator.compress="1"">>/etc/php.ini
echo "eaccelerator.compress_level="9"">>/etc/php.ini
#建立eaccelerator的暂存数据
if [ ! -e /tmp/eaccelerator ];then
mkdir -m 0777 /tmp/eaccelerator
fi
安装完成重启httpd服务即可,测试时仍可用phpinfo()函数
################################################################
分析软件webalizer,设置简单适合新手,centos的dvd镜像中有该软件
################################################################
apache为我们提供了一个小程序,用来测试网站的效率ab,可以运行以下命令
ab -dkS -c100 -n100 http:///[index.php]
当然,更为简单的测试可以这样,ab http:///[index.php]
更具体的用法请自行man ab
###############
webalizer
###############
可以将usage目录转换到一个受保护的目录,前提是受保护目录的.htaccess己配置完成
vi /etc/webalizer.conf
OutputDir
cp -a /var/www/usage/* /var/www/protect/webalizer
修改额外配置/etc/httpd/conf.d/webalizer.conf,或者可以直接删除
vi /etc/httpd/conf.d/webalizer.conf
Alias /webalizer /var/www/protect/webalizer
< Location /webalizer>
< /Location>
开始分析
webalizer
lynx
################################################################
更为强大的分析软件awstats
官方网站:http://awstats.sourceforge.net,官网提供rpm包和源码包
################################################################
这里我选用源码包
1.下载
wget
2.解压
tar -zxvf awstats-7.4.tar.gz -C /usr/local/src
3.配置
通过/usr/local/awstats/tools/awstats_configure.pl这个perl脚本来自动帮我们配置
a.重命名
首先我们把目录重命名一下,因为后续的配置会用得到并给予可执行权限
b.运行perl脚本
注意:一定要用相对路径
![CentOS6 <wbr>Apache配置详解(下) CentOS6 <wbr>Apache配置详解(下)](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
指定apache的全局配置文件
![CentOS6 <wbr>Apache配置详解(下) CentOS6 <wbr>Apache配置详解(下)](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
创建新配置请按"y",并定义一个web虚拟主机配置文件名(域名或域名的一部分)及awstats自身配置文件(默认)
配置文件生成后会自动重启标准的apache(CentOS)
![CentOS6 <wbr>Apache配置详解(下) CentOS6 <wbr>Apache配置详解(下)](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
最后几个回车就配置完成
后期更新可以用以上标红的命令
配完后我们发现,web服务器的默认配置文件/etc/httpd/conf/httpd.conf末尾增加了上面一段
apache-2.2的配置文件本来就十分的冗长,个人喜欢将一些增强功能或插件单独分开放在/etc/httpd/conf.d下面,我直接将这一段另存到/etc/httpd/conf.d/awstats.conf中,再把这几行删掉
c.修改awstats的配置文件(/etc/awstats/awstats.livecloud.pub.conf)以适配网站
注意:日志文件一定要指正确
d.修改apache子配置文件/etc/httpd/conf.d/awstats.conf
最后重启Web服务并通过crontab自动更新网站的访问统计数据。
说明:为了安全起见,可以简单的对统计报表设立一个访问权限,如:
#
# Directives to allow use of AWStats as a CGI
#
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats "/usr/local/awstats/wwwroot/cgi-bin/"
Alias /status
#
# This is to permit URL access to scripts/files in AWStats
directory.
#
< Directory "/usr/local/awstats/wwwroot">
< /Directory>
< Directory "/var/www/awstats/">
< /Directory>
在要保护的目录创建.htaccess文件
mkdir -p /var/www/awstats
cat >/var/www/awstats/.htaccess <<HERE
AuthName "Protect awstats data"
Authtype Basic
AuthUserFile /var/www/awstats/.htpasswd
require valid-user
HERE
创建认证用户
开始测试
perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl
-config=livecloud.pub -update -output
>/var/www/awstats/index.html
#config后面接的是awstats.livecloud.pub.conf的意思,运行后可生成index.html文件
编写一个简单的脚本来实时更新所生成的index.html文件,来更好地监控自己的网站
vim /root/awstats.sh
#########################################################
#!/bin/bash
#########################################################
perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl
-config=livecloud.pub -update -output
>/var/www/awstats/index.html
结合上面的status目录,通过浏览器http://localhost/status
输入认证用户和密码即可查看网站运行的详细情况,默认只允许通过本地回还访问
若想定时更新可以制定cron计划,比如
chmod a+x /root/awstats.sh
crontab -e
0 3 * *
* /root/awstats.sh