Ter php 5.3.2 + Openssl 1.0.1 + Ubuntu 16.04

Ter php 5.3.2 + Openssl 1.0.1 + Ubuntu 16.04

Como tive que atualizar para TLS1.2 tive que atualizar para OpenSSL 1.0.1 ou superior. Para fazer isso, tive que atualizar do Ubuntu 10.04 para o Ubuntu 16.04

Ubuntu 10.04 tinha

PHP     5.3.2 
MySQL   5.1.66 
Apache  2.2.14 
OpenSSL 0.9.8

Ubuntu 16.04 está tendo

PHP     7.0.18 
MySQL   5.7.18 
Apache  2.4.18 
OpenSSL 1.0.2

Como esperado, tenho OpenSSL 1.0.2 agora, mas o site não está funcionando agora porque a versão do PHP foi atualizada para 7.0.18. Agora eu tenho algumas perguntas

  1. Posso instalar o PHP 5.3.2 separadamente e executá-lo? Em caso afirmativo, isso usará o TLS 1.2?
  2. Ou se eu precisar remover o PHP 7 para instalar o PHP 5.3.2, o OpenSSL também será rebaixado?
  3. O MySQL está obsoleto por alguma versão do PHP (não sei qual versão do PHP/MySQL). Como minha versão do MySQL também foi atualizada, ainda posso acessar o MySQL a partir do PHP 5.3.2?

Eu sei que PHP 5.3 é EOL. Mas devo ter essa versão agora para rodar meu código, mas com TLS 1.2.

Brevemente dizendo, eu preciso

PHP 5.3.2 com acesso ao MySQL + TLS1.2(>openssl 1.0.1) + Ubuntu 16.04.

Como conseguir isso?

Responder1

Depende muito se você deseja usar apenas pacotes com suporte oficial.

Não há nada que impeça você de remover o pacote PHP 7 e compilar o PHP 5.3.2 você mesmo e vincular ao OpenSSL 1.0.2 se você tiver conhecimento de como fazer isso. Pode ser fácil ou difícil dependendo das alterações da API nas dependências. Provavelmente valeria a pena usar o 5.3.29, que eu entendo que deveria ser compatível com o seu código 5.3.2, mas tem mais algumas correções.

http://www.php.net/releases/#5.3.29

Eu verificaria se havia problemas de segurança que surgiram desde o lançamento, antes de colocá-lo no ar. Ele não é mais suportado pelo IIUC, então você estará sozinho para corrigi-lo.

Devido à falta de patches de segurança, eu também recomendaria atualizar a base de código para algo mais recente o mais rápido possível. PHP publica guias de migração (por exemplohttp://php.net/migration54) e você poderia seguir cada um deles até receber suporte novamente.

Não tenho conhecimento pessoal de nenhum pacote (oficial ou não) que permita evitar a necessidade de compilar você mesmo.

Responder2

PHP 5.3 atingiu EOL. Além disso, acho que não há repositório/distro mantido com suporte ativo 5.3.

Eu pensoa única boa apostaestá migrando seu código para uma versão PHP compatível ou pelo menos 5.4/5.5. Você pode encontrar os guias oficiais de migração do PHPaqui.

De qualquer forma,se você precisar de uma solução alternativa suja, você provavelmente terá duas opções principais:

  • Compile você mesmo
  • Use um terceiroppa,máquina virtualourecipiente

Se você quiser compilar você mesmo(com todo o incômodo que pode ser), vinculando-se ao OpenSSL mais recente e resolvendo os possíveis problemas que isso pode surgir, como @user133831 mencionado, você pode seguir as etapas emesta resposta.

Se você quiser evitar compilá-lo e quiser usar umppa, você pode tentar instalar usandoSergeyD um. Verifique as instruções do ppa para instalar os módulos PHP correspondentes.

Também vi contêineres Docker de terceiros específicos para PHP 5.3 baseados em versões mais antigas do Ubuntu, como 12.04 e 12.10(com versões mais antigas do OpenSSL também). No entanto, você pode tentar(e jogue fora depois disso)um contêiner docker para ver se funciona para o seu problema. Talvez você queira dar uma olhada nestes links:PHP 5.3 do zero Dockerfile,Imagem Docker do PHP 5.3

Não importa a opção que você escolher, sugiro fazer todas as coisas "sujas" dentro de uma VM ou contêiner lxc/lxd/docker(pelo menos no começo), para evitar bagunçar muito o sistema principal.

De qualquer forma, se você optar por ficar com o PHP 5.3, tenha em mente que provavelmente terminará com outros"efeitos colaterais", como problemas com a API MYSQL em versões mais recentes, bugs e incompatibilidades corrigidas em versões mais recentes e, claro,possíveis falhas de segurança.

Espero que ajude.

Responder3

Em 16.04, consegui forçar o downgrade do libssl-dev com este comando:

apt-get install libssl-dev=1.0.2*

Consegui compilar o php 5.3.29 com o phpbrew com o seguinte comando, após instalar vários pacotes lib*-dev:

phpbrew install 5.3.29 +everything -fpm +apxs2 -cli -cgi -phpdbg -dtrace -opcache -embed -gcov

Eu também tinha o ppa ondrej/php instalado, o que pode ter sido um fator, embora ele realmente deva fornecer o php 5.6.x, então não tenho certeza.

informação relacionada