403 Erro Proibido depois de copiar um projeto no htdocs

0

Eu instalei com sucesso o xampp-linux-x64-1.8.3-4 no meu Ubuntu 14.04. O XAMPP está instalado em /opt/lampp . Recebo uma mensagem 403 Forbidden Error depois que copiei um projeto HTML na pasta htdocs .

O que eu fiz e tentei:

  1. copiei o projeto por gksudo nautilus /opt/lampp/htdocs
  2. Tentei alterar a propriedade do / opt / lampp / htdocs / para mim.
  3. eu mudei as permissões da pasta.
por sinaS. 26.04.2014 / 21:58

2 respostas

0

Sobre o erro

O erro 403 Proibido significa que o servidor web (daemon httpd) não pode acessar os documentos públicos (as páginas da web) que precisam ser exibidos.

Resultados possíveis do que você fez:

  1. Todas as ações em 1 executadas pelo usuário raiz resultam de todos os arquivos de propriedade do root, portanto, o daemon httpd não pode acessá-los.

  2. Agora você tem a propriedade de /opt/lampp/htdocs/ e isso tem os mesmos resultados que o número 1 acima.

  3. Você não mencionou como as permissões são definidas agora, portanto, não está claro o que está acessível no momento.

Solução possível:

No meu servidor, eu hospedo todos os documentos públicos em /srv/www/ , mas a solução será a mesma.

Conceder a propriedade ao daemon httpd (Apache, Nginx, etc), ou seja:

sudo chown -R www-data:www-data /opt/lampp/htdocs/

Assumindo que o daemon httpd é denominado www-data e pertence ao grupo www-data , caso contrário, você terá que adaptá-lo adequadamente.

Em geral, ao definir um servidor da Web, você deseja que o usuário do servidor seja o proprietário do que será exibido. Nota isto não é o caso de linguagens como Python, onde dizem que um projeto baseado no Django não deve estar dentro do diretório público.

    
por Stef K 26.04.2014 / 22:21
0

Se você tiver definido suas permissões e criado seus arquivos de hosts virtuais, mas ainda assim obter o erro, olhe para a configuração do seu apache.

O arquivo de configuração do apache2 agora tem um modelo de segurança padrão que pode estar impedindo que seu diretório seja exibido. Eu hospedo o meu no meu diretório home que eu sempre tenho que adicionar a esta parte da configuração para o apache2.conf.

sudo vim /etc/apache2/apache2.conf

Na linha 146, você verá a seguinte seção.

# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
       Options Indexes FollowSymLinks
       AllowOverride None
       Require all granted
</Directory>

#<Directory /srv/>
#       Options Indexes FollowSymLinks
#       AllowOverride None
#       Require all granted
#</Directory>

Adicione seu diretório da Web personalizado a esta seção. Ajuste os outros parâmetros conforme necessário.

<Directory /home/my_custom_directory/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Nota: eu uso o drupal que precisa do AllowOveride All para o arquivo .htaccess funcionar. Você pode não precisar disso na sua configuração final.

    
por Mike B 23.07.2014 / 23:07