`

如何在Ubuntu中设置Apache Web 服务器支持 UserDir 特性

阅读更多

      Apache Web 服务器支持 UserDir 特性(即用户目录).

      这个特性会将下面格式的URL:

      http://www.foo.com/~bob/one/two.html

      映射到目录/home/bob/www/one/two.html.

      这种映射目录路径的构成还有几种其他形式,关于UserDir的内容,可以见下面的web:

      1.http://www.centos.org/docs/5/html/5.1/Deployment_Guide/s3-httpd-mig-main-map.html

      2.http://httpd.apache.org/docs/2.0/mod/mod_userdir.html#userdir

      3.http://httpd.apache.org/docs/2.0/howto/public_html.html


      实验这个特性,是在Ubuntu 10.10上进行的,Apache Web服务为apache 2.2.

      设置的核心内容在上面的几个web中已经得到了说明,主要的问题是在Ubuntu中,

apache的设置方式.

      apache的配置文件位于/etc/apache2中.在此,要关注的是文件apache2.conf,目录

mods-available,mods-enabled.

      apache2.conf是主要配置文件,其中对module的配置使用了下面的指令:

# Include module configuration:
Include mods-enabled/*.load
Include mods-enabled/*.conf

       因此,和UseDir有关的module以及配置需要在目录mods-enabled进行.而目录

mods-enabled下的文件全部为对目录mods-available下文件的连接.

         查看目录mods-available下和UserDir有关的文件userdir.conf,userdir.load,没有需要进行特殊修改的地方,直接使用命令更改apache的配置:

sudo a2enmod userdir

       然后重启Apache服务器:

sudo service apache2 restart

      假设当前的用户名为bob,在其主目录下建立如下的目录与文件:

      public_html/testProject/index.html

      通过浏览器访问如下URL:

      http://localhost/~bob/testProject/index.html

      则可以正确访问.


      以上的操作,是在阅读下面的web后进行的实际操作:

      启用APACHE2(Ubuntu下)的USERDIR的功能


      如果使用PHP进行开发,则还需要对apache的php module进行配置.因为在目录mods-enabled中,已经有了和php module有关的连接,直接修改文件mods-available/php5.conf.

      文件修改前:

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    <IfModule mod_userdir.c>
        <Directory /home/*/public_html>
            php_admin_value engine Off
        </Directory>
    </IfModule>
</IfModule>

       文件修改后:

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
#    <IfModule mod_userdir.c>
#        <Directory /home/*/public_html>
#            php_admin_value engine Off
#        </Directory>
#    </IfModule>
</IfModule>

       重启Apache服务器后,即可在之前建立的测试目录下编写一个php脚本进行测试了.

分享到:
评论

相关推荐

    Ubuntu+svn+ssl+ldap

    **Apache** 是一款流行的Web服务器,用于发布网页和提供HTTP服务。在Apache中配置SVN,可以将版本库暴露给HTTP客户端访问。 **SSL (Secure Sockets Layer)** 和其继任者TLS (Transport Layer Security) 是一种用于...

    2022年优秀-Linux操作系统案例教程电子教案-第章-WWW-服务器.pptx

    Linux操作系统中的Apache服务器是互联网上最广泛使用的Web服务器软件之一,尤其在开源社区中非常受欢迎。Apache服务器支持多种操作系统,包括Unix、Linux和Windows。它以其稳定性和灵活性著称,可以处理各种动态内容...

    linux 安装 apache 配置及步骤

    在Linux系统中,Apache HTTP Server(通常简称为Apache)是一种广泛应用的开源Web服务器软件,它提供了稳定、高效和可扩展的平台来托管各种网站和Web应用程序。本教程将详细介绍在Linux上安装Apache的过程,以及如何...

    linux 期末考

    - 运行`sudo apt-get install phpmyadmin`命令,并在安装过程中选择Apache2作为Web服务器。 **知识点4:解决php_mbstring问题** - **描述**:在某些情况下,PHP可能无法正常处理多字节字符串,这通常是因为缺少了`...

    LAMP 环境搭建

    安装Apache Web服务器 Apache是LAMP环境中最核心的部分之一,它主要负责接收来自用户的HTTP请求,并将请求转发给相应的应用程序或文件。 - **下载Apache**: ```bash cd /usr/local/src wget ...

Global site tag (gtag.js) - Google Analytics