LAMP Mix: Versión de PHP compilada y mysql, apache instalado desde apt-get


Buenos días.

La semana pasada me pidieron que montara un un servidor web, un tanto peculiar y para realizar pruebas, no dieron prioridad a ninguna distribución y como sabía que con lo que más relación habían tenido era Debian pues opté por ella.
Aprovecho esto para expresar mi completo descontento con lo atrasado que se ha quedado, por muchas versiones que vayan sacando si no mejoran ... Sólo quería expresar mi descontento con mi "distro favorita", claro la comparo con Gentoo, donde sí es un poco más "compleja", pero tienes lo que necesitas y le puedes decir a emerge qué quieres.
Aunque desde mi punto de vista quizás no sea 100% culpa de Debian ese deterioro, si no que no haya un sistema de paquetes decente común para todos y dejar de empaquetar paquetes, cada uno como mejor le parece (conviene).

Dicho esto, también tengo que nombrar tres desarrolladores con los que hablé. Me dijeron que para Web Servers CentOS (no se conoce ninguno de los que me lo dijeron "creo"), pero dejando de lado eso, también tengo visto en otras empresas en las que CentOS está pegando fuerte, después de ver un poco podría entender y "aceptar" la recomendación ... ya que Certifican Servidores. Después de que la máquina y las pruebas que quieren hacer estén finalizadas, haré la misma instalación en una máquina virtual sobre CentOS y daré mi opinión.

Vamos al lío.



Bueno, pues querían la versión de PHP 5.4.6 con soporte de mysql y libxml 2.6.21

cd /usr/src/
wget http://xmlsoft.org/sources/old/libxml2-2.6.21.tar.gz
wget http://museum.php.net/php5/php-5.4.6.tar.bz2

Bueno una vez bajados instalamos las dependencias necesarias.

apt-get install libmysqlclient-dev libssl-dev libbz2-dev libcurl3-dev libjpeg-dev libpng-dev apache2  apache2-prefork-dev
tar xvf libxml2-2.6.21.tar.gz ; cd  libxml2-2.6.21 
'./configure' '--prefix=/usr/local/libxml2/' 
make 
make install

Bueno tenemos la libxml listo, ahora vamos con php


tar xvf php-5.4.6.tar.bz2 cd php-5.4.6
 './configure' '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-config-file-scan-dir=/usr/local/php/etc/conf.d' '--with-apxs2=/usr/bin/apxs2' '--with-mysql' '--with-config-file-path=/usr/local/lib' '--with-libdir=/usr/lib/x86_64-linux-gnu/'  '--with-bz2'  '--with-mysqli' enable-zip' '--with-readline' '--with-libxml-dir=/usr/local/libxml2/'


Con  ./configure --help pueden ver más opciones y seleccionar según necesidades. Ahora nos dispondremos a compilar las fuentes


make


Una vez finalizado, podemos hacer el 


make test


Y por último instalamos 


make install


comprobamos que funciona.


/usr/local/php/bin/php -v



Ahora con estos pasos lo añadimos al sistema. ;)

mkdir -p /usr/local/php/etc/conf.d
cp php.ini-production /usr/local/php/etc/php.ini
ln -s /usr/local/php/etc /etc/phpln -s /usr/local/php/bin/php /usr/bin/phpln -s /usr/local/php/bin/phpize /usr/bin/phpizeln -s /usr/local/php/bin/pecl /usr/bin/pecl
ln -s /usr/local/php/bin/pear /usr/bin/pear
ln -s /usr/local/php/etc/php.ini /usr/local/lib/php.ini
Sólo nos queda probar que se vea en apache.
cd /var/www/ 
mv index.html index
vim index.php 
phpinfo();
?>
service apache2 restart


y abrimos en el navegador http://localhost , veremos el phpinfo. Ok, también es interesante dejar el phpmyadmin no es de mi agrado, pero reconozco que es cómodo muy cómodo.

wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.2.9.1/phpMyAdmin-4.2.9.1-all-languages.zip?r=&ts=1412243057&use_mirror=garr