Esse tutorial está pronto para funcionar com quem usa o Dreamhost, mas deve funcionar com outros hosts com acesso ssh também, fazendo as devidas alterações, claro. Escrevi porque nem todos tem a chance de alterar facilmente as configurações de seu php diretamente de um .htaccess no diretório, ou apenas ponto um php.ini na raiz do site.
NOTA: Esse tutorial exige que você já tenha algum conhecimento prévio. Se quer saber como usa o PuTTy para estabelecer uma conecção com seu site, google isso, ou abra outro tópico. Agora, se está em dúvida no script propriamente dito, ou tem sugestões de melhora, sinta-se livre para escrever. Também esteja ciente que algo pode dar errado. Por isso, é bom usar em um site para testes até que saiba usá-lo.Antes de começarSubstitua [USUARIO] pelo seu nome de usuário, e [MEUSITE.COM.BR] pelo diretório aonde seu site está assim que faz o o FTP. Quando for dito seu diretório padrão de usuário, é isso que quer dizer mesmo, i.e., /home/[USUARIO]/1 Crie a pasta para conter o php.ini e php.cgiNa raiz de [MEUSITE.COM.BR], crie uma pasta chamada cgi-bin. Pelo PuTTY, digite:
Code:
mkdir ~/[MEUSITE.COM.BR]/cgi-bin/
2. Criar o script que baixa o php.ini e php.cgi de padrão do seu servidorIsso vai evitar que seu script permaneça desatualizado caso seu host faça upgrade no servidor. Use seu editor de texto simples preferido, com o seguinte código:
Code:
#!/bin/sh
##Adaptado por fititnt de http://wiki.dreamhost.com/index.php/PHP.ini
##Revisão 1
CGIFILE="$HOME/[MEUSITE.COM.BR]/cgi-bin/php.cgi"
INIFILE="$HOME/[MEUSITE.COM.BR]/cgi-bin/php.ini"
##Caso use um Host diferente da Dreamhost, deve adaptar a linha abaixo para o local aonde
##se encontra o php5.cgi
rsync -a /dh/cgi-system/php5.cgi "$CGIFILE"
## REMOVA A LINHA ABAIXO SE PRETENDE CRIAR APENAS UM SCRIPT DE ATUALIZACAO:
cp /etc/php5/cgi/php.ini "$INIFILE"
#Caso use um Host diferente da Dreamhost, talvez tenha que alterar a linha acima
perl -p -i -e '
## As duas primeiras linhas abaixo se referem ao tamanho do arquivo no 'upload' e 'download'.
#De menos que 10mb está setado a 25
s/.*post_max_size.*/post_max_size = 25M/;
s/.*upload_max_filesize.*/upload_max_filesize = 25M/;
##Aqui algumas diretivas que volta e meia estão não-conformes com o joomla
s/register_globals[ ]*=.*/register_globals = Off/;
s/magic_quotes_gpc[ ]*=.*/magic_quotes_gpc = On/;
s/safe_mode[ ]*=.*/safe_mode = Off/;
' "$INIFILE"
E salve esse arquivo como copia-php.sh e faça o upload para a raiz do seu diretório padrao de usuário.
Explicando melhor: Esse aquivo procura o php.ini do diretório padrão do host, altera algumas propriedades que são interessantes para rodar bem o joomla. Note que podem ser adicionadas mais propriedades a serem alteradas diretamente nesse aquivo, em vez de diretamente no php.ini, pois senão na atualização seguinte ele seria substituido3. Excecução do script criadoSeu arquivo pode estar com permissões de excecução não ideiais, por isso, no PuTTY, as altere ao digitar
Code:
chmod +x copia-php.sh
Depois disso, excecute seu script no PuTTY:
Code:
./copia-php.sh
Observação: Eventualmente usuários windows pode usar editores que carregam um certo lixo na quebra de linha, mas que não é exibido porque esses mesmo editores o escondem. Não obstante, scripts não gostam muito disso, e fazem com que dê alguns erros e seu script não rode. Se isso ocorrer, use o comando que converte esses arquivos para poderem ser interpretados, digitando no PuTTY:
Code:
dos2unix copia-php.sh
Lembre-se que ele não faz milagres: nem vou supor que alguém seria capaz de usar o word para esse script. Use o bloco de notas e olhe lá.
Note que então dois arquivos devem obrigatoriamente sigir dentro de [MEUSITE.COM.BR]/cgi-bin: php.ini e php.cgi. Caso contrário, você ou errou algo, ou o script não foi adaptado para rodar no seu host. Por isso você terá que mudar os diretórios padrões.
4. Alterando .htaccess para ler o seu php.iniAgora, informe ao ditetório onde seu site está instalado para que ele ignone o php.ini padrão e use o seu. Na raiz de [MEUSITE.COM.BR], adicione ao .htaccess existente [ caso não exista crie um ] o código:
Code:
Options +ExecCGI
AddHandler php-cgi .php
Action php-cgi /cgi-bin/php.cgi
NOTA: Nesse momento deu site deve parar de funncionar até que seja criado o php.ini no diretório indicado. Caso isso não ocorra, é porque sei site não está lendo os .htaccess, o que é um problemaEditado: caso seu site esteja em um subdiretório, lembre de alterar para Action php-cgi /
subdiretorio/cgi-bin/php.cgi
uma das linhas acima para evitar erros.5. Teste para ver as mudançasCrie um arquivo com o código
Code:
<?php phpinfo() ?>
e veja se realmente as alterações estão funcionando adequadamente. Se já tiver o joomla instalado, pode ver diretamente nele em [ADMINISTRAÇÂO] > Sistema > Informações do Sistema # PHP Info.
6. O script de atualizaçãoNesse caso, copie o script anterior e crie outro com um nome diferente, com o comando:
Code:
cp copia-php.sh atualiza-php.sh
Então edite o arquivo atualiza-php.sh copiado no seu servidor, e delete a linha "
cp /etc/php5/cgi/php.ini "$INIFILE""
7. Definindo o intervalo de atualizaçãoDigite o comando:
Code:
crontab -e
e adicionce a seguinte linha para que seu script seja atualizado semanalmente:
Code:
@weekly /home/[USUARIO]/atualiza-php.sh
8. Considerações finaisNesse script alterei apenas o Register Globals, Magic Quotes, Safe Mode, e o Tamanho de '
upload' e '
Download' de arquivos via web permitidos, algo útil para quem trabalha com sistemas de upload de arquivos e não gosta das limitações do servidor. Aceito sujestões para outras configurações para acrescentr ao script
[off] fititnt informa: ter muitas abas abertas no FF faz com que você feche alguma acidentalmente com tutoriais já no final, e por vezes esqueca do Ctrl +Shift+T. Não por acaso não tive tanta paciencia em redigitar novamente[/off]