Apache简明教程

2012年08月03日 Linux, 测试工具, 测试技术, 测试综合, 软件测试 ⁄ 共 3017字 ⁄ 字号 评论 1 条 ⁄ 阅读 5,383 次

本文主要介绍Apache的基本使用方法,包括如何发布目录,如何设置目录访问控制认证授权,如何配置.htaccess文件等。

1.    Apache相关文件介绍

配置文件:/etc/httpd/conf/httpd.conf

服务器的根目录:/etc/httpd

根文档目录:/var/www/html

访问日至文件:/var/log/httpd/access_log

错误日至文件:/var/log/httpd/error_log

运行Apache的用户:apache

运行Apache的组:apache

端口:80

模块存放路径:/usr/lib/httpd/modules

2.    Apache容器介绍

1)     文件系统容器

<Directory>和<Files>是针对文件系统的指令。<Directory>段中的指令作用于指定的文件系统目录及其所有子目录,.htaccess 文件可以达到同样的效果。

2)     网络空间容器

<Location>是针对网络空间的指令。

<Location>指令无须文件系统的支持 。

3.    Apache相关命令

apache的进程:httpd

apache的启动:service httpd start

apache的停止:service httpd stop

apache的重新启动:service httpd restart

apche的进程状态查看:ps -A |grep httpd或service httpd status

apache的语法检查:apache configtest

4.    Apache基本配置说明

1)     配置个人主页

a)         修改vi /etc/http/conf/httpd.conf配置文件(行数可能不准确)

(354行)UserDir Disable改成#UserDir Disable

(361行)启动个人主目录名称,去掉#注释:#UserDir public_html 修改为UserDir public_html

(369-380行)启动个人用户Web站点的访问权限,去掉#注释

<Directory /home/*/public_html>AllowOverride FileInfo AuthConfig LimitOptions MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

<Limit GET POST OPTIONS>

Order allow,deny

Allow from all

</Limit>

<LimitExcept GET POST OPTIONS>

Order deny,allow

Deny from all

</LimitExcept>

</Directory>

b)         重启Apache服务:service httpd restart

c)         创建自己的Web站点,命令分别如下

useradd user   #添加用户su user   #切换用户cd   #进入用户主目录

mkdir public_html   #创建文档目录

vi public_html/index.html   #建立测试页面,此处可以在index.html文件中输入“欢迎来到user首页”诸如此类的测试语

chmod 711 /home/user   #修改权限

d)         输入http://localhost/~user打开页面看看吧

2)     发布其他目录

想发布其他任何目录的话,需要在httpd.conf文件中添加如下配置,然后重启Apache服务即可。

Alias /joo "/media/joo"   #/media/joo文件夹的别名为/joo<Directory "/media/joo">Options Indexes FollowSymLinks

Order allow,deny

IndexOptions NameWidth=25 Charset=UTF-8

Allow from all

</Directory>


3)     配置目录的认证授权

a)       相关参数说明

AuthName:认证名字

AuthType:认证类型,有两种

Basic:基本认证类型,所有浏览器均支持

Digest:摘要认证类型,部分浏览器不支持

AuthUserFile:认证用户文件,存放认证用户的列表文件

Require valid-user:授权给通过认证的所有用户

Require user 用户ming:授权给通过认证的指定用户

b)       首先在httpd.conf进行相关配置,示例如下

Alias /haha "/media/haha"<Directory "/media/haha">Options Indexes FollowSymLinks

Order allow,deny

IndexOptions NameWidth=25 Charset=UTF-8

Allow from all

AuthName "abc"

AuthType Basic

AuthUserFile file1

Require valid-user

</Directory>

c)       生成认证授权文件,并添加用户

htpasswd   -c  /etc/httpd/认证文件  用户名如:htpasswd   -c  /etc/httpd/file1  ual

d)       更改认证授权文件的属主和属组为apache

chown apache.apache etc/httpd/file1

e)       重新启动apache服务:service httpd restart

f)        访问你刚配置的好页面吧


4)     配置目录的访问控制与认证授权

a)         相关参数说明

  • order:顺序,设定拒绝和允许的先后顺序

deny:拒绝

allow:允许

Satisfy   any:或者满足访问控制的条件,或者满足认证授权的条件,就可以访问指定页面、目录

Satisfy   all:必须同时满足访问控制和认证授权的条件,才可以访问指定页面、目录

b)         在配置中文件中进行如下的设置,即可同时进行访问控制+认证授权

5)     .htaccess使用

a)       相关说明

Include 目录/文件名.confapache启动时,同时加载Include指令指定的目录下的.conf文件(默认为Include conf.d/*.conf,默认加载conf.d目录下所有.conf文件)

.htaccess是目录下的隐藏文件,可以减少apache服务的启动

b)       首先在配置文件httpd.conf中发布目录

Alias /ryan "/media/ryan"<Directory "/media/ryan">AllowOverride all

</Directory>

c)       在相关目录中生成.htacess文件,同时添加相关配置

cd /media/ryanvi .htaccess#在.htaccess文件中添加相关配置,如

#Options Indexes FollowSymLinks

#Order allow,deny

#IndexOptions NameWidth=25 Charset=UTF-8

#Allow from all

d)       重启Apache服务,访问相关页面即可

 

完整版文档下载地址: http://pan.baidu.com/share/link?shareid=155927&uk=2382651862