Apache、htaccess 问题,致力于运行 owncloud

Apache、htaccess 问题,致力于运行 owncloud

在‘Jessy’Debian 8 上运行 Apache 2.4.10 ...

我正在尝试让 ownCloud 在我的 Raspberry Pi2 上运行,但 Apache 部分却有点困难。在浏览了 Apache 文档、一些在线指南和 YouTube 视频后,我完全糊涂了。所以我在寻求确认和答案,希望有 Apache 专家在线 :)

好的,因此要运行 ownCloud 需要处理其 .htaccess 文件,现在我明白我需要在某些配置文件中将“AllowOverride”指令(在 sectionblock 中)设置为“All”。

“httpd.conf” 或 - 就我而言 - “apache2.conf” 是 Apache 的主配置文件(位于 /etc/apache2/)。对吗?
还有可能为 ownCloud 网站单独创建一个配置文件?虚拟主机配置文件?我该如何创建这样的虚拟主机文件(名称?位置?)?
指南指向“/etc/apache2/sites-enabled”位置,我应该编辑“000-default.conf”,但这不是文件……它是指向“/etc/apache2/sites-available”相应文件的符号链接。我是否理解正确,我应该将 - 比如说 - 虚拟主机代码部分放在那个文件中?

现在实际的问题是:
- 我应该在什么级别启用 htaccess,在主配置还是在 vhost 配置中?尽量保证安全性尽可能严格。-
有人知道是否只需要更改 AllowOverride 指令吗?重写模块也经常被提及。那怎么样?

我将采纳 davidgo 的建议,在 owncloud 的虚拟主机文件中专门使用 AllowOverride。我得到了一个相当优雅的逻辑,即在 sites-available 中定义一个 vhost,然后通过在 sites-enabled 中放置一个 sym.link 来“启用”它。感谢 Paul 向我指出这一点。

提前感谢您付出的时间和精力!

答案1

可以为 ownCloud 网站设置一个单独的配置文件 - Apache 将使用“Include”指令读取主配置中添加的任何文件 - 通常会覆盖所有带有“.load”或“.conf”的文件

为了获得更好的安全性,请在适当的 vhost 容器中的目录容器中启用 .htaccess,然后将其用于所有主机 - 为了获得更好的安全性,请将 .htaccess 内容剪切并粘贴到 vhost 容器中,并完全取消 .htaccess 文件。

为了使重写模块正常工作,需要打开 Rewrite 指令。您的 .htaccess 文件很可能会执行此操作。

重写模块用于重写请求的格式,例如,允许 URL 隐藏它实际上正在执行 php 文件的事实。

答案2

如果您只是将 Apache 用于 owncloud,那么您可以AllowOverride全局使用。

坦率地说,在大多数情况下,您还是希望所有网站都启用此功能,因为使用 .htaccess 获取友好 URL 非常普遍。

是的,将其放在全局启用的正确位置是 000-default.conf。是的,这“只是一个符号链接”,但这只是 Debian 管理站点的方式。每个站点的实际配置文件存储在 中,/sites-available并且使用a2ensitea2dissite命令通过将符号链接添加到 来启用和禁用站点/sites-enabled。编辑符号链接与编辑实际文件相同。

您将在末尾看到apache2.conf一个包含文件,用于从中提取任何 conf 文件/sites-enabled

在该部分内添加语句<VirtualHost *:80>,它将匹配任何站点(未在其自己的配置文件中定义)。

是的,有可能单独为 owncloud 创建一个配置文件,在这种情况下,您可以在 中创建一个新的配置文件/sites-available(也许通过复制000-default),添加一个ServerName指令以匹配您用于访问 owncloud 的 URL,然后使用 启用它a2ensite <config file name>

相关内容