Instalar las extensiones mcrypt y SSH2 de PHP en Ubuntu 13.10 Server

Durante la migración del servidor de producción me he encontrado con un par de problemas al instalar extensiones de PHP en Ubuntu 13.10. Bueno, en realidad no han sido un par, sino varios seguidos pero todos relacionados entre ellos. Gracias a esto, hoy podré crear dos entradas en mi blog para cualquier persona que pudiera encontrarse con los mismos problemas.

El título de ese post viene por los dos primeros problemas que me he encontrado. Por una parte necesitaba instalar la extensión mcrypt para que PHPMyAdmin funcionase perfectamente y por otra la extensión SSH2 para poder conectar  a otros servidores mediante SSH.

Tras buscar que packages eran los que tenía que instalar ejecuto:

sudo apt-get update
sudo apt-get install php5-mcrypt libssh2-php

mcrypt2

Pero tras comprobar si estas extensiones estaban activas con:

php -m | grep mcrypt
php -m | grep ssh2

me doy cuenta que no aparecen activas, por lo que pudiéndose tratar de algún error intento activarlas automáticamente con un:

sudo php5enmod mcrypt
sudo php5enmod ssh2

Y en ambos casos recibo respuesta de que no existen sus respectivos ini files bajo /etc/php5/mods-available/

WARNING: Module mcrypt ini file doesn't exist under /etc/php5/mods-available
WARNING: Module ssh2 ini file doesn't exist under /etc/php5/mods-available

Después de comprobar las rutas de instalación de los paquetes, finalmente me he dado cuenta que estos packages se comportan de una manera diferente a otros packages con mods de PHP. En vez de copiar los archivos ini a /etc/php5/mods-available, los copia en /etc/php5/conf.d.  Así que estaba claro que algo no funcionaba bien.

Tras buscar alguna info en “san Google”, finalmente la respuesta era tan fácil como mover los ini files a su carpeta correspondiente, activarlos y finalmente reiniciar Apache2:

sudo mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
sudo mv -i /etc/php5/conf.d/ssh2.ini /etc/php5/mods-available/
sudo php5enmod mcrypt
sudo php5enmod ssh2
sudo service apache2 restart

Después de esto volvéis a comprobar si las extensiones ya están activas en PHP con:

php -m | grep mcrypt
php -m | grep ssh2

Si te ha gustado y quieres compartir esta página..