Eu sou parte da equipe que administra um servidor da Web Apache 2.4.9 em execução no Debian 7.8. Estamos com um problema em um dos nossos usuários:
www.example.com/~user
Quando tentamos acessar esse URL, uma página é carregada com o seguinte conteúdo:
Internal Server Error
The server encountered an internal error or misconfiguration and was
unable to complete your request.
Please contact the server administrator, webmaster@localhost and
inform them of the time the error occurred, and anything you might
have done that may have caused the error.
More information about this error may be available in the server error
log. Apache/2.2.22 (Debian) Server at www.cpdee.ufmg.br Port 80
E em /var/log/apache2/error.log
eu acho isso:
[Fri Apr 03 11:36:36 2015] [alert] [client 179.214.195.80] /home/web/user/.htaccess: Options not allowed here
Se eu procurar o conteúdo do arquivo /home/web/user/.htacces, há apenas essa linha de configuração:
Options -Indexes
Após uma pesquisa rápida, pareceu-me que esse problema tem a ver com a configuração do host virtual do Apache. Especificamente, este tutorial diz que esse problema pode ser corrigido adicionando “Opções ”Na lista“ AllowOverride ”do / etc / apache2 / sites-enabled / 000-default, assim:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride FileInfo Options
Order allow,deny
allow from all
</Directory>
Este arquivo é apenas um link para o arquivo /etc/apache2/sites-available/default
e, no meu caso, este arquivo parece um pouco confuso:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride Options
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride Options
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Como sugerido, adicionei Options
à lista AllowOverried
(para cada tag <Directory> ... </Directory>
"que encontrei lá). Então eu ativei as mudanças e recarreguei o Apache com este conjunto de comandos:
a2ensite default
/etc/init.d/apache2 reload
Mesmo com essas mudanças, continuei tendo o mesmo problema e realmente não sei o que está errado. Alguém poderia me ajudar com isso?