Instalar PHP 5.4 o superior sobre Ubuntu 12.04 y derivados mediante PPA

Me encontré con el siguiente problema al desarrollar una aplicación web que necesita utilizar la API de Facebook para compartir información en dicha red social.

La última versión de la API de Facebook (Actualmente v4) requiere que contemos en nuestro servidor con PHP 5.4 o superior y dado que estoy utilizando Elementary OS Luna como distro que está basada en Ubuntu 12.04 solo posee versiones anteriores y no satisface estos requerimientos.

 

Manos a la obra…

Añadimos el repositorio PPA necesario para obtener la nueva versión de PHP

sudo add-apt-repository ppa:ondrej/php5

Actualizamos nuestra lista de paquetes

sudo apt-get update
Actualizamos el sistema
sudo apt-get upgrade
Instalamos o reinstalamos PHP
sudo apt-get install php5

Luego de todo lo anterior deberíamos poder hacer

php -v

Y obtener un mensaje similar a este

PHP 5.5.15-4+deb.sury.org~precise+1 (cli) (built: Aug 20 2014 09:42:43) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

Hasta el momento ya tenemos una versión reciente de PHP y con esa actualización es posible que se nos haya actualizado también el servidor web apache, si este es el caso debemos tener en cuenta que el directorio de publicación pasó de ser /var/www antiguamente a ser /var/www/html actualmente. Es decir que no funcionarán sus aplicaciones web a menos que las muevan al nuevo directorio o modifiquen su DocumentRoot del siguiente modo.

Editen el siguiente archivo /etc/apache2/sites-enabled/000-default.conf y dentro del mismo busquen la línea

DocumentRoot /va/www/html

y modifíquenla por esta otra

DocumentRoot /va/www

 

Ahora para aquellos que como yo utilizan PHPMyAdmin para administrar sus bases de datos debemos hacer lo siguiente…

sudo cp /etc/apache2/conf.d/phpmyadmin.conf /etc/apache2/conf-available/
sudo a2enconf phpmyadmin 
sudo service apache2 reload

 

Y ahora sí, finalmente hemos logrado sobrevivir al proceso y todo debería estar funcionando sin problemas :).

 

Si además queremos poder trabajar libremente con el directorio de publicación de nuestras aplicaciones web sin tener que utilizar los archivos de configuración de permisos de apache, deberemos dejar el contenido de nuestro archivo /etc/apache2/sites-available/000-default.conf del siguiente modo:

 

NameVirtualHost *
<VirtualHost *>

  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/
  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>
  <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    # This directive allows us to have apache2's default start page
    # in /apache2-default/, but still have / go to the right place
    #RedirectMatch ^/$ /apache2-default/
  </Directory>

  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog /var/log/apache2/error.log
  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog /var/log/apache2/access.log combined
  ServerSignature On

  Alias /doc/ "/usr/share/doc/"

  <Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
  </Directory>
</VirtualHost>
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s