Instalar php 5.2.10 a través de YUM en CentOS

Una de las formas más cómodas de instalar servicios y aplicaciones en CentOS es a través del gestor de paquetes YUM. Esto tiene sus desventajas, porque muchas veces las versiones de las aplicaciones no son todo la actuales que necesitamos.

En el caso de php, en CentOS 5.4 sigue instalandose la rama 5.1 con los repositorios por defecto. Podríamos instalar la nueva versión con paquetes RPM precompilados o compilando a mano pero yo soy partidario de unificar todo con un mismo sistema para evitar problemas y simplificar el funcionamiento de el conjunto de aplicaciones. La idea del repositorio testing la encontré en un comentario de este artículo en inglés.

El repositorio que tiene esta versión actualizada de PHP es CentOS-5 Testing así que solamente tendremos que instalarlo. Para ello creamos el fichero correspondiente en la carpeta de repositorios:

# vim /etc/yum.repos.d/centos-test.repo

El contenido:

[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/5/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing

Ahora si hacemos un yum info de php veremos que podemos instalar la versión 5.2.10 (en este caso pone que ya está instalada porque yo ya lo hice):

# yum info php
Loaded plugins: fastestmirror, priorities
Determining fastest mirrors
 * addons: sunsite.rediris.es
 * base: sunsite.rediris.es
 * extras: sunsite.rediris.es
 * updates: sunsite.rediris.es
addons                                                   |  951 B     00:00
base                                                     | 2.1 kB     00:00
c5-testing                                                                                                                                                     | 1.9 kB     00:00
extras                                                                                                                                                         | 2.1 kB     00:00
updates                                                                                                                                                        | 1.9 kB     00:00
450 packages excluded due to repository priority protections
Installed Packages
Name       : php
Arch       : i386
Version    : 5.2.10
Release    : 1.el5.centos
Size       : 3.1 M
Repo       : installed
Summary    : The PHP HTML-embedded scripting language
URL        : http://www.php.net/
License    : PHP
Description: PHP is an HTML-embedded scripting language. PHP attempts to make it
           : easy for developers to write dynamically generated webpages. PHP also
           : offers built-in database integration for several commercial and
           : non-commercial database management systems, so writing a
           : database-enabled webpage with PHP is fairly simple. The most common
           : use of PHP coding is probably as a replacement for CGI scripts.
           :
           : The php package contains the module which adds support for the PHP
           : language to Apache HTTP Server.

Así que solo queda instalarlo:

# yum install php

Recomiendo una vez hecho esto activar las prioridades de repositorios para evitar que otros paquetes que no sean php se instalen a través de este repositorio. Vamos a dar preferencia al repositorio base de centos.

# yum install yum-priorities

Una vez instalado damos al repositorio de centos base prioridad 10 y al testing 20. Añadimos lo siguiente a cada uno de los apartados entre corchetes del fichero /etc/yum.repos.d/CentOS-Base.repo

 /etc/yum.repos.d/CentOS-Base.repo

Ejemplo:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=10

Y para el repositorio de Testing:

/etc/yum.repos.d/centos-test.repo
[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/5/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
priority=20

11 comentarios en “Instalar php 5.2.10 a través de YUM en CentOS

  1. Hola felicidades por la explicación, una duda. Yo tengo ya instalado php 5.1.6 ya instale el repositorio que tienen la version actualizada, pero ahora como lo actualizo?? ya que no me permite:

    con yum update php

  2. Necesito instalar la extensión para php-sql y he probado con:
    yum –enablerepo=c5-testing install php-pgsql

    Pero me da error.

    He comentado las líneas priority en los dos .repo he instalado sin problemas y he vuelto a comentar las líneas.

    Saludos.

  3. Mil gracias por la información de tu repositorio era exactamente lo que buscaba..gracias de verdad me ahorraste horas de trabajo exhaustivo …

  4. Hola, muchas gracias por el aporte.
    Pero me a surgido un inconveniente, y es que no tiene la extension php-interbase en 5.2.10 y me es indispensable..

    Si tuvieras alguna ayuda o alternativa , te lo agradeceria muchisimo mas.

    Saludos!

    • A mí también me pasó con una extensión, lo mejor es buscar el RPM de la extensión para la versión correspondiente de php e instalarlo así.

      Saludos

  5. Muhcas Gracias me fue de ayuda, pero y si el servidor es remoto y necesito subir el archivo «centos-test.repo» desde mi pc a un servidor dedicado espero me puedas ayudar gracias.

  6. Hola,

    Desde hace tiempo los paquetes de PHP han dejado de estar disponibles en el repositorio «testing» de CentOS, si alguien necesita una versión más actualizada de PHP a la que ofrece la distribución una alternativa es utilizar PowerStack. Se trata de un repositorio Yum para CentOS con las ultimas versiones del stack LAMP (ahora mismo: PHP 5.4.0, Apache 2.4.1 y MySQL 5.5.22) y otros +100 paquetes extras no disponibles en la distribución base: memcached, HAproxy, nginx, node.js, Varnish, etc.

    Es un proyecto libre -en el que colaboro- y todo el código está disponible en GitHub :)

    Saludos.

  7. Alguien que pueda ayudarme , tengo centos 5.6 y al instalar php-pgsql , aparece lo siguiente;
    root@hd-t302cl [/etc/yum.repos.d]# yum install php-pgsql
    Loaded plugins: fastestmirror, security
    Loading mirror speeds from cached hostfile
    * base: centos.mirror.iweb.ca
    * epel: epel.mirror.constant.com
    * extras: centos.mirror.iweb.ca
    * updates: centos.mirror.iweb.ca
    Setting up Install Process
    No package php-pgsql available.
    Error: Nothing to do

    COmo puedo configurar el repositorio para poder instalarlo

    Gracias

Comments are closed.