apache(Web服务器)

1.apache简介
Apache是世界使用排名第一的Web 服务器 软件。它可以运行在几乎所有广泛使用的 计算机平台 上,由于其 跨平台 和安全性被广泛使用,是最流行的Web服务器端软件之一。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种 Unix 系统中,尤其对 Linux 的支持相当完美。Apache有多种产品,可以支持 SSL 技术,支持多个 虚拟主机 。Apache是以 进程 为基础的结构,进程要比 线程 消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加 服务器 或扩充群集节点而不是增加 处理器 。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如 Amazon 、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持 跨平台 的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
2.apache基本文件
apache服务器:192.168.0.177
http的目录是:/etc/httpd/conf
http的配置文件是:vi /etc/httpd/conf/httpd.conf
https的目录是: cd /etc/httpd/conf.d/
https的配置文件是:vi /etc/httpd/conf.d/ssl.conf
1.设定用户家目录的访问权限,即设置允许普通用户家目录下的网页具有被访问的权限
yum install httpd -y
/etc/init.d/httpd start
[root@server77 html]# vim /etc/httpd/conf/httpd.conf ^C
[root@server77 html]# useradd test //新建用户^C
[root@server77 html]# cd /home/test/
[root@server77 test]# ls
public_html
[root@server77 test]# mkdir public_html //用户家目录的默认发布目录
[root@server77 public_html]# vim index.html //编写测试网页^C
[root@server77 home]# chmod 701 /home/test/ //给test目录可执行权限^C
[root@server77 home]# setsebool -P httpd_enable_homedirs on //selinux允许
# UserDir disabled //关闭
UserDir public_html //打开
测试:192.168.0.177/test
2.设定apache的发布目录的权限,即除默认发布目录之外,apache还具有其他多个发布目录可被访问
默认发布目录:
[root@server77 html]# vim index.html //编辑测试页^C
[root@server77 html]# vim /etc/httpd/conf/httpd.conf //每次更改完apache的默认发布文件后均需重启apache
//apache的默认发布目录
Order allow,deny //deny会覆盖掉allow(即后面的会覆盖前面的)
Allow from all
Deny from 192.168.0.110 //不允许192.168.0.110(浏览器所在的主机)主机访问此apache的网页

自定义目录:
[root@server77 html]# mkdir test
[root@server77 test]# vim index.html //编辑测试页
//apache的默认发布目录
Order allow,deny //deny会覆盖掉allow(即后面的会覆盖前面的)
Allow from all
Deny from 192.168.0.110 //不允许192.168.0.110主机访问此apache的网页

3.给被访问的目录加用户认证权限(即此目录内的网页只允许apache指定的用户访问)
此处以admin目录为例:
[root@server77 html]# mkdir admin //新建admin目录^C
[root@server77 admin]# vi index.html //编写测试网页^C
[root@server77 admin]# cd /etc/httpd/conf
[root@server77 conf]# htpasswd -cm adminpasswd admin //给admin用户设置密码,-cm中的c表示重新建立adminpasswd认证文件^C
[root@server77 conf]# htpasswd -m adminpasswd test //-cm参数中不写c,用户admin 的密码会被覆盖^C

AllowOverride All //开启认证服务
authuserfile /etc/httpd/conf/adminpasswd 用户认证的文件
authname "please input your username and passwd!"
authtype basic //认证类型为基本认证认证
require user admin test //允许admin与test用户访问,若允许所有用户访问,将user admin test改为valid-user

测试:每次测试完用shift+ctrl+delete清除缓存
4.apache支持php,cgi
支持php:
注:apache默认支持php,cgi。而支持asp,jsp是通过tomcat支持的
[root@server77 html]# vim index.php //编写php的测试页