Como colocar um diretório na lista de permissões no Apache

Como colocar um diretório na lista de permissões no Apache

Os arquivos que desejo servir via navegador estão localizados em /root/my_folder(ubuntu 14.04). Mudei um caminho de /var/www/htmlpara /root/my_folderin /etc/apache2/sites-available/000-default.conf, depois disso recebo um erro proibido ao tentar acessá-lo no navegador.

A página de boas-vindas padrão do Apache afirma que:

Por padrão, o Ubuntu não permite acesso através do navegador web a qualquer arquivo além daqueles localizados nos diretórios /var/www, public_html (quando habilitado) e /usr/share (para aplicativos web). Se o seu site estiver usando uma raiz de documento da web localizada em outro lugar (como em /srv), você pode precisar colocar o diretório raiz do seu documento na lista de permissões em /etc/apache2/apache2.conf.

Como coloco meu diretório raiz na lista de permissões /etc/apache2/apache2.conf, qual sintaxe devo usar?

Responder1

Você não pode e não deve servir a partir do /rootdiretório. É acessível apenas pelo rootusuário enquanto o Apache está sendo executado com user www-data. Dê uma olhada no log de erros e você verá que o Apache reclama de permissões:

tail -f /var/log/apache2/error.log

Se você estiver trabalhando com o rootusuário em seu sistema de qualquer maneira, deverá fazer upload dos arquivos diretamente dentro do /var/www/html, pois você já tem permissões lá.

Responder2

A solução mais fácil provavelmente seria vincular a montagem desse diretório /var/www/htmlassim:

mount -t none -o bind,ro /root/my_folder /var/www/html

então inicie o Apache.

Nota: Na distribuição Fedora Linux e provavelmente em outras que usam o systemd, alguns serviços não veem as montagens feitas após serem iniciados devido a alguns recursos de segurança habilitados por padrão. Para mais detalhes leiasystemd para administradores, parte XII. Além disso, se estiver usando SELinux, os arquivos precisam ter um rótulo adequado, como public_content_tpor exemplo.

informação relacionada