您的位置:首页 > 运维架构 > Apache

Web服务器(Apache)的配置与使用

2011-03-02 12:00 746 查看
一.基本概念:

1. Web服务的定义

Web服务是基于B/S模型,服务器端可以为客户端提供动态的,交互的超文本服务;

2.Web服务器的含义

运行http协议和Web服务器软件且能够为客户端提供Web服务的主机称为Web服务器

3. Web服务的工作流程

⑴ 客户端通过客户程序建立与服务器的连接;

⑵ 访问中服务器的相应资源

⑶ 断开连接

4. 常见的服务器软件:

httpd lighttpd thttpd nginx IIS Webspere Weblogic tomcat

5. APACHE特点:

可移植性强

支持DSO功能

支持JSP、PHP、CGI

支持MYSQL、POSTGRESQL

支持基于IP地址/域名的虚拟主机

支持OPENSSL

二.基本配置与使用

1.所需要的软件包:

httpd-2.2.3-31.e15.i386.rpm

httpd-devel-2.2.3-31.el5.i386.rpm

httpd-manual-2.2.3-31.el5.i386.rpm

system-config-httpd-1.3.3.1-1.el5.noarch.rpm

2.配置文件的目录:

/etc/httpd/conf/httpd.conf (Apache 的核心配置文件)

/etc/rc.d/init.d/httpd (Apache 的启动脚本)

/usr/sbin/apachectl (Apache 的管理工具)

/etc/httpd/modules (Apache模块存放目录)

/etc/httpd/conf (存放httpd的配置子文件)

/usr/bin/htpasswd (建立http用户和设置用户口令)

.htaccess (存放目录的访问控制选项)

/var/www/html (存放网页的配置目录)

3.主配置文件(/etc/httpd/conf/httpd.conf)中的一些常用配置:

❶Timeout 300 定义服务器与客户端的连接超时时间

❷KeepAlive On/Off 设置Apache是否保持连接

❸http1.1MaxKeepAliveRequests 100 定义http1.1的一次连接中允许的最大请求数

❹KeepAliveTimeout 15 定义一次连接中的两次请求之间的间隔时间

❺MinSpareServers 5 设置httpd产生的最少空闲子进程数

❻MaxSpareServers 20 设置httpd产生的最大空闲子进程数

❼StartServers 8 设置httpd启动时产生的子进程个数

❽MaxClients 150 定义服务器的最大并发连接数❾MaxRequestsPerChild 1000 设置每一个子进程接受的最大请求数

❿Listen 端口号/IP 地址:端口号 设置服务器httpd守护进程的监听端口

4.安装web服务

yum install httpd -y (如没有安装yum源,可以使用rpm进行安装)

service httpd start

三:配置功能实现,以案例为主:

以下实验过程如果无法访问,一定通过getenforce命令查看状态,必须为Permissive,否则通过setenforce 0进行修改。

案例一:实现用户家目录的访问:

编辑主配置文件:vim /etc/httpd/conf/httpd.conf

1.在配置文件中进行修改:注销 355行 # UserDir disable

开启362行: UserDir public_html 保存退出

(由于appache主配置文件内容比较多,我在这里添上行号,方便修改,行号可能有出入,不过基本都在这一片,好好查找,以防出错)

2.su - student

mkdir public_html

cd /public_html

vim index.html (任意编辑一句话,进行实验效果的验证)

This is a home dir!保存退出

exit 退出student用户登录,切换root用户登录

chmod o+x /home/student 修改权限

3.service httpd restart

4.效果验证:在浏览器中输入http://192.168.0.8/~student

案例二:修改默认目录(/var/www/html),实现其他目录访问:

1.mkdir /www 创建目录

2.修改主配置文件:

281行:DocumentRoot "/var/www/html" 修改为DocumentRoot "/www"

306行: <Directory "/var/www/html"> 修改为<Directory "/www">

保存退出

3.vim /www/index.html

This is a www dir test.

4.service httpd restart 重启服务

5.实验效果验证:在浏览器中输入http://192.168.0.8

案例三:实现www下子目录的访问:

①cd /www

mkdir bbs

vim /bbs/index.html

This is bbs dir.

进行访问:http://192.168.0.8/bbs

②如果bbs不在www目录下

mv bbs /tmp

需要修改配置文件:Alias /icons/ "/var/www/icons/"

Alias /bbs "/tmp/bbs"

重启服务,访问即可

案例四:浏览时需要提供密码才能访问:

1.修改配置文件:AllowOverride None(是否允许覆盖) 修改为 AllowOverride AuthConfig

AuthName "Welcome"

AuthType basic (认证类型,basic基于本地文件认证)

AuthUserFile /etc/httpd/.htpasswd

require(valid-user) user user1 user2 (允许用户登录)

修改完成保存退出,重启服务

2.添加访问用户 htpasswd -cm /etc/httpd/.htpasswd user1

htpasswd -m /etc/httpd/.htpasswd user2

3.实验效果验证:在浏览器中输入http://192.168.0.8

案例五:https方式访问

①安装mod_ssl模块:yum install mod_ssl*

cd /etc/httpd/conf.d

ls查看会生成ssl.conf

②制作CA:

cd /etc/pki/tls

vim openssl.cnf

修改:[ CA_default ]

dir = /etc/pki/CA

cd /etc/pki/CA

openssl genrsa 1024 > private/cakey.pem生成密钥对

openssl req -new -x509 -key pravite/cakey.pem -out cacert.pem -days 365 自签

mkdir certs newcerts crl

touch index.txt serial

echo 01 > serial

③为web服务签证:

cd /etc/httpd

mkdir ssl

cd ssl/

openssl genrsa 1024 > httpd.key 生成密钥

openssl req -new -key httpd.key -out httpd.csr 证书签署请求

openssl ca -in httpd.csr -out httpd.crt

④vim /etc/httpd/conf.d/ssl.conf

修改:SSLCertificateFile /etc/httpd/ssl/httpd.crt

SSLCertificateKeyFile /etc/httpd/ssl/httpd.key

DocumentRoot "/www"

ServerName www.aaa.com:443

在Windows下:C:\Windows\System32\drivers\etc 修改hosts文件,将ip地址及www.aaa.com写入

将linux下的/etc/pki/CA下的cacert.pem放到Windows下,修改为cacert.crt

修改Ie设置:工具->内容->证书->受信任的证书颁发机构,导入证书即可

本文出自 “Linux Study” 博客,请务必保留此出处http://chenxizhuimeng.blog.51cto.com/2516314/504269
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: