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
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
Hola,
Muchas gracias, muy claro y completo.
Saludos.
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.
Mil gracias por la información de tu repositorio era exactamente lo que buscaba..gracias de verdad me ahorraste horas de trabajo exhaustivo …
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
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.
¿Tienes acceso SSH al servidor?
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.
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