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