Esta semana en el trabajo he tenido que realizar un proyecto de publicación de revistas para una importante empresa de Telefónia.
La parte de sistemas consistia en la instalación de un servidor Drupal con acceso a una bbdd (he utulizado mysql). Drupal es simplemente un gesto de contenidos, por lo que es una buena opción para la publicación de revistas.
Para la instalación he optado por la versión 7 de Drupal.
El primer inconveniente que he tenido es como acoplarlo a una plataforma existente, debido a los requisitos de sistema.
Para el caso de utilizar una bbdd mysql, los requisitos de Drupal 7.14 son:
- MySQL 5.0.15 o superior con PDO (PHP Data Object)
- PHP 5.2.5 o superior.
Por lo que la plataforma que he utilizado ha sido un frontal web con Windows y Apache. Y un servidor de backend Mysql.
El primer inconveniente que se puede encontrar uno es con php.
La versión de php que he utilizado es: php-5.2.17-Win32-VC6-x86.zip
En el fichero php.ini se encuentra una linea donde se indican las extensiones que cargará php al arrancar.
Por defecto la ruta de las extensiones viene indicada como
extension_dir = "./"
Sin embargo en windows esta ruta a veces no funciona correctamente (se puede ver configurando una pagina de info.php y viendo que sale en blanco).
La solución pasa por incluir la ruta absoluta.
extension_dir = "C:/php/ext/"
Para activar el PDO basta con descomentar las siguientes 2 lineas en el php.ini
extension=php_pdo.dll
extension=php_pdo_mysql.dll.
y reiniciar apache.
Es posible que no se establezca la conexión con mysql desde php. Para ello se puede resolver añadiendo el fichero c:/php/libmysql.dll a la carpeta de windows o añadiendo c:/php al path de la maquina.
Para la instalacion de Drupal, basta con bajar el software de drupal y descomprimirlo en la carpeta host del apache.
La version descargada ha sido: Acquia Drupal full install (.zip)
Acceder a la web
http://localhost/drupal/install.php
e indicar en el wizard los datos de nuestro mysql.
viernes, 6 de julio de 2012
martes, 29 de mayo de 2012
Instalacion Centos6 (64bits) + Pandora 4.0.1
Pandora FMS es una herramienta software de monitorización , similar a Nagios, que ayuda a detectar problemas antes de que ocurran, gestionando sus activos e intraestructura en servidores, comunicaciones y aplicaciones.
Como elementos interesantes y diferenciadores de Nagios de este producto son :
- Que es mas sencillo de implantar que Nagios
- Que es un producto español.
Como inconvenientes podemos destacar que no esta tan extendido como el anterior.
Para realizar una instalacion:
a) Se hará una instalación de Centos. Respecto a esto existen multitu de guias por internet.
b) Configuraremos yum para resolver automáticamente las dependencias.
c) Verificaremos que esta apache instalado y levantado y php.
d) Procederemos a descargar los paquetes de pandora de la web.
e) Procederemos a su instalación.
He intentado resolver estas dependencias, instalando el paquete:
# yum install net-snmp-perl
Pero esto no resuelve el problema. La solución viene por buscar el paquete: perl-SNMP-5.3.2.2-1.i386.rpm e instalarlo.
Aun queda por resolver la dependencia del paquete wmic.
Para ello es necesario descargar el fichero: wmic-4.0.0SVN-2.1.el5.centos.noarch.rpm
Sin embargo si se instala mediante: rpm -ivh wmic-4.0.0SVN-2.1.el5.centos.noarch.rpm
Nos dará errores de dependencias:
Para resolver esta dependencias, la manera de hacerlo es: yum install wmic-4.0.0SVN-2.1.el5.centos.noarch.rpm
Con esto se resuelven las dependencias.
Una vez instalado el paquete wmic, ya se puede instalar sin problemas el paquete de pandora: yum install pandorafms*
Como elementos interesantes y diferenciadores de Nagios de este producto son :
- Que es mas sencillo de implantar que Nagios
- Que es un producto español.
Como inconvenientes podemos destacar que no esta tan extendido como el anterior.
Para realizar una instalacion:
a) Se hará una instalación de Centos. Respecto a esto existen multitu de guias por internet.
b) Configuraremos yum para resolver automáticamente las dependencias.
c) Verificaremos que esta apache instalado y levantado y php.
d) Procederemos a descargar los paquetes de pandora de la web.
e) Procederemos a su instalación.
| [user@localhost]# rpm -ivh pandorafms_server-4.0-1.centos5.noarch.rpm pandorafms_console-4.0-1.centos5.noarch.rpm error: Failed dependencies: wmic is needed by pandorafms_server-4.0-1.noarch perl-SNMP is needed by pandorafms_server-4.0-1.noarch |
# yum install net-snmp-perl
Pero esto no resuelve el problema. La solución viene por buscar el paquete: perl-SNMP-5.3.2.2-1.i386.rpm e instalarlo.
Aun queda por resolver la dependencia del paquete wmic.
Para ello es necesario descargar el fichero: wmic-4.0.0SVN-2.1.el5.centos.noarch.rpm
Sin embargo si se instala mediante: rpm -ivh wmic-4.0.0SVN-2.1.el5.centos.noarch.rpm
Nos dará errores de dependencias:
| [user@localhost]# rpm -ivh wmic-4.0.0SVN-2.1.el5.centos.noarch.rpm
warning: wmic-4.0.0SVN-2.1.el5.centos.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 155987ef: NOKEY error: Failed dependencies: libc.so.6 is needed by wmic-4.0.0SVN-2.1.noarch libc.so.6(GLIBC_2.0) is needed by wmic-4.0.0SVN-2.1.noarch libc.so.6(GLIBC_2.1) is needed by wmic-4.0.0SVN-2.1.noarch libc.so.6(GLIBC_2.1.2) is needed by wmic-4.0.0SVN-2.1.noarch libc.so.6(GLIBC_2.1.3) is needed by wmic-4.0.0SVN-2.1.noarch libc.so.6(GLIBC_2.2) is needed by wmic-4.0.0SVN-2.1.noarch libc.so.6(GLIBC_2.2.3) is needed by wmic-4.0.0SVN-2.1.noarch libc.so.6(GLIBC_2.3) is needed by wmic-4.0.0SVN-2.1.noarch libc.so.6(GLIBC_2.3.2) is needed by wmic-4.0.0SVN-2.1.noarch libcrypt.so.1 is needed by wmic-4.0.0SVN-2.1.noarch libdl.so.2 is needed by wmic-4.0.0SVN-2.1.noarch libdl.so.2(GLIBC_2.0) is needed by wmic-4.0.0SVN-2.1.noarch libdl.so.2(GLIBC_2.1) is needed by wmic-4.0.0SVN-2.1.noarch libpam.so.0 is needed by wmic-4.0.0SVN-2.1.noarch libpam.so.0(LIBPAM_1.0) is needed by wmic-4.0.0SVN-2.1.noarch libpopt.so.0 is needed by wmic-4.0.0SVN-2.1.noarch libresolv.so.2 is needed by wmic-4.0.0SVN-2.1.noarch libresolv.so.2(GLIBC_2.2) is needed by wmic-4.0.0SVN-2.1.noarch libsasl2.so.2 is needed by wmic-4.0.0SVN-2.1.noarch |
Con esto se resuelven las dependencias.
| [user@localhost]# yum install wmic-4.0.0SVN-2.1.el5.centos.noarch.rpm Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile Setting up Install Process Examining wmic-4.0.0SVN-2.1.el5.centos.noarch.rpm: wmic-4.0.0SVN-2.1.noarch Marking wmic-4.0.0SVN-2.1.el5.centos.noarch.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package wmic.noarch 0:4.0.0SVN-2.1 will be installed --> Processing Dependency: libc.so.6 for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libc.so.6(GLIBC_2.0) for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libc.so.6(GLIBC_2.1) for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libc.so.6(GLIBC_2.1.2) for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libc.so.6(GLIBC_2.1.3) for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libc.so.6(GLIBC_2.2) for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libc.so.6(GLIBC_2.2.3) for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libc.so.6(GLIBC_2.3) for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libc.so.6(GLIBC_2.3.2) for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libcrypt.so.1 for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libdl.so.2 for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libdl.so.2(GLIBC_2.0) for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libdl.so.2(GLIBC_2.1) for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libpam.so.0 for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libpam.so.0(LIBPAM_1.0) for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libpopt.so.0 for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libresolv.so.2 for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libresolv.so.2(GLIBC_2.2) for package: wmic-4.0.0SVN-2.1.noarch --> Processing Dependency: libsasl2.so.2 for package: wmic-4.0.0SVN-2.1.noarch --> Running transaction check ---> Package cyrus-sasl-lib.i686 0:2.1.23-13.el6 will be installed --> Processing Dependency: libdb-4.7.so for package: cyrus-sasl-lib-2.1.23-13.el6.i686 ---> Package glibc.i686 0:2.12-1.47.el6 will be installed --> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.47.el6.i686 --> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.47.el6.i686 ---> Package pam.i686 0:1.1.1-10.el6 will be installed --> Processing Dependency: libcrack.so.2 for package: pam-1.1.1-10.el6.i686 --> Processing Dependency: libaudit.so.1 for package: pam-1.1.1-10.el6.i686 --> Processing Dependency: libselinux.so.1 for package: pam-1.1.1-10.el6.i686 ---> Package popt.i686 0:1.13-7.el6 will be installed --> Running transaction check ---> Package audit-libs.i686 0:2.1.3-3.el6 will be installed ---> Package cracklib.i686 0:2.8.16-4.el6 will be installed ---> Package db4.i686 0:4.7.25-16.el6 will be installed ---> Package libselinux.i686 0:2.0.94-5.2.el6 will be installed ---> Package nss-softokn-freebl.i686 0:3.12.9-11.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ========================================================================================================================= Package Arch Version Repository Size ========================================================================================================================= Installing: wmic noarch 4.0.0SVN-2.1 /wmic-4.0.0SVN-2.1.el5.centos.noarch 7.7 M Installing for dependencies: audit-libs i686 2.1.3-3.el6 base 59 k cracklib i686 2.8.16-4.el6 base 70 k cyrus-sasl-lib i686 2.1.23-13.el6 base 135 k db4 i686 4.7.25-16.el6 base 580 k glibc i686 2.12-1.47.el6 base 4.3 M libselinux i686 2.0.94-5.2.el6 base 107 k nss-softokn-freebl i686 3.12.9-11.el6 base 116 k pam i686 1.1.1-10.el6 base 656 k popt i686 1.13-7.el6 base 39 k Transaction Summary ========================================================================================================================= Install 10 Package(s) Total size: 14 M Total download size: 6.0 M Installed size: 25 M Is this ok [y/N]: y Downloading Packages: (1/9): audit-libs-2.1.3-3.el6.i686.rpm | 59 kB 00:00 (2/9): cracklib-2.8.16-4.el6.i686.rpm | 70 kB 00:00 (3/9): cyrus-sasl-lib-2.1.23-13.el6.i686.rpm | 135 kB 00:00 (4/9): db4-4.7.25-16.el6.i686.rpm | 580 kB 00:00 (5/9): glibc-2.12-1.47.el6.i686.rpm | 4.3 MB 00:00 (6/9): libselinux-2.0.94-5.2.el6.i686.rpm | 107 kB 00:00 (7/9): nss-softokn-freebl-3.12.9-11.el6.i686.rpm | 116 kB 00:00 (8/9): pam-1.1.1-10.el6.i686.rpm | 656 kB 00:00 (9/9): popt-1.13-7.el6.i686.rpm | 39 kB 00:00 ------------------------------------------------------------------------------------------------------------------------- Total 15 MB/s | 6.0 MB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : glibc-2.12-1.47.el6.i686 1/10 Installing : nss-softokn-freebl-3.12.9-11.el6.i686 2/10 Installing : db4-4.7.25-16.el6.i686 3/10 Installing : cyrus-sasl-lib-2.1.23-13.el6.i686 4/10 Installing : libselinux-2.0.94-5.2.el6.i686 5/10 Installing : audit-libs-2.1.3-3.el6.i686 6/10 Installing : cracklib-2.8.16-4.el6.i686 7/10 Installing : pam-1.1.1-10.el6.i686 8/10 Installing : popt-1.13-7.el6.i686 9/10 Installing : wmic-4.0.0SVN-2.1.noarch 10/10 Installed: wmic.noarch 0:4.0.0SVN-2.1 Dependency Installed: audit-libs.i686 0:2.1.3-3.el6 cracklib.i686 0:2.8.16-4.el6 cyrus-sasl-lib.i686 0:2.1.23-13.el6 db4.i686 0:4.7.25-16.el6 glibc.i686 0:2.12-1.47.el6 libselinux.i686 0:2.0.94-5.2.el6 nss-softokn-freebl.i686 0:3.12.9-11.el6 pam.i686 0:1.1.1-10.el6 popt.i686 0:1.13-7.el6 Complete! |
Una vez instalado el paquete wmic, ya se puede instalar sin problemas el paquete de pandora: yum install pandorafms*
miércoles, 16 de mayo de 2012
[Mysql] Consultas con fecha en Mysql
En esta entrada voy a comentar unas cuantas sentencias mysql relacionadas con fechas que me han sido utiles.
El formato de la fecha debe ser YYYY-MM-DD HH:MM:SS, aunque para obtener el año, mes o día solo es necesario YYYY-MM-DD
También existe MICROSECOND, SECOND, MINUTE, HOUR, MONTHNAME, etc.
Para esto usamos Date_format, DATE_FORMAT(fecha,formato); ejemplo:
Estos son algunos de los especificadores que tenemos disponibles para dar formato a una fecha, la lista completa pueden verla en los manuales de MySql:
DATE_ADD(fecha,INTERVAL valor tipo), DATE_SUB(fecha,INTERVAL valor tipo)
Estos son algunos de los argumentos que podemos usar, para una lista completa consulten los manuales de MySql
DATEDIFF(fecha_1,fecha_2) devuelve el número de días entre la fecha fecha_1 y la fecha_2
Obtener la fecha y hora en MySQL
Código :
select now(); # ejemplo: '2012-05-12 12:12:43'
Obtener solo día mes y año en MySQL
Código :
select CURDATE(); # ejemplo: '2012-05-12' #sin hora
Obtener hora actual en MySQL
Código :
select curTime(); #Selecciona la hora
Obtener día, mes, año, u hora de una fecha en MySQL
El formato de la fecha debe ser YYYY-MM-DD HH:MM:SS, aunque para obtener el año, mes o día solo es necesario YYYY-MM-DD
Código :
select YEAR(NOW()); #Selecciona el año select MONTH (NOW()) as mes; #Selecciona el mes select DAY(NOW()) as dia; #Selecciona el día select TIME(NOW()) as hora; #Selecciona la hora Select LAST_DAY(NOW()); # Selecciona el ultimo dia del mes
También existe MICROSECOND, SECOND, MINUTE, HOUR, MONTHNAME, etc.
Dar formato a una fecha en MySQL
Para esto usamos Date_format, DATE_FORMAT(fecha,formato); ejemplo:
Código :
select Date_format(now(),'%Y/%M/%d'); # '2012/March/12' select Date_format(now(),'%Y-%M-%d %h:%i:%s %p'); #'2012-March-12 12:34:29 AM' select Date_format(now(),'%W %d %M %Y'); # 'Tuesday 12 March 2010' select Date_format(now(),'El año actual es %Y'); # 'El año actual es 2012'
Estos son algunos de los especificadores que tenemos disponibles para dar formato a una fecha, la lista completa pueden verla en los manuales de MySql:
Código :
- %d #Día del mes numérico (00...31) - %H #Hora (00...23) - %h #Hora (01...12) - %i #Minutos, numérico (00...59) - %M #Nombre mes (January...December) - %m #Mes, numérico (00...12) - %p #AM o PM - %W #Nombre día semana (Sunday...Saturday) - %Y #Año, numérico, cuatro dígitos - %y #Año, numérico (dos dígitos) - %s #Segundos (00...59)
Sumar o restar días a una fecha con DATE_ADD o DATE_SUB en MySQL
DATE_ADD(fecha,INTERVAL valor tipo), DATE_SUB(fecha,INTERVAL valor tipo)
Sumar tiempo en MySQL
Código :
select DATE_ADD(NOW(),INTERVAL 20 DAY); # Agrega 20 días a la fecha actual select DATE_ADD(NOW(),INTERVAL 30 MINUTE); # Agrega 30 minutos a la fecha actual select DATE_ADD(NOW(),INTERVAL 50 YEAR); #Agrega 50 años a la fecha actual select DATE_ADD(NOW(),INTERVAL '10-5' YEAR_MONTH); #Agrega 10 años 5 meses a la fecha actual
Restar tiempo en MySQL
Código :
select DATE_SUB(NOW(),INTERVAL 8 YEAR); #Resta 8 años a la fecha actual select DATE_SUB(NOW(),INTERVAL 24 HOUR); #Resta 24 horas a la fecha actual select DATE_SUB(NOW(),INTERVAL '7-2' YEAR_MONTH); #Resta 7 años dos meses a la fecha actual
Estos son algunos de los argumentos que podemos usar, para una lista completa consulten los manuales de MySql
Código :
SECOND #Segundos MINUTE #Minutos HOUR #Horas DAY #Días MONTH #Meses YEAR #Años YEAR_MONTH #'Años-meses' DAY_HOUR #'Días Horas'
Restar dos fechas
DATEDIFF(fecha_1,fecha_2) devuelve el número de días entre la fecha fecha_1 y la fecha_2
Código :
SELECT DATEDIFF(NOW(),'2012-11-02'); #cuantos días han pasado SELECT DATEDIFF(NOW(),'2012-03-20'); #Cuantos días faltan
martes, 17 de abril de 2012
[Linux] Como buscar texto dentro de ficheros
En ciertos casos me he visto en la necesidad de buscar texto en ficheros de manera recursiva a partir de una carpeta:
La manera en la que lo suelo hacer es:
Donde:
find . -type f | xargs grep status
La manera en la que lo suelo hacer es:
| find ruta -type f | xargs grep cadena_a_buscar |
- ruta: es el directorio a partir del cual queremos buscar.
- cadena_a_buscar: Es el texto que quiero encontrar.
find . -type f | xargs grep status
Suscribirse a:
Entradas (Atom)