apache 常用参数以及实例
例1:apache常用参数
[root@xuegod63 chroot]# vim /etc/httpd/conf/httpd.conf #以下参数需要我们掌握
ServerRoot "/etc/httpd"#apache配置文件的根目录
Timeout 60 #超时时间
Listen 80 #监听的端口
ServerAdmin root@localhost #设置管理员,e-mail 地址
ServerName 192.168.1.163:80 #服务器主机名.
DocumentRoot "/var/www/html" #网站页面根目录
Options Indexes FollowSymLinks #当一个目录没有默认首页时,允许显示此目录列表
DirectoryIndex index.html index.html.var#指定默认首页
例2:取消apache默认欢迎页:
[root@xuegod63 ~]# vim /etc/httpd/conf.d/welcome.conf
#
# This configuration file enables the default "Welcome"
# page if there is no default index page present for
# the root URL. To disable the Welcome page, comment
# out all the lines below.
#
#<LocationMatch "^/+$"> #把红色内容进行注释
# Options -Indexes
# ErrorDocument 403 /error/noindex.html
#</LocationMatch>
创建首页文件
[root@xuegod63 ~]# echo "<h1>Welcome to www.xuegod.cn</h1>" > /var/www/html/index.html
例4.修改网根目录及对应参数,设置访问权限
例:
设置文档目录为/var/www/html/bbs
目录与访问控制:
<Directory "/var/www/html/bbs"> #子目录会继承这个目录的属性
Options FollowSymLinks #Options:Indexes:目录浏览 #Followsymlinks:可以用连接
AllowOverride None
Order allow,deny
Allow from 192.168.1.0/24 #从哪里来的允许
Deny from 192.168.1.0/24 #从哪里来的拒绝
Allow from .baidu.com
#Allow,Deny都会读取,如果有冲突和未说明的时候按照Order选项逗号后面的那个为准。
谁写到后面,谁的优先级高。
</Directory>
例5, 使用别名功能,引用网站根目录以外的路径。
将/usr/local/phpmyadmin 目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.1.63/phpmyadmin/ 时,就可以访问目录/usr/local/phpmyadmin中的内容。
注:apache的别名也叫虚拟目录
语法:
Alias URL路径 PATH物理路径
创建测试目录和数据
[root@xuegod63 ~]# mkdir /usr/local/phpmyadmin
[root@xuegod63 ~]# cp -r /boot/grub/ /usr/local/phpmyadmin/
[root@xuegod63 ~]# echo "test1" > /usr/local/phpmyadmin/a.html
修改配置文件
[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf
Alias /phpmyadmin "/usr/local/phpmyadmin/"
<Directory "/usr/local/phpmyadmin/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
注:Alias /phpmyadmin/ "/usr/local/phpmyadmin/" #/phpmyadmin/ 可以随意起。比如改/phpmyadmin/ 为/php/ 则访问链接: http://192.168.1.63/php/
例5,当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表
修改配置文件:
[root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf # 修改红色标记内容
Alias /phpmyadmin/ "/usr/local/phpmyadmin/"
<Directory "/usr/local/phpmyadmin/">
Options -Indexes FollowSymLinks #在Indexes 前加-减号,此目录下没有默认首页时,禁止显示目录
AllowOverride None
Order deny,allow
Allow from all
</Directory>
例6: 打开软链接功能。 通过软件链接直接引用网站根目录以外的内容
[root@xuegod63 ~]# mkdir /web2
[root@xuegod63 ~]# echo test1 > /web2/a.html
[root@xuegod63 ~]# ln -s /web2/ /var/www/html/web2
[root@xuegod63 ~]# rm -rf /var/www/html/index.html
[root@xuegod63 ~]# rm -rf /var/www/html/index.php
[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf
ctrl+F5 强制刷新
例7:通过用户认证的方式,对网站下/usr/local/phpmyadmin/目录进行保护。 设置/usr/local/phpmyadmin/目录,只能通过用户名密码方式访问。
方法一:
Alias /phpmyadmin/ "/usr/local/phpmyadmin/"
<Directory "/usr/local/phpmyadmin/">
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
authtype basic
authname "MySQL admin software......."
authuserfile /etc/httpd/conf/passwd.secret
#require user tom
#require user tom bob
require valid-user
</Directory>
参数说明:
认证方式:第一种通过文件进行指定
第二种直接写到配置文件中,多个用户用空格隔开
authtype basic # 1)authtype命令:指定认证类型为:basic。
authname "MySQL admin software......." #请不要动我的奶酪
# AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的。如图:
生成认证账号和密码
[root@xuegod63 ~]# htpasswd -cm /etc/httpd/conf/passwd.secret rm
New password:
Re-type new password:
Adding password for user rm
验证:
方法二:
[root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf
<Directory "/usr/local/phpmyadmin/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AllowOverride AuthConfig
</Directory>
# AllowOverride AuthConfig一行表示允许对/usr/local/phpmyadmin/目录下的文件进行用户认证。
[root@xuegod63 ~]# vim /usr/local/phpmyadmin/.htaccess
authtype basic
authname "MySQL admin software by .htaccess"
authuserfile /etc/httpd/conf/passwd.secret
#require user tom
require valid-user
利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文
[root@xuegod63 ~]# htpasswd -cm /etc/httpd/conf/passwd.secret swk #指定用户
New password:
Re-type new password:
Adding password for user swk