Apache exibir um índice de / no lugar da página padrão?

1

Alguém aqui conseguiu obter o FancyIndexing trabalhando no Apache 2.4? - Eu encontrei muitos guias, mas eles estão todos com pelo menos 5 a 9 anos desatualizados e não funcionam com o Apache 2.4.

De acordo com a documentação, FancyIndexing vem em mod_autoindex (que é habilitado por padrão), e tudo que é necessário para fazê-lo funcionar em um nível mais básico é < strong> Opções + Índices em um bloco de diretório, assim:

<Directory "/var/www">
        #
        # Possible values for the Options directive are "None", "All",
        # or any combination of:
        #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
        #
        # Note that "MultiViews" must be named *explicitly* --- "Options All"
        # doesn't give it to you.
        #
        # The Options directive is both complicated and important.  Please see
        # http://httpd.apache.org/docs/2.4/mod/core.html#options
        # for more information.
        #
        Options Indexes FollowSymLinks

        #
        # AllowOverride controls what directives may be placed in .htaccess files.
        # It can be "All", "None", or any combination of the keywords:
        #   Options FileInfo AuthConfig Limit
        #
        AllowOverride None

        #
        # Controls who can get stuff from this server.
        #
        Require all granted
</Directory>

O problema é que ele não está funcionando: se eu tiver uma página de índice em branco ...

# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.htm
</IfModule>

... a página de índice substitui a indexação ou:

# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex disabled
</IfModule>

... faz com que a página padrão do espaço reservado do Apache seja exibida, assim como a simples remoção da página de índice.

Também devo mencionar que o que estou tentando alcançar é uma visualização de índice do meu diretório da Web para evitar a necessidade de implementar uma confusão de páginas vinculadas. - O site destina-se a ser um site de recursos, para que os visitantes possam simplesmente ir diretamente para a página ou para o recurso que desejam, sem precisar se mexer. Além disso, neste ponto, FancyIndexing não é absolutamente essencial, já que eu deveria ser capaz de 'atualizar' para isso depois de trabalhar com indexação.

=============================================== ========================

Isto é adicional aos meus comentários, e está em resposta adicional à resposta de Anaksunaman , com minhas próprias anotações e observações:

Find the LoadModule directive for autoindex_module in httpd.conf and make sure it is uncommented:

LoadModule autoindex_module modules/mod_autoindex.so

Sim, incluí isso, como pode ser visto abaixo:

# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding 'LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by 'httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
Include conf.modules.d/*.conf
LoadModule autoindex_module modules/mod_autoindex.so

Make sure Indexes is added to your Options directive under the Directory block for your DocumentRoot. In your case, your Options directive appears fine e.g.:

Options Indexes FollowSymLinks

Não é bem assim: existe (no Cent OS / RHEL / Red Hat / Fedora, pelo menos) uma pegadinha desagradável na forma de /etc/httpd/conf.d/welcome .conf . - A entrada Options -Indexes precisa ser emendada para Options Indexes ou Options + Indexes , caso contrário a indexação não funcionará e haverá um cliente negado pela configuração do servidor: / var / www tipo erro no arquivo de log.

In httpd-autoindex.conf, make sure:

Your IndexOptions directive has FancyIndexing listed e.g. IndexOptions FancyIndexing HTMLTable VersionSort.

Alias /icons/ is pointed at the correct directory for your icons e.g. Alias /icons/ "/path/to/Apache24/icons/"

The Directory block for your icon path uses the same path as Alias /icons/ e.g

Isso não é mais necessário, já que está tudo pré-configurado (para a indexação básica e a indexação sofisticada, pelo menos), com um bloco IndexOptions para a adição de outras opções de configuração. / p>     

por Y Treehugger Cymru 11.05.2018 / 23:10

1 resposta

1

Note que, como indicado por Y Treehugger Cymru:

  • Com exceção da Etapa 4 (descomentando a entrada para, por exemplo, httpd-autoindex.conf), os itens listados em cada etapa abaixo geralmente já estão ativados por padrão, provavelmente com valores corretos.

  • Os nomes e locais exatos dos arquivos que contêm cada entrada relevante podem variar um pouco, com base na sua distribuição do Apache (por exemplo, "httpd-autoindex.conf" pode ser "autoindex.conf", por exemplo ).

  • Com relação à Etapa 2, as distribuições baseadas no Red Hat (CentOS / RHEL / Fedora, etc.) aparentemente também precisam ter Options -Indexes em /etc/httpd/conf.d/welcome.conf alterado para Options Indexes ou Options +Indexes . Caso contrário, a indexação aparentemente não funcionará corretamente.

Para obter FancyIndexing para trabalhar no Apache 2.4:

  1. Encontre a diretiva LoadModule para autoindex_module no link e verifique se não está com o comentário:

    LoadModule autoindex_module modules/mod_autoindex.so
    
  2. Verifique se Indexes foi adicionado à sua diretiva Options no bloco Directory do seu DocumentRoot . No seu caso, a diretiva Options aparece bem, por exemplo:

    Options Indexes FollowSymLinks
    
  3. Usar o bloco padrão dir_module deve ser bom (você não precisa desabilitar isso), por exemplo:

    <IfModule dir_module>
        DirectoryIndex index.htm
    </IfModule>
    
  4. Procure a diretiva Include para link no final de link e verifique se não está comentada:

    Include conf/extra/httpd-autoindex.conf
    
  5. Em link , verifique se:

    • Sua diretiva IndexOptions tem FancyIndexing listado, por exemplo IndexOptions FancyIndexing HTMLTable VersionSort .

    • Alias /icons/ é apontado para o diretório correto dos seus ícones, por exemplo Alias /icons/ "/path/to/Apache24/icons/"

    • O bloco Directory do caminho do ícone usa o mesmo caminho de Alias /icons/ , por exemplo, <Directory "/path/to/Apache24/icons/">

Quando essas etapas forem concluídas, reinicie o servidor e remova / renomeie qualquer arquivo de índice nos diretórios que você deseja mostrar FancyIndexing in.

Exemplo de resultados

ex. Indexação Normal do Apache

ex.IndexaçãoApachedoFancyIndex

    
por 12.05.2018 / 13:53