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

apache 常用参数以及实例_Linux

目录与访问控制:

<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

apache 常用参数以及实例_Linux_02

apache 常用参数以及实例_Linux_03

apache 常用参数以及实例_Linux_04


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命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的。如图:

apache 常用参数以及实例_Linux_05

生成认证账号和密码

[root@xuegod63 ~]# htpasswd -cm /etc/httpd/conf/passwd.secret rm

New password:

Re-type new password:

Adding password for user rm

验证:

apache 常用参数以及实例_http_06

方法二:

[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

apache 常用参数以及实例_http_07