A forma mais simples de instalar o PHP é através dos pacotes já disponibilizados pelo Ubuntu.
Você poderá instalar via Synaptic ou com o apt na linha de comando. O problema é que por padrão (até esta data) o Ubuntu só disponibiliza a versão 5.3.2. Neste caso é preciso adicionar o repositório com a nova versão. Para isso faça o seguinte.
Instale o pacote python-software-properties caso ainda não tenha
sudo apt-get install python-software-properties
Adicione o repositório do php com o comando:
sudo add-apt-repository ppa:ondrej/php5
Atualize o repositório.
sudo apt-get update
Instale o php normalmente,
sudo apt-get install php5 libapache2-mod-php5
ou faça o upgrade dos pacotes.
sudo apt-get upgrade
Feito isso, se não retornou nenhum erro em nenhum comando você já deverá estar com o php 5.4 ou o mais recente. Para verificar digite o comando
php -v
Erro com OpenPGP
Teoricamente tudo deveria funcionar mas de alguma forma, a rede a qual minha máquina estava conectada estava bloqueando o download da chave e me retornava o erro:
gpg: chaveiro `/tmp/tmpOacZdt/secring.gpg' criado gpg: chaveiro `/tmp/tmpOacZdt/pubring.gpg' criado gpg: requisitando chave E5267A6C de servidor hkp - keyserver.ubuntu.com gpgkeys: HTTP fetch error 7: couldn't connect to host gpg: nenhum dado OpenPGP válido encontrado. gpg: Número total processado: 0 recv failed
Tentei também com o comando
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4F4EA0AAE5267A6C
Mas também deu erro
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv-keys 4F4EA0AAE5267A6C gpg: requisitando chave E5267A6C de servidor hkp - keyserver.ubuntu.com gpgkeys: HTTP fetch error 7: couldn't connect to host gpg: nenhum dado OpenPGP válido encontrado. gpg: Número total processado: 0
Tentei de várias formas, inclusive baixando manualmente a chave através de outro computador. Encontrei a chave em https://launchpad.net/~ondrej/+archive/php5
Segue abaixo o conteúdo caso queira tentar
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: SKS 1.1.4 Comment: Hostname: keyserver.ubuntu.com mI0ESX35nAEEALKDCUDVXvmW9n+T/+3G1DnTpoWh9/1xNaz/RrUH6fQKhHr568F8hfnZP/2C GYVYkW9hxP9LVW9IDvzcmnhgIwK+ddeaPZqh3T/FM4OTA7Q78HSvR81mJpf2iMLm/Zvh89Zs mP2sIgZuARiaHo8lxoTSLtmKXsM3FsJVlusyewHfABEBAAG0H0xhdW5jaHBhZCBQUEEgZm9y IE9uZMWZZWogU3Vyw72ItgQTAQIAIAUCSX35nAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheA AAoJEE9OoKrlJnpsQjYD/jW1NlIFAlT6EvF2xfVbkhERii9MapjaUsSso4XLCEmZdEGX54GQ 01svXnrivwnd/kmhKvyxCqiNLDY/dOaK8MK//bDI6mqdKmG8XbP2vsdsxhifNC+GH/OwaDPv n1TyYB653kwyruCGFjEnCreZTcRUu2oBQyolORDl+BmF4DjL =R5tk -----END PGP PUBLIC KEY BLOCK-----
Para adicionar a chave, abra o Synaptic e vá em Configurações – Repositórios – Autenticação, Importar Chave de Acesso e aponte para o arquivo que você criou.
Bom, adicionando a chave o problema ao fazer o apt-get update parou porém ao tentar instalar a versão nova o apt não a encontrava. Ou seja ficou na mesma então parti para o plano “B” e fui instalar o PHP na mão.
Instalando o PHP manualmente
Estou assumindo que você já tem o servidor apache instalado. caso não tenha faça a instalação dele primeiro.
Baixando o código fonte do PHP
Baixe o código fonte da última versão em http://www.php.net/downloads.php
Na época em que este post foi escrito a versão mais recente era a 5.5.7
Descompacte os arquivos, entre no diretório que foi criado e execute os comandos
cd php-5.5.7 ./configure make sudo make install
Você deverá ver na tela algo do tipo
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20121212/ Installing PHP CLI binary: /usr/local/bin/ Installing PHP CLI man page: /usr/local/php/man/man1/ Installing PHP CGI binary: /usr/local/bin/ Installing PHP CGI man page: /usr/local/php/man/man1/ Installing build environment: /usr/local/lib/php/build/ Installing header files: /usr/local/include/php/ Installing helper programs: /usr/local/bin/ program: phpize program: php-config Installing man pages: /usr/local/php/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /usr/local/lib/php/ [PEAR] Archive_Tar - installed: 1.3.11 [PEAR] Console_Getopt - installed: 1.3.1 warning: pear/PEAR requires package "pear/Structures_Graph" (recommended version 1.0.4) warning: pear/PEAR requires package "pear/XML_Util" (recommended version 1.2.1) [PEAR] PEAR - installed: 1.9.4 Wrote PEAR system config file at: /usr/local/etc/pear.conf You may want to add: /usr/local/lib/php to your php.ini include_path [PEAR] Structures_Graph- installed: 1.0.4 [PEAR] XML_Util - installed: 1.2.1 /opt/php/build/shtool install -c ext/phar/phar.phar /usr/local/bin ln -s -f /usr/local/bin/phar.phar /usr/local/bin/phar Installing PDO headers: /usr/local/include/php/ext/pdo/
Verifique se o PHP foi instalado
php -v
Após isso será preciso configurar o apache para reconhecer o php
Entre no diretório /etc/apache2/mods-enabled e crie os links simbólicos abaixo
sudo ln -s ../mods-available/php5.conf php5.conf sudo ln -s ../mods-available/php5.load php5.load
Reinicie o apache
sudo /etc/init.d/apache2 restart
Caso dê o erro abaixo
* Starting web server apache2 apache2: Syntax error on line 204 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load: Cannot load /usr/lib/apache2/modules/libphp5.so into server: /usr/lib/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory
instale a biblioteca
sudo apt-get install libapache2-mod-php5