Pesquise...

Últimos Posts

Arquivo de Posts

2018 - 2017 - 2016 - 2015 - 2014 - 2013 - 2012

Postagens Populares

Vem Comigo!

     
  •      
  •  
  •  
  •  
  •  
  •  
  •  
Tecnologia do Blogger.

Total de Acessos


Saudações,

Semana passada eu instalei um ISPConfig para um cliente e mesmo precisava do PHP 5.x.

O problema é que eu não quis abrir não do Debian 9, e o mesmo não tem mais suporte ao PHP 5.x.

Como já fiz em outros servidores, eu confesso que quase ia compilar tudo, mas, dou graças que encontrei o projeto chamado DEB.SURY.ORG.

Debian 9 com  PHP 5.6 e ISPConfig 3.1


O projeto DEB.SURY.ORG mantem vários pacotes para o Debian e o Ubuntu, mas, como mencionado no site, o pacote mais visto é o PHP.

Para adicionar o suporte ao PHP 5.6 basta segui o README.txt localizado em packages.sury.org/php.

Contudo, como trata-se de um servidor, eu opto por instalar o minimo de pacotes que estejam fora do repositório oficial. Não trata-se de desconfiança, mas, de deixar o sistema o mais homogêneo possível.

Sendo assim, para instalar somente o PHP 5.6 em seu servidor, comece instalando as dependências necessárias:


#apt install apt-transport-https lsb-release ca-certificates


Baixe a assinatura gpg do pacote e salve em /etc/apt/trusted.gpg.d/sury-php.gpg:


#wget -O /etc/apt/trusted.gpg.d/sury-php.gpg https://packages.sury.org/php/apt.gpg


Adicione o repositório correspondente ao seu Debian:


#sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/sury-php.list'


Recarregue as informações dos seus repositórios:


#apt update


Neste ponto já é possível instalar o PHP. No entanto, lembra do "mais homogêneo possível"? Pois bem! Note a saída do comando apt update; no final você vê algo como:

...
Hit:6 https://packages.sury.org/php stretch InRelease
Reading package lists... Done
Building dependency tree      
Reading state information... Done
39 packages can be upgraded. Run 'apt list --upgradable' to see them.

Isto mesmo, para mim existem 39 pacotes que podem ser atualizados, mas, estes não são dos repositórios do Debian!

Executando o comando apt-cache policy você observa o seguinte:

Package files:
...
 500 https://packages.sury.org/php stretch/main amd64 Packages
     release n=stretch,c=main,b=amd64
     origin packages.sury.org
...

Os pacotes SURY estão na mesma prioridade dos pacotes Debian; neste caso 500.

Para mudar isto, crie um aquivo em /etc/apt/preferences.d chamado sury-php:


#vim /etc/apt/preferences.d/sury-php


Dentro deste arquivo adicione o seguinte conteúdo:

Package: *
Pin: origin packages.sury.org
Pin-Priority: 50

# CASO QUEIRA ATULAIZAR O PHP5.6 JUNTO COM O RESTO
# DO SISTEMA DESCOMENTE AS LINHAS ABAIXO
#Package: php5.6*
#Pin: origin packages.sury.org
#Pin-Priority: 100

Salve o arquivo e execute um apt update:


#apt update
...
Hit:6 https://packages.sury.org/php stretch InRelease
Reading package lists... Done
Building dependency tree      
Reading state information... Done
All packages are up to date.


Agora você pode ver que não há mais atualizações disponíveis, e, checando a politica do apt, vemos a prioridade 50...


#apt-cache policy
Package files:
...
  50 https://packages.sury.org/php stretch/main amd64 Packages
     release n=stretch,c=main,b=amd64
     origin packages.sury.org
...


Pronto, agora podemos instalar somente o PHP 5.6. Para tal, execute:


#apt install php5.6 php5.6-bz2 php5.6-cgi php5.6-cli php5.6-common php5.6-curl php5.6-fpm php5.6-gd php5.6-imap php5.6-intl php5.6-json php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-opcache php5.6-pspell php5.6-readline php5.6-recode php5.6-soap php5.6-sqlite3 php5.6-tidy php5.6-xml php5.6-xmlrpc php5.6-xsl php5.6-zip


Foi? Ótimo!

Agora, no seu servidor Debian 9 com ISPConfig 3.1, vamos ativar o PHP 5.6.

Acesse o ISPConfig como administrador, clique em Sistema, depois na opção
Versões adicionais do php e no botão Adicionar nova versão do php.

Na tela que segue, na aba Nome, no campo Nome do php, digite PHP5.6, veja:


Na aba Configurações FastCGI, no campo Caminho do binário FastCGI digite /usr/bin/php-cgi5.6, e no campo Caminho do diretório do php.ini digite /etc/php/5.6/cgi; veja:


Na aba Configurações PHP-FPM, no campo Caminho do script de inicialização do PHP-FPM digite  /etc/init.d/php5.6-fpm, no campo Caminho do diretório do php.ini digite /etc/php/5.6/fpm, e no campo Caminho do diretório de faixas (pool) do PHP-FPM digite /etc/php/5.6/fpm/pool.d; veja:


Clique no botão Salvar.

Pronto, agora você pode disponibilizar o PHP 5.6 para seus clientes via FastCGI ou via PHP-FPM.


Paz a todos!


EPÍLOGO...


O projeto DEB.SURY.ORG foi uma "mão na roda" para mim. Primeiro pela necessidade do cliente, depois, pelo fato de que eu instalei o net2ftp; este não funciona com o PHP 7. Até tem um versão modificada na net para uso com o PHP7, mas, não é uma versão oficial.

Quando você tenta instalar o net2ftp com o PHP 7, você recebe um erro 500 do Apache. Mas agora que temos o PHP 5 no servidor, basta editar o arquivo de configuração fazendo com que o Apache passe a usar o PHP 5 no diretório do net2ftp; veja:

Configuração de teste do Apache

Informações do PHP

Sucesso!

0 comentários:

Postar um comentário