calibre opõe erro 403 no arquivo epub

1

Estou tentando usar o calibre2opds para colocar minha biblioteca no meu servidor (fedora21). Tudo funciona bem, eu posso navegar, até que eu queira baixar um epub.

Eu recebo um erro 403:

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

Eu acesso o servidor por 192.168.1.21/calibre. Calibre2ops coloca tudo em

/mnt/Sardaukar/web/calibre

Os arquivos HTML são colocados por calibre2opds em

/mnt/Sardaukar/web/calibre/_catalog

e os epubs reais em, por exemplo

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

e o arquivo httpd se parece com

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

Eu fiz isso antes, mesmo com um .htaccess e funcionou antes, mas agora, não tenho idéia do que está errado. As permissões em / mnt / Sardaukar / web / caliber são 770, e chown por mim: www-users

Depois de mais pesquisas, encontrei no log de erros:

[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

Por que ele tenta ler o epub em /var/www/html ??

    
por Napseis 21.06.2015 / 21:59

1 resposta

0

Primeiro, veja a entrada DistrosDefaultLayout - Fedora no Wiki Apache

Parece que você pode precisar adicionar uma raiz do documento (para substituir o padrão) e, como você não está veiculando arquivos da raiz padrão, um ServerRoot (novamente para substituir o padrão):

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>

Isso deve fazer com que o caminho inteiro seja lido {ServerRoot} + {DocumentRoot} ou {Alias / calibre} + Anonyme

Raciocínio

Por motivos de segurança, o Apache não permite a passagem de diretórios fora do ServerRoot . Seu link para todos os seus livros não era um caminho válido em ServerRoot . Portanto, eu tive que dizer ao Apache onde seu servidor estava sendo "servido" Se nada disso faz sentido, leia este ótimo artigo sobre o Slicehost . Como o Gentoo não é sua distribuição, use o link Linux Distros na navegação para encontrar o mesmo artigo que eu criei para sua distribuição em particular. Por uma questão de aprendizado e prática, eu manteria suas epubs em um lugar seguro e faria o seguinte:

  1. Excluir meu arquivo hackish httpd.conf .
  2. Siga o guia que eu vinculei para ativar / configurar o Virtual Hosting corretamente.
  3. Adicione seus epubs à configuração do VirtualHost que você criou na Etapa 2.
por 22.06.2015 / 22:25