Sou iniciante no Linux, tenho um servidor configurado e já instalado o postgresql, o apache2 e o php5. Preciso de orientações de como configurar o php e o apache para que rode minha aplicação. E estou na fase do: It works!
Agora só falta configurar o Apache para ele executar os scripts PHP.
Por favor alguém tem alguma idéia. Já lí algumas coisas na Net, mas o Débian Lenny que estou usando não tem a mesma estrutura de pastas e arquivos que eles falam.
Já segui estas configurações: (porém quando tento acessar a aplicação aparece a mensagem: "Forbidden You don't have permission to access /doc/ on this server." - Ela está dentro da pasta doc mas tem total acesso me disseram que é o usuário padrão do apache, onde configuro ele?)
Instalação PHP5
#apt-get install php5
Instalando modulo de conexão com mysql:
#apt-get install php5-mysql
Arquivo de configuração: /etc/php5/apache2/php.ini
Detalhes de configurações de sergurança:
-Primeiro, edite o php.ini especifique as opções:
Código:
disable_functions = "dl,phpinfo,shell_exec,passthru,exec,popen,system,
proc_get_status,proc_nice,proc_open,proc_terminate,proc_close"
Código:
allow_url_fopen = Off
Isso vai impedir que um include ou um open que tenham seus valores fornecidos por uma variável, façam includes remotos.
Código:
safe_mode = On
Isto impedirá que os scripts em PHP abram arquivos que não sejam do mesmo dono (UID) do script.
Código:
register_globals = Off
O "register globals" ligado diz para o PHP que qualquer variável passada como parâmetro deve ser reconhecida como uma variável válida dentro do código PHP. Isto facilita muito as coisas pois com isso não precisamos ficar associando o array $_REQUEST a variáveis internas, mas ao mesmo tempo é perigoso, pois permite a um atacante controlar variáveis internas que você não tenha corretamente incializado.
Código:
magic_quotes_gpc = On
Se você não tem conhecimento sobre como "sanitizar" variáveis antes de enviá-las para bancos de dados ou programas externos, uma boa opção é deixar o "magic quotes" ligado, pois ele dificulta bastante a manipulação de strings para, por exemplo, provocar um SQL Injection no seu acesso ao banco.
Código:
display_errors = Off
Ao invés de visualizar os erros de programação no browser, use o log do servidor. Esta opção impede que atacantes provoquem erros na sua aplicação para descobrirem paths da estrutura de arquivos.
Leia as demais opções do seu php.ini, especialmente se você estiver usando o PHP sob IIS/Windows. Existem coisas importantes lá, mas que nunca tive a oportunidade de usar.
mesmo assim valeu!