Por padrão, o apache é configurado para mostrar os seguintes arquivos em vez da listagem de diretórios:
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
Você pode listar recursivamente tudo isso com isto:
find /var/www -name 'index.*'
Se o seu diretório tiver algum desses, o apache mostrará, em vez de algo assim:
Para corrigir isso, exclua ou renomeie os arquivos index. * para outra coisa. Como alternativa, você pode alterar a diretiva DirectoryIndex e recarregar o apache ( /etc/init.d/apache2 reload ).
Por padrão, o apache DocumentRoot é /var/www . Somente arquivos nessa pasta são exibidos. Além disso, os links simbólicos são seguidos somente se o destino for de propriedade do mesmo usuário. Se você tiver arquivos em /var/www , não precisa se preocupar com isso.
O Apache não lista arquivos que www-data usuário não pode ler. Contanto que haja r e x o último grupo (marcado com ^ abaixo), está tudo bem:
drwxrwxr-x 4 user group 4014 Feb 4 23:16 filename
^ ^
Tecnicamente, você precisa apenas de x para pastas. Seus comandos para alterar as permissões estavam corretos:
chmod -R 755 /var/www
Se o apache não listar nenhum arquivo, mesmo se você não tiver nenhum arquivo de índice em sua pasta, use
tail -f /var/log/apache2/error.log
para ver quais erros o apache encontrou.