Recentemente falei sobre o lançamento do PHP 5.3.0 cheio de novas funções e correções e estou abrindo um servidor web (local) lá em casa, rodando no grande Ubuntu Jaunty (v9.04).
Procurei um pouco na Internet sobre essa instalação e descobri que o PHP 5.3.0 ainda não está totalmente disponível em pacotes prontos para instalação em unix.. Então vi que teria que fazer a instalação “na unha”… Procurei um pouco sobre e vim aqui mostrar pra vocês como fazer isso passo-a-passo.
Vou ensinar aqui a instalara todos os pacotes e bibliotecas “legais” de se ter em um servidor.. Nada de excesso, apenas o essencial.
1. Instale o Apache
O comando a baixo irá fazer o download do Apache 2 e de algumas ferramentas de desenvolvimento necessárias para uma boa integração com o PHP.
Digite isso no seu terminal:
aptitude install apache2 apache2-mpm-prefork apache2-prefork-dev apache2-utils apache2.2-common
2. Instale o MySQL e o PostgreSQL
Normalmente todo pacote de instalação do PHP já vem com o MySQL e o PostgreSQL, só que muita gente não usa o pgSQL… Você pode não instalar ele que não irá afetar em nada na instalação do PHP, mas eu recomendo deixá-lo instalado e depois dar uma olhadinha nele. ![]()
aptitude install postgresql-8.3 postgresql-client-8.3 postgresql-client-common postgresql-common postgresql-server-dev-8.3 aptitude install mysql-client mysql-client-5.0 mysql-common mysql-server mysql-server-5.0 mysql-server-core-5.0
3. Instale todas as bibliotecas necessárias
O PHP em si é bem fácil de instalar, configurar e usar… Mas se você quer usar e abusar de todo o poder que ele pode te proporcionar você precisa instalar também algumas bibliotecas que vão te ajudar… Você pode acabar precisando de mais ou menos bibliotecas, depende do seu trabalho.
aptitude install libtidy-dev curl libcurl4-openssl-dev libcurl3 libcurl3-gnutls zlib1g zlib1g-dev libxslt1-dev libzip-dev libzip1 libxml2 libsnmp-base libsnmp15 libxml2-dev libsnmp-dev libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev zlib1g zlib1g-dev libfreetype6 libfreetype6-dev libbz2-dev libxpm4-dev libmcrypt-dev libmcrypt4
4. Baixe o código-fonte do PHP
Vá até o PHP.net e baixe o código fonte da versão 5.3.0 ou use esses comandos no seu terminal:
cd ~ wget http://us3.php.net/get/php-5.3.0.tar.gz/from/this/mirror tar xvfz php-5-3-0.tar.gz
5. Faça as configurações
Mude o seu diretório atual para o diretório onde você descompactou o código fonte do PHP e digite o seguinte (e enorme!) comando:
./configure -with-apxs2=/usr/bin/apxs2 -with-mysql=/usr -with-mysqli=/usr/bin/mysql_config -with-pgsql=/usr -with-tidy=/usr -with-curl=/usr/bin -with-curlwrappers -with-openssl-dir=/usr -with-zlib-dir=/usr -enable-mbstring -with-xpm-dir=/usr -with-pdo-pgsql=/usr -with-pdo-mysql=/usr -with-xsl=/usr -with-ldap -with-xmlrpc -with-iconv-dir=/usr -with-snmp=/usr -enable-exif -enable-calendar -with-bz2=/usr -with-mcrypt=/usr -with-gd -with-jpeg-dir=/usr -with-png-dir=/usr -with-zlib-dir=/usr -with-freetype-dir=/usr -enable-mbstring -enable-zip -with-pear
A tela ficará rolando várias e várias vezes até de mostrar uma mensagem de erro caso alguma biblioteca esteja faltando ou, caso tudo corra bem, você não precisa tentar novamente e pode pular para o próximo passo.
6. Instalação: Make e o Make Install
Para fazer o PHP funcionar você vai precisar compilar ele (usando o código-fonte que você baixou antes)… Uma vez compilado vai ser possível instalá-lo sem maiores problemas… Então vamos a compilação:
make
Mais uma vez, dezenas e dezenas de páginas de informações técnicas vão pular pela a sua tela.. Vai dar uma volta pois essa compilação demora…. muito. Quanto mais coisa (leia-se biblioteca) você compilar junto do seu PHP, mais vai demorar… Infelizmente o código-fonte do PHP é grande, complicado e avançado… Então simplesmente espere.
No final de tudo, caso o mundo não tenha acabado antes, você vai ver uma mensagem/alerta pedindo pra você rodar o “make test”, você pode rodar esse comando se quiser, mas ainda não é necessário para esse passo.
O passo final da instalação é um comando bem simples:
make -i install
A flag -i no comando serve para omitir um erro que o instalador irá apresentar… Isso acontece pois o Ubuntu usa um arquivo de configurações diferente para o Apache o PHP acaba se perdendo durante o processo de instalação pois não encontra esse arquivo.
7. Adicionando o módulo PHP ao Apache
O PHP precisa ser um módulo do seu servidor WEB para tudo correr bem… Normalmente você não precisaria fazer isso, mas devido ao motivo de uso da flag -i no passo anterior, nós precisamos fazer isso manualmente… Primeiro, mude o diretório:
cd /etc/apache2/mods-available
Agora crie um arquivo chamado php5.load e coloque isso dentro dele:
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
Salve o arquivo php5.load e crie outro arquivo, agora chamado php5.conf, com o seguinte conteúdo:
AddType application/x-httpd-php .php .phtml .php3 AddType application/x-httpd-php-source .phps
Pronto… Terminamos… Só precisamos habilitar o módulo PHP no Apache e reiniciar o servidor, usaremos esses dois comandos:
a2enmod php5 /etc/init.d/apache2 restart
8. Colocando a “bagaça” pra funcionar
Finalmente terminamos de instalar, compilar e configurar tudo… Agora só precisamos realmente testar se está tudo correndo bem… Primeiro vamos checar a versão do seu PHP:
php -v
Você deve receber uma saída parecida com essa:
PHP 5.3.0 (cli) (built: Jul 1 2009 18:53:06) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
Se você recebeu algo parecido… Parabéns, você acaba de entrar para um grupo seleto de pessoas que não se renderam aos pacotes de instalação prontos e fizeram tudo NA UNHA!
Um grande abraço para você, meu caro leitor… E um bom início de semana.
Você também vai gostar de ler:
- PHP 5.3 de fora no novo Ubuntu
- Criando um blog com PHP e MySQL – WordPress
- Instalando o PHPIDS no seu site
- Problemas de incompatibilidade no PHP 5.3
- Ambiente de Desenvolvimento para iniciantes
Postado em MySQL, PHP, Tutoriais
Com as tags Apache, Código, Compilação, cURL, Desenvolvimento, Download, Funções, GD, HTML, Instalação, Lançamento, MySQL, MySQLi, PHP, PHP 5, PHP 5.3, PHP 5.3.0, PHPS, PNG, PostgreSQL, Servidor, source, SQL, Ubuntu, URL, Web, XML
Escrito por Thiago Belem
Gostou desse artigo?
Não se esqueça de assinar o RSS e divulgue-o para o mundo:

Bem legal, mas o problema que vejo, que ao compilar, o php não entra nas atualizações de seguranças e melhorias, existe alguma forma de fazer isto acontecer?
@Guilherme
Só há atualizações de pacote quando o pacote está disponível nos repositórios do OS… Quando compilamos as nossas próprias versões temos nós mesmos que cuidar da atualização. Não existe pacote do PHP 5.3.x pro Ubuntu ainda.
Amigão muito legal a explicação mas não consigo instlar o php após o ./configure ele não tem make nem make install nos pacotes , eu ubuntu 9.10, pode me ajudar com isso
desde já obrigado!
Cara, resolveu pra mim aqui.
Única diferença foi no pacote “libxpm4-dev”, que não existia. Mas instalei os 2 abaixo e consegui:
sudo aptitude install libxpm4 libxpm-dev
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION=”Ubuntu 9.04″
Abraços e obrigado!
@Thiago Rotondar: instalar na mãe ficou estranho ehhehhehe
@Thiago Belem: Bom artigo. Nada contra LAMPP. Mas o interessante é pelo menos saber como se instala manualmente.
Abraços
Parabéns pela iniciativa.
Achei muito parecido com o tutorial do Brandon Savage.
http://www.brandonsavage.net/installing-php-5-3-on-ubuntu/
Você se baseou nele?
Opa Thiago, parabéns ai pelos artigos principalmente os de PHP e MySQL, são todos de excelente qualidade.
Excelente matéria! #clap
Eu só não entendo porque – não digo você, Thiago – o pessoal que instala na mãe se achar “superior” aos resto do mundo. Tenho certeza que não é por que conseguiu decorar esses códigos, imensos – diga-se de passagem.
Mas é isso aí, muito bom!
Abraços.
Tenho instalado o Ubuntu Server 9.04 64 bits. Na etapa 3 tava o aptitude respondia que não conseguia encontrar “libxpm4-dev”. Fiz uma pesquisa na internet e descobri que no 64bits usa-se o “libxaw7-dev”.
Assim deu certo…
Esse processo é o mesmo para instalar o PHP 5.3.0 no Debian , acredito que sim.
Na boa, pra que fazer tudo na unha se tem como fazer automatico usando o LAMPP?
@Ronaldo
É a diferença básica de pensamento entre um programador e um codificador.