Saudações,
Eu estive pensando este dias sobre o post SURY PHP EOL, e fiquei com uma "pulga atrás da orelha".
Tive o seguinte pensamento: E se alguém ficou curioso sobre a instalação do PHP 7.4, no Debian 9, de forma compilada?
Pois bem, es aqui "um norte" para você. Mas, esteja avisado, eu não fiz um post no tradicional estilo Ctrl+C e Ctrl+V! 😉
DICA RÁPIDA: Compilar PHP 7.4 no Debian 9
No passado, quando eu precisava compilar, eu tentava replicar, na medida do possível, o sistema alvo em um hardware de teste. Por exemplo, se um servidor rodava um Red Hat Linux 7.2, eu baixava uma cópia do sistema e efetuava uma instalação padrão em um hardware de teste.
Hoje com o advento das maquinas virtuais o processo ficou ainda mais simples. Sim, eu recomendo você iniciar em um ambiente de teste e somente depois passar para o ambiente de produção! Aqui eu uso o virt-manager...
Para esta dica, eu baixei o Debian 9 (Stretch) em debian.org/releases/stretch/debian-installer, e com o sistema rodando na VM, eu instalei com o apt-get alguns pacotes que são essenciais para a compilação do PHP...
# apt-get install build-essential libbz2-dev libc-client2007e libc-client2007e-dev libcurl4-openssl-dev libfcgi0ldbl libfcgi-dev libfreetype6-dev libjpeg62-turbo-dev libjpeg-dev libkrb5-dev libmcrypt-dev libpng-dev libpq-dev libssl-dev libxml2-dev libxslt1-dev
Esta é uma compilação básica. Aplicativos com o WordPress irá "reclamar" de um ou dois itens obrigatórios. Mas, nada que um pouco de trabalho não resolva! 😉
Acessei o php.net/releases e baixei o arquivo php-7.4.33.tar.gz no diretório /usr/src, e, para extrair o arquivo, usei o comando tar -xzf php-7.4.33.tar.gz. Depois acessei o diretório extraído com o comando cd php-7.4.33...
Passo 1 - ./configure
Dentro do diretório do código fonte do PHP execute um ./configure seguido das opções que você deseja. Onde --prefix=/opt/php-7.4.x será o diretório de instalação do PHP....
Se você deseja ter suporte IMAP no PHP, um passo extra será necessário; ou você incorrerá em um erro. Mas isto eu vou deixar como lição de casa para você. Não tenha medo, você consegue!
O ./configure checa bibliotecas, dependências, ferramentas necessárias, etc; ele prepara o terreno. Com um ./configure --help você lista todas as opções possíveis.
Se ao executar o ./configure você se deparar com alguns avisos de pacotes, não se preocupe. Pesquise o pacote em questão com um apt-cache search; veja o exemplo I e II...
Exemplo I
AVISO
...
configure: error: Package requirements (sqlite3 > 3.7.4) were not met:
No package 'sqlite3' found
...
PESQUISE COM
# apt-cache search sqlite3 | egrep "dev"
...
libsqlite3-dev - SQLite 3 development files
...
INSTALE A DEPENDÊNCIA
# apt install libsqlite3-dev
Exemplo II
AVISO
...
configure: error: Package requirements (oniguruma) were not met:
No package 'oniguruma' found
...
PESQUISE COM
# apt-cache search oniguruma | egrep "dev"
...
libonig-dev - regular expressions library — development files
...
INSTALE A DEPENDÊNCIA
# apt install libonig-dev
Notou o padrão? Bem simples, não é mesmo? ^_^
Ok, agora eu acredito que você já resolveu todas as dependências, e executou com sucesso o ./configure.
Passo 2 - make
Aqui não há muito o que falar. Execute o make e aguarde! Dependendo dos recursos de processamento disponíveis, isto pode demorar um pouco.
Uma vez que o make foi executado com sucesso, vamos ao ultimo passo; a instalação.
Passo 3 - make install
Instale o PHP com o comando make install. Aqui tudo correu bem e, no final do processo, eu obtive a seguinte saída...
Agora com o PHP instalado você pode verificar a instalação executando /opt/php-7.4.x/bin/php --version...
Se você chegou até aqui, eu lhe dou os meus parabéns. Pois, como você deve ter percebido, eu "ocultei" algumas informações; e isto foi proposital. Eu quero que você leia, pesquise, entenda, erre se preciso, e no final aprenda.
Ficou curioso? Cliquei nos links abaixo e saiba mais!
thoughtbot.com/blog/the-magic-behind-configure-make-make-install
php.watch/articles/compile-php-ubuntu
linuxfromscratch.org/blfs/view/svn/general/php.html
php.net/manual/en/install.unix.debian.php#122244
Paz a todos!
Bonus: Debian 9 com ISPConfig e PHP 7.4.33
Se você usar o tutorial howtoforge.com/tutorial/how-to-install-php-7-on-debian como base, é possível ter o PHP 100% funcional com o ISPConfig.
Como eu uso este painel de controle de hospedagem a um bom tempo, eu efetuei uns testes e tudo saiu como o esperado.
Eu pessoalmente fiz algumas personalizações como...
LOCAL DO ARQUIVO PID
# vim /opt/php-7.4.x/etc/php-fpm.conf
...
pid = /run/php/php-7.4.x-fpm.pid
...
USAR SOCK NO LUGAR DE PORTA E DEFINIR O DONO/GRUPO EXPLICITAMENTE
# vim /opt/php-7.4.x/etc/php-fpm.d/www.conf
...
listen = /run/php/php-7.4.x-fpm.sock
...
listen.owner = www-data
listen.group = www-data
...
Dá uma olhada como ficou o ambiente de teste...
Sim sim, você não viu errado, também compilei o PHP 8.0.26 e o 8.2.0. Sendo que este ultimo, o PHP 8.2.0, foi compilado depois da compilação e instalação do OpenSSL 3.0.7; uma versão da série LTS.
Por isto que na página de informações você ver um --with-openssl=/opt/openssl-3.0.x e um PKG_CONFIG_PATH=/opt/openssl-3.0.x/lib64/pkgconfig no campo Configure Command...
0 comentários:
Postar um comentário