Pergunta

Eu estou usando MAMP apenas para o meu ambiente de desenvolvimento e não têm realmente entendido a estrutura da pasta de / var / www / project-name / em um servidor web. Eu estou querendo saber se você está destinado a apontar o servidor web para o htdocs pasta ou é suposto para apontar para a raiz da pasta de projeto?

A razão que eu peço é porque bibliotecas são destinadas a existir fora dos htdocs pasta para fins de segurança, mas como eles são apontados a partir do próprio aplicativo web? Certamente o aplicativo web pode pastas não fora acesso dos htdocs pasta se o servidor web está apontando para os htdocs pasta para o aplicativo web?

Foi útil?

Solução

Uma solução simples é ter uma estrutura de pastas assim:

/var/www/project-name/
    + webroot/
    + libraries/

Aponte seu DocumentRoot apache2 para o diretório webroot. Mantenha todas as bibliotecas que você não quer acessível a partir da web no diretório libraries. Em seu código PHP, use a diretiva de inclusão para acessar o código bibliotecas.

O truque é entender que php pode incluir qualquer arquivo em seu sistema que tem acesso de leitura a. Uma pessoa navegando em seu site só pode acessar arquivos dentro do seu diretório webroot.

Outras dicas

Se você tiver vários vhosts no mesmo servidor, é muito comum ter cada site em um diretório sob /var/www, e cada um deles tem uma pasta htdocs, que é montado como raiz web. Você pode então ter registros e bibliotecas específicas do aplicativo em uma pasta acima da raiz web. Por exemplo:.

/var/www/lolcats.com
/var/www/lolcats.com/htdocs
/var/www/lolcats.com/htdocs/index.php
/var/www/lolcats.com/lib
/var/www/lolcats.com/log

PHP pode acessar qualquer arquivo no sistema de arquivos para o qual o usuário do servidor Apache tem as permissões corretas. Em uma máquina Linux rodando Apache sem hosts virtuais, / var / www é um lugar comum para uso para o seu diretório htdocs.

Você coloca as bibliotecas em PHP include_path , que é inacessível para o usuário em geral.

É uma idéia googd para mapear seus sites locais em diretórios da mesma forma como seus domínios de trabalho.

Muitas vezes você tem vários sites em uma única conta de hospedagem web, então hosts virtuais configuração para espelhar a configuração.

Se a sua hospedagem compartilhada é:

/var/www/root
 /var/www/root/website1
 /var/www/root/website2
 /var/www/root/website3

Criar 3 anfitriões vitual em seu PC local, mas manter uma estrutura de arquivos idênticos.

Além disso, as condições de uso em seus arquivos de configuração para configurar o site deifferently dependendo da estrutura de arquivos do servidor, para garantir as mesmas obras arquivo de configuração em ambas as configurações. Isto significa que você manter o seu processo de construção de uma etapa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top