在尝试设置SVN时,在RaspberryPi(Debian Wheezy)上使用Apache2.2.22的神秘DocumentRoot

时间:2014-03-15 13:19:34

标签: apache debian raspberry-pi document-root

我正在尝试使用运行Debian Wheezy的Raspberry Pi上的Apache2.2.22(Apache从现在开始!)在SSL上运行SVN存储库。

我是Apache的新手,正在尝试各种配置。我真正想要做的就是让Apache提供SVN存储库,没有其他任何东西,即没有DocumentRoot,而是使用SVNParentPath。

这可能是不可能的,但如果没有别的我想知道为什么删除网站启用和网站可用目录中的所有网站并检查/ etc / apache2目录和子目录中的所有其他文件的术语DocumentRoot默认/ var / www使用DocumentRoot。

当我转到

时重新启动Apache2服务
http:\\raspberrypi 

我得到它的作品!页。

重启Apache时,我也没有收到有关丢失DocumentRoot的警告。我重新安装了Apache,每次我对.conf文件进行更改时,我都会重启服务并清除浏览器历史记录。

这是Debian设置,因此没有httpd.conf文件。

dav_svn.conf文件只包含注释。

/etc/apache2/apache2.conf看起来像这样(任何被注释掉的东西都没有显示):

LockFile ${APACHE_LOCK_DIR}/accept.lock

PidFile ${APACHE_PID_FILE}

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 5

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>


<IfModule mpm_worker_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>


<IfModule mpm_event_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>


User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

AccessFileName .htaccess

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy all
</Files>

DefaultType None

HostnameLookups Off

ErrorLog ${APACHE_LOG_DIR}/error.log

LogLevel warn

Include mods-enabled/*.load
Include mods-enabled/*.conf

Include ports.conf

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

Include conf.d/

Include sites-enabled/

ports.conf文件(带注释):

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

如上所述,在启用站点或站点可用的目录中没有文件。

如果有人能够解释为什么我没有收到DocumentRoot错误或没有页面进入

,我将非常感激

http://raspberrypi URI。

谢谢, 丰富

2 个答案:

答案 0 :(得分:1)

Apache定义了DocumentRoot property的默认值,以便在配置中未设置任何值时使用。如文档中所述,默认值为 / usr / local / apache / htdocs (硬编码),但可以在编译时更改。

但是,您正在使用Debian。大多数Debian软件包都有一些小的调整,以满足自己的目标和标准。仅仅举几个例子,在Apache 2中它们包括:

  • 使用分离的 .conf 文件;
  • 自定义默认文件夹;
  • 创建 www-data 用户。

此外,如果您深入研究Apache 2 Debian Package源代码(Wheezy specifically),您会注意到Apache 2的默认文件夹已更改为符合FHS。这就是为什么它们位于 / var / www

此外,请务必注意Apache 2 Debian软件包中有recent commit DocumentRoot 更改为 / var / www / html 。您应该期望此更改在将来的版本中出现。

答案 1 :(得分:0)

Apache的默认文档根目录为/ usr / local / apache / htdocs。如果未在任何配置中指定,则将使用此值。