viernes, 26 de junio de 2015

Instalación de PHP (RHEL like)

En esta segunda entrada voy a compartir mi experiencia al instalar PHP en un servidor con SO RHEL like (RHEL, CentOS, Fedora).

Resulta que estando en mi casa trabajando en mi home server realizando la instalación de Owncloud (software para crear una nube privada), precisaba instalar PHP arriba del httpd que tenía como webserver.
Al estar sin apuro y en el afán de investigar un poco intenté instalar PHP desde su código fuente, pensando que era soplar y hacer botella.

Resulta que no fue tan así je, ya que se precisan especificar todos los módulos de PHP a levantar previamente .

Tengan en consideración que los módulos a instalar dependen de la necesidad de cada uno, esta configuración por ejemplo sirve para poder instalar Owncloud como mencionaba.

En principio lo que tuve que hacer fue bajarme los fuentes :

wget http://www.php.net/get/php-5.6.9.tar.bz2/from/this/mirror;
tar xf php-5.6.9.tar.bz2;
cd php-5.6.9/;

Luego instalar todas las herramientas y librerías de desarrollo necesarias:

dnf install gcc gcc-c++ ne2c bison httpd-devel libxml2-devel openssl-devel bzip2-devel curl-devel libpng-devel libjpeg-devel libXpm-devel freetype-devel t1lib-devel gmp-devel libicu-devel libmcrypt-devel postgresql-devel aspell-devel libtidy libtidy-devel readline-devel  libxslt-devel;

Luego preparar la instalación con configure e instalar desde el archivo makefile

./configure --with-libdir=lib64 --prefix=/usr/local --with-layout=PHP --with-pear --with-apxs2=/usr/sbin/apxs --enable-calendar --enable-bcmath --with-gmp --enable-exif --with-mcrypt --enable-ctype  --with-zlib --enable-fileinfo --with-bz2=/usr/bin/bzip2 --enable-zip --with-pgsql=/usr/pgsql-9.3 --with-pdo-pgsql --enable-ftp  --enable-mbstring --with-iconv --enable-intl --with-icu-dir=/usr --with-gettext --with-pspell --enable-sockets --with-openssl --with-curl  --with-gd --enable-gd-native-ttf --with-jpeg-dir=/usr/lib--with-png-dir=/usr/lib --with-zlib-dir=/usr/lib --with-xpm-dir=/usr --with-freetype-dir=/usr/lib --with-t1lib=/usr/lib --with-libxml-dir=/usr/lib --enable-soap --with-xmlrpc --with-xsl --with-tidy --with-readline --enable-pcntl --enable-sysvshm --enable-sysvmsg --enable-shmop;

make && make install;

Luego, se debe copiar el archivo template de configuración de php.ini y modificar a gusto de consumidor:

cp php.ini-dist /usr/local/lib/php.ini;

Por último y no menos importante, se reinicia el servicio httpd para que queden 

systemctl restart httpd;

Para verificar que haya quedado todo correcto se debe crear un script que ejecute la función phpinfo de PHP, ubicarlo en la carpeta contenedora de httpd, y abrir en un navegador web la URL http://URLDELSERV/info.php

echo "<?php phpinfo(); ?>" > info.php && mv info.php /var/www/html;

miércoles, 24 de junio de 2015

Érase una vez...

Porque todo debe tener un principio (y también un final), es que inicio este blog con el motivo de compartir un poco las actividades que desarrollo, mis vivencias en el universo DevOps , retroalimentarme con sus devoluciones y mechar de tanto en tanto con alguna entrada referida a mis hobbies je.