第5、6章 web网站服务
胡勇军web 网站服务Apache在 Linux 系统中通过 Apache 来搭建web 网站服务特点:开放源代码、跨平台应用支持多种网页编程语言模块化设计、运行稳定、良好的安全性安装Apache2.
胡勇军
web 网站服务
Apache
在 Linux 系统中通过 Apache 来搭建web 网站服务
特点:
开放源代码、跨平台应用
支持多种网页编程语言
模块化设计、运行稳定、良好的安全性
安装Apache2.4.4.
源码包安装 Apache (确保系统没有安装 rpm 包的 Apache 服务)
安装前准备 解压包apache 软件包 解压插件apr 和apr-util 压缩包, 并复制到apache 源码目录下的srclib 目录下, 并去掉版本号
安装编译工具: gcc 、gcc-c 、make 、pcre-devel
1. 配置
./configure --prefix=/usr/local/apache
--enable-so
--enable-rewrite
胡勇军
,胡勇军
--enable-charset-list --enable-mods-shared=most
--with-mpm=worker
(--enable-mods-shared=most 动态编译为DSO 模块
--with-mpm=worker 配置apache 以何种模式编译
‐‐prefix=/usr/local/apache2安装位置 ‐‐enable‐so支持动态加载模块 ‐‐enable‐rewrite支持URL 重写 ‐‐enable‐charset‐‐lite支持字符集)
2. 编译
make
3. 安装
Apache 的安装目录和文件
服务目录:/usr/local/apache/ (配置时指定的)
主配置文件:/usr/local/apache/conf/httpd.conf
网页目录:/usr/local/apache/htdocs/
服务脚本:/usr/local/apache/bin/apchectl
执行程序:/usr/local/apache/bin/httpd
访问日志:/usr/local/apache/logs/access_log
错误日志:/usr/local/apache/logs/error_log
胡勇军 make install
,胡勇军
源码包安装 apache 服务后,为了更方便得管理,可以把程序脚本添加到默认搜索路径,即修改 PATH 变量,或者给程序脚本创建链接到 PATH 中存在的目录中。
修改 PATH 变量:PATH=$PATH:/usr/local/apache/bin (此修改在重启系统后失效,可以写在/etc/profile等文件中) 创建链接:
ln ‐s /usr/local/apache/bin/* /usr/local/bin
管理:apachectl { start | restart | stop }
也可以将 httpd 添加为系统服务,通过 service 和 chkconfig 来管理。
复制服务脚本至/etc/rc.d/init.d或/etc/init.d目录中
cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
编辑/etc/init.d/httpd
chkconfig :服务识别参数,35表示在级别 3和 5种开机自启, 88和 18表示启动和关闭的顺序
description :服务的描述信息 chkconfig --add httpd
管理:service httpd { start | restart | stop }
查看服务是否启用:netstat -auptn | grep

胡勇军
,胡勇军
( httpd服务即 apache 服务)
主配置文件中的常用全局配置项
ServerRoot :httpd 服务的根目录
Listen :监听的端口号,默认为 80
User 和 Group :运行 httpd 进程的用户和组身份 ServerAdmin :管理员邮箱
ServerName :网站服务器的域名(FQDN)
DocumentRoot:网页文档的根目录
DirectoryIndex :默认文档,多个以空格隔开 Include :include 引入其他配置文件
PidFile :保存httpd 进程PID 号的文件
ErrorLog :错误日志文件的位置
CustomLog :访问日志文件的位置
LogLevel :记录日志的级别,默认为 warn
Timeout :网络连接超时,默认为 300秒
KeepAlive :是否保持连接,可选 On 或 Off
MaxKeepAliveRequests :每次连接最多请求文件数 KeepAliveTimeout :保持连接状态时的超时时间
日志查看:cat /usr/local/apache/logs/access_log
胡勇军
,胡勇军
部署 AWStats 分析日志
解压 awstats 软件包,移至/usr/local目录下 unzip awstats-7.0.zip mv awstats-7.0 /usr/local/awstats 切换到 awstats/tools目录下,执行 awstats_configure.pl,创建配置文件,进入交互式界面,根据提示配置。
./ awstats_configure.pl 修改站点配置文件 vi /etc/awstats/awstats.* 指定分析的日志和指定存放统计数据的目录 LogFile="/usr/local/apache/logs/access_log" DirData=/var/lib/awstats 创建存放统计数据的目录 mkdir /var/lib/awstats 执行日志分析,更新统计数据 /usr/local/awstats/tools/awstats_updateall.pl now
(为了提高日志准确性,需要设置周期性计划任务定时更新统计
数据)
查看日志分析:
胡勇军
,胡勇军
区域配置项:
Order deny,allow 访问控制类型
allow [Deny ] from all 允许[禁止]任何人访问 Require all granted 授权所有用户访问
区域配置项针对某一个网页目录设置,以
Options :访问链接方式,有多种,例如 Options Indexes 表示允许以目录形式访问, 即如果没有默认文档, 就以目录形式直接访问此目录中的文件内容。
Require :要求授权用户才能访问,all granted表示授权所有用户,all denied则表示都不授权
Order :用来配置客户机的访问限制,控制选项有两种 allow,deny :拒绝所有未明确允许的客户机 (白名单) deny,allow :允许所有未明确拒绝的客户机 (黑名单) 通胡勇军
,胡勇军
过 Deny from来列出拒绝/允许的主机列表。可以是 IP 地址、IP 网段、主机名、域名等,多个以空格隔开。使用 “all ” 表示任意主机。
例如:(只允许192.168.1.0 网段和192.168.2.9 的主机访问)
Order allow,deny allow from 192.168.1.0/24 192.168.2.9
用户授权限制
1. 创建用户认证数据文件(会提示输入密码)
htpasswd -c /usr/local/apache/conf/.user tom -c :新建数据文件,若文件已存在,则不用添加
2. 添加用户授权配置
在区域配置
AuthName :受保护区域名称 AuthType :认证类型 AuthUserFile :认证文件路径 Require :要求授权用户才能访问, valid-user


表示认证文件胡勇军
,胡勇军
中的 所有合法用户,也可以指定用户(如 tom )
虚拟主机和虚拟目录等区域性配置一般写在单独的配置文件中,然后在主配置文件中使用include 引入,方便管理
(注:在主配置文件中的所有相对路径都是基于apache 的根目录的,也就是/usr/local/apache)
虚拟主机 (一台主机上管理多个不同的网站)
虚拟主机的三种实现方式:基于 IP 、端口号、主机名 配置 ( httpd.conf )
虚拟主机的配置和区域配置一样,配置项写在在一对标签
基于 IP 的虚拟主机

胡勇军
胡勇军
通过不同IP 访问不同的网站
● 基于不同端口虚拟主机
首先 httpd 服务要监听设定端口在主配置文件中通过 Listen 选项设置
Listen 8001 Listen 8002
● 基于域名的虚拟主机


胡勇军 通过 http://192.168.1.1:端口号进行访问
,胡勇军
通过域名进行访问
注:基于域名的虚拟主机需要DNS 支持,且设置了域名虚拟主机,再通过IP 进行访问时,访问的是第一个虚拟主机。
虚拟目录
通过Alias 来定义
访问:http://域名/虚拟目录名
胡勇军 例如:http://www.benet.com/vdir

