1、LAMP概述
L-linux、A-apache、M-mysq、P-PHP/perl/python
PHP(Hypertext Preprocessor)超级文本预处理语言
2、Apache安装
A Patchy Server,著名的开源Web服务软件,最新的名称为 “Apache HTTP Server”
RPM包安装:系统盘自带httpd-2.2.3-11.el5_1.3.i386.rpm
源代码安装:httpd-2.2.9.tar.gz
./configure --prefix=/usr/local/apache2 --enable-rewrite --enable-so –enable-suexec --with-suexec-caller=1000
各目录介绍:
服务目录:/usr/local/apache2/
主配置文件:/usr/local/apache2/conf/httpd.conf 网页目录:/usr/local/apache2/htdocs/
服务脚本:/usr/local/apache2/bin/apachectl 执行程序:/usr/local/apache2/bin/httpd
访问日志: /usr/local/apache2/logs/access_log 错误日志: /usr/local/apache2/logs/error_log
/usr/local/apache2/conf/httpd.conf常用全局配置参数:
ServerRoot:服务目录
ServerAdmin:管理员邮箱
User:运行服务的用户身份
Group:运行服务的组身份
ServerName:网站服务器的域名
DocumentRoot:网页文档的根目录
Listen:监听的IP地址、端口号
PidFile:保存httpd进程PID号的文件
DirectoryIndex:默认的索引页文件
ErrorLog:错误日志文件的位置
CustomLog:访问日志文件的位置
LogLevel:记录日志的级别
warn Timeout:网络连接超时,默认为300秒
KeepAlive:是否保持连接,可选On或Off
MaxKeepAliveRequests:每次连接最多请求文件数
KeepAliveTimeout:保持连接状态时的超时时间
Include:需要包含进来的其他配置文件
3、基本配置
1)修改默认的访问控制选项
[root@s1 ~]#vi /usr/local/apache2/conf/httpd.conf
将默认设置改为如下:
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all -----打开/根目录的访问权限,也可指定打开其他目录权限
启动服务进行测试
[root@s1 ~]# /usr/local/apache2/bin/apachectl start -----启动apache服务
[root@s1 ~]#netstat –ntpl |grep 80 -----测试服务器是否开启80侦听端口
2)AB压力测试
[root@s1 ~]#ulimit –a |grep “open files” ------ 查看默认的链接数
[root@s1 ~]#ulimit –n 100000 ------将连接数修改为100000
[root@s1 ~]#cd /usr/local/apache2/bin/
[root@s1 ~]#./ab -q -c 2000 –n 4000http://www.benet.com/
4、用户个人主页
[root@s1 ~]#vi /usr/local/apache2/conf/httpd.conf
添加如下行:
UserDir public_html -------定义用户主页目录
[root@s1 ~]#/usr/local/apache2/bin/apachectl restart-----------重启apache服务
[root@s1 ~]#useradd jack
[root@s1 ~]#passwd jack
[root@s1 ~]#useradd mike
[root@s1 ~]#passwd mike ----------------创建2个用户
[root@s1 ~]#mkdir /home/jack/public_html
[root@s1 ~]#mkdir /home/mike/public_html
[root@s1 ~]#echo ‘welcome to Jack home Page’ > /home/jack/public_html/index.html
[root@s1 ~]#echo ‘welcome to Mike home Page’ > /home/mike/public_html/index.html
[root@s1 ~]#chmod –R o+x /home/jack
[root@s1 ~]#chmod –R o+x /home/mike----------------设置权限
5、虚拟主机
虚拟主机类型:基于IP地址的虚拟主机、基于端口的虚拟主机、基于域名的虚拟主机
[root@s1 ~]#mkdir –p /web/ibm
[root@s1 ~]#mkdir –p /web/sun
[root@s1 ~]#echo ‘welcome to IBM’ > /web/ibm/index.html
[root@s1 ~]#echo ‘welcome to ACCP’ > /web/sun/index.html
1)基于IP地址的虚拟主机(服务器需要2个IP地址)
documentroot /web/ibm/
ServerName www.ibm.com
documentroot /web/sun/
ServerName www.sun.com
2)基于端口的虚拟主机(假设服务器在80端口和8000端口进行侦听)
Listen 192.168.1.1:80
Listen 192.168.1.1:8000
DocumentRoot /web/ibm/
ServerName www.ibm.com
DocumentRoot /web/sun/
ServerName www.sun.com
3)基于域名的虚拟主机
namevirtualhost 192.168.1.1
documentroot /usr/local/apache2/htdocs
servername www.benet.com
errorlog logs/error.log -------此处修改了网站日志的默认名称
CustomLog logs/access.log common
documentroot /web/ibm/
servername www.ibm.com
errorlog logs/error.log
CustomLog logs/access.log common
documentroot /web/sun/
servername www.sun.com
errorlog logs/error.log
CustomLog logs/access.log common
6、awstats(advanced web statistics)网站日志分析工具
[root@s1 ~]#tar -zxvf awstats-6.9.tar.gz -C /usr/local/
[root@s1 ~]#cd /usr/local/
[root@s1 local]#mv awstats-6.9 awstats
[root@s1 local]#cd awstats/ tools/
[root@s1 tools]#./awstats_configure.pl ----------进行初始化安装,根据提示进行配置
[root@s1 tools]#vi /etc/awstats/awstats.www.benet.com.conf-----编辑配置文件,修改日志文件路径
LogFile="/usr/local/apache2/logs/access.log"
[root@s1 tools]#mkdir /var/lib/awstats----------建立必要的数据库存放目录
[root@s1 tools]#perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.benet.com ----更新日志分析数据库
[root@mail tools]# crontab –e -----------设置cron计划任务,定时运行日志分析程序
*/5 * * * * perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.benet.com
[root@mail tools]# service crond start
[root@mail tools]# chkconfig --level 35 crond on
客户端测试:http://www.benet.com/awstats/awstats.pl?config=www.benet.com
上述URL过长,不便访问时,可以参照如下建立跳转页面,输入http://www.benet.con/test.html即可跳转至访问页面,具体操作如下:
vi /usr/local/apache2/htdocs/test.html
注:日志格式除了可以使用Common通用日志格式外,还可以使用combined组合日志格式,这种格式可记录的信息比common更多
7、访问控制
1)基于用户的访问控制
2)基于客户端地址的访问控制
Order allow,deny
deny from 192.168.1.200
allow from 192.168.1.0/24