PHP 5.3.8 en Etch con Plesk 8.2

Tú ya sabes de seguro que WordPress desde su version 3.2 rompió completamente con las versiones de PHP menores a 5.2.4, y esto a aquellos que tienen compañías de hosting ha traído algunos retos especialmente dado a que algunos software propietarios de control panels para hosting, caso específico de Plesk tienen un sistema de licencias ilimitado que está amarrado a la versión. Cuando pagas miles de dólares por un software no esperas estar pagando otra vez miles de dólares cada 2 años, así que la infraestructura usualmente se mantiene bastante tiempo y este tipo de cambios disruptivos de la compatibilidad con versiones anteriores suele ser un problema para los sysadmin. En este post les contaré como enfrenté y resolví el problema en caso les sirva a otros que estén en igual situación.

En el caso particular en que me encontraba era con un Plesk 8.2.1 instalado en Etch (Debian 4.0) que alojaba varios websites que requerían una actualización de WordPress que mostraban el mensaje de la necesaria actualización a PHP 5.2.4. En la base de conocimiento de Parallels encontré como actualizar el PHP 4.4.4-8+etch6 que tiene por defecto dicha version a un más nuevo PHP 5.2.0-8+etch16, sin embargo aún no era suficiente y lo único que quedaba era instalar manualmente la version de PHP que necesitaba, pero dado que la 5.2.4 está también un poco antiguo y dado que igual es instalar esa que la más nueva, pues decidí ir por la estable más reciente 5.3.8.

Un problema inicial es que si algún paquete no lo tenías instalado en tu Etch debido a que es una versión abandonada en Debian, los repositorios oficiales no contendrán los paquetes de dicha distribución, así que para resolver este problema debes de cambiar tus repositiorios a estos:

#
#  /etc/apt/sources.list
#

#
# etch
#
deb     http://archive.debian.org/debian     etch main contrib non-free
deb-src http://archive.debian.org/debian     etch main contrib non-free

#
#  Security updates
#
deb     http://archive.debian.org/debian-security etch/updates  main contrib non-free
deb-src http://archive.debian.org/debian-security etch/updates  main contrib non-free

#
# Plesk repository
#
deb http://autoinstall.plesk.com/debian/PSA_8.2.1 etch all

Importante es que luego de que hayas editado tu archivo de sources (/etc/apt/sources.list) ejecutes un: apt-get update

Ahora, antes de compilar desde las fuentes debemos de instalar estos paquetes que son necesarios, recuerda hacerlo como root:

apt-get install build-essential
apt-get install re2c
apt-get install apache2-prefork-dev
apt-get install libmysql++-dev libmysqlclient15-dev
apt-get install libcurl3-dbg libcurl3-dev libcurl3-openssl-dev
apt-get install libgd2-xpm-dev
apt-get install libcurl3-openssl-dev libssl-dev
apt-get install libc-client2002edebian libc-client-dev

Cuando todos los paquetes han sido instalados (se cuidadoso de que ninguno reporte errores), podemos proceder a instalar manualmente nuesto PHP 5.3.8 de la siguiente manera, como usuario root:

cd /usr/src

wget http://www.php.net/get/php-5.3.8.tar.gz/from/us2.php.net/mirror

tar -zxvf php-5.3.8.tar.gz

cd php-5.3.8

./configure –with-apxs2=/usr/bin/apxs2 –with-mysql –with-curl –with-gd –with-openssl –with-imap –with-jpeg-dir –with-png-dir –with-xpm-dir –with-imap-ssl –with-kerberos –with-zlib

make

make install

/etc/init.d/apache2 restart

Luego de eso tenemos nuestro PHP actualizado en el veterano Plesk 8.2.1 corriendo sobre Etch. Lo único realmente complicado en llegar a encontrar todas las dependencias necesarias, pero como esto ya lo he hecho aquí, si se sigue este tutorial paso a paso debemos tener actualizado nuestro PHP en pocos minutos. Espero que este mini-howto les haya ayudado y que me sirva también a mi en el futuro si necesito hacerlo otra vez.

UPDATE: Un usuario me reportó que no podía accesar al webmail y encontré la solución a dicho problema en los Forums de Plesk. No llega a ser una solución completa, es más un arreglo rápido que consiste en editar el archivo "/etc/apache2/conf.d/zz010_psa_httpd.conf" y reemplazar todos las ocurrencias del string:

php_admin_value include_path "/usr/share/psa-horde:/usr/share/psa-horde/pear:."

por el string:

php_admin_value include_path "/usr/share/psa-horde/lib:/usr/share/psa-horde:/usr/share/psa-horde/pear:."

Posteriormente reiniciar el apache: /etc/init.d/apache2 restart

3 comentarios en «PHP 5.3.8 en Etch con Plesk 8.2»

  1. Bueno Alexis, difícil contestar esa pregunta. Hace 10 años era claro que APT era muchísimo mejor que la herramienta rpm de las distros basadas en RedHat, básicamente porque el equivalente de rpm en Debian sería dpkg. Pero con el tiempo RedHat ha introducido yum que ha reducido las distancias.

    Hay gente en los dos lados del camino, unos prefieren las distros basadas en RPM y otros en DEB. En ambos casos son formatos de empaquetar binarios o fuentes para permitir una instalación/actualización fácil, rápida y consistente de programas. Pero mientras es una buena alternativa cuando necesitas administrar cientos o miles de servidores, tiene sus limitaciones y si lo tuyo es la investigación o el desarrollo de drivers tal vez prefieres instalar desde fuentes y probablemente seas un fan a muerte de Gentoo.

    La pregunta de si es mejor Debian o RedHat es similar a la pregunta de si es mejor vi o emacs, gnome o kde, perl o python, qmail o postfix, etc. Como dice el refran: para aquel cuya única herramienta es un martillo, todo problema se parece a un clavo. Lo importante es tener una visión amplia de las herramientas disponibles y elegir la mejor para el trabajo. En mi caso personal debido a que estoy en la industria de los ISP, Debian me parece una mucho mejor alternativa que RedHat (o sus derivados). Si estuviera en la industria financiera, tal vez usaría RedHat, debido al soporte que recibe de parte de las casas de software que producen para dicho sector.

  2. Hola Volkan, hace mucho no veo un blog como el tuyo, y me mató la frase del martillo. Te dejo la dirección de mi blog por si quieres hecarle un ojo, y olvidate que te robé la frase.

    Saludos desde Corrientes Argentina.

    MN

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.