403 Proibido após alterar o diretório DocumentRoot Apache 2.4.6 [duplicate]

23

Então eu acabei de instalar uma máquina virtual com o Ubuntu 13.10. Eu queria jogar com o Apache 2.4.6 antes de atualizar meus servidores Ubuntu 12.04. Eu quero que meu document root esteja na minha pasta pessoal e então eu mudei no etc/apache2/sites-available/000-default.conf

Quando fiz isso, acabei de receber a mensagem proibida. Eu defino as novas permissões de pasta para 777, mas ainda assim são proibidas. Eu até coloquei um arquivo index.html no novo diretório que diz olá mundo mas nada ainda. Aqui está o meu arquivo 000-default.conf.

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com

ServerAdmin [email protected]
DocumentRoot /home/everett/webroot

<Directory /home/everett/webroot>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>


# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
    
por evaldez 01.02.2014 / 05:54

2 respostas

60

Eu tive exatamente o mesmo problema e resolvi assim:

Primeiro; Eu segui os passos como explicado nas Páginas do Guia do Servidor Ubuntu

  1. Vá para o terminal e copie a configuração do host virtual padrão para um novo ( sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mynewsite.conf )
  2. Edite esse novo arquivo ( sudo gedit /etc/apache2/sites-available/mynewsite.conf ) e altere o DocumentRoot para o seu próprio (salve e feche ..)
  3. Habilite este novo arquivo de configuração ( sudo a2ensite mynewsite.conf ) e dissable o arquivo padrão ( sudo a2dissite 000-default.conf )
  4. Edite o apache2.conf ( sudo gedit /etc/apache2/apache2.conf ) e altere a seção padrão para: <Directory [write_your_dir_here]> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> (salvar e fechar ..)
  5. Reinicie o Apache2 ( sudo service apache2 restart )

Se já funciona: ótimo!

Se não, então, você deve verificar se todos os <VirtualHost *:80> com base em nomes exigem um conjunto ServerName distinto, incluindo 000-default.conf , se existir. Você pode executar apachectl -S no terminal para ver uma lista rápida de tudo.

Se ainda assim não funcionar, você deve verificar se o seu diretório (e o caminho completo que leva a ele!) tem a leitura e execução corretas - permissões (r-x).

  1. Acesse sua raiz ( cd / ) e faça ls -l , onde você pode ver algo como drwxr-xr-x 14 root root 4096 mei 1 01:24 [your_directory] .
  2. Todos os diretórios que levam à pasta www devem ter as permissões "drwxr-xr-x", caso contrário, você pode alterá-lo usando sudo chmod -R a+rx [your_directory]

Se você ainda não conseguir fazê-lo funcionar, você deve verificar o log de erro do apache ( sudo gedit /var/log/apache2/error.log ) e cavar ainda mais ...

Boa sorte!

    
por user276513 01.05.2014 / 04:11
6

Prezado, gostaria de informar que você está alterando sua configuração padrão do apache.

Remova essa linha do seu arquivo 000-default.conf.

<Directory /home/everett/webroot>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Require all granted
</Directory>

Abra seu arquivo apache.conf (/etc/apache2/apache.conf) e descubra o diretório ou vá para a linha no. 172. onde você encontra "diretório / var / www /" Defina seu diretório "/ home / everett / webroot" aqui salve e reinicie seu apache e atualize sua página web.

    
por Abdul Kadir 01.02.2014 / 06:04