epub 文件上的 calibre opds 错误 403

epub 文件上的 calibre opds 错误 403

我正在尝试使用 calibre2opds 将我的库放在我的服务器(fedora21)上。一切正常,我可以导航,直到我想下载 epub。

我收到错误 403:

You don't have permission to access /Anonyme/Le Livre Sans Nom (41)/Le Livre Sans Nom - Anonyme.epub on this server.

我通过192.168.1.21/calibre访问服务器。 Calibre2ops 把一切都放进去

/mnt/Sardaukar/web/calibre

HTML 文件由 calibre2opds 放入

/mnt/Sardaukar/web/calibre/_catalog

以及实际的 epub,例如

/mnt/Sardaukar/web/calibre/Anonyme/Le Livre Sans Nom (41)/Le Livre Sans Nom - Anonyme.epub

httpd 文件看起来像

Alias /calibre /mnt/Sardaukar/web/calibre/_catalog
<Directory /mnt/Sardaukar/web/calibre/_catalog>
AllowOverride All
Options Indexes FollowSymLinks
Require all granted
</Directory>

我以前做过,即使使用 .htaccess 并且它以前有效,但现在,我不知道出了什么问题。 /mnt/Sardaukar/web/calibre 的权限是 770,由我 chown:www-users

经过更多研究,我在错误日志中发现:

[Mon Jun 22 21:06:59.774348 2015] [authz_core:error] [pid 10805] [client 192.168.1.5:51992] AH01630: client denied by server configuration: /var/www/html/Anonyme, referer: http://192.168.1.21/calibre/book_0
 >>>/book_41.html

/var/www/html为什么它尝试读取??中的 epub

答案1

首先,请参阅DistrosDefaultLayout - FedoraApache Wiki 上的条目

看起来您可能需要添加一个文档根(以覆盖默认值),并且由于您不从默认根提供文件,因此需要添加一个 ServerRoot(再次覆盖默认值):

Alias /calibre /mnt/Sardaukar/web/calibre/_catalog
ServerRoot "/calibre"
# Ensure that Apache listens on port 80
Listen 80
<VirtualHost *:80>
    DocumentRoot "/Anonyme/"
    ServerName mypubs.local

# Other directives here
</VirtualHost>
<Directory /mnt/Sardaukar/web/calibre/_catalog>
    AllowOverride All
    Options Indexes FollowSymLinks
    Require all granted
</Directory>

这应该使整个路径读取 {ServerRoot} + {DocumentRoot},或 {Alias /calibre} + Anonyme

推理

出于安全原因,Apache 不允许在ServerRoot.您所有书籍的链接不是 中的有效路径ServerRoot。因此,我必须告诉 Apache 你的服务器在哪里“服务”如果这些都没有意义阅读Slicehost 上这篇精彩而深入的文章。由于 Gentoo 不是您的发行版,请使用Linux 发行版导航中的链接可找到我为您的特定发行版链接的同一篇文章。作为学习和实践的一部分,我会将您的 epub 保存在安全的地方,并执行以下操作:

  1. 删除我的黑客httpd.conf文件。
  2. 按照我链接的指南正确启用/配置虚拟主机。
  3. 将您的 epub 添加到您在步骤 #2 中创建的虚拟主机配置中。

相关内容