martes, 14 de abril de 2015

Reemplazar contenido en archivos de forma recursiva en Linux

El comandos sed combinado con expresiones regulares se convierte en un recurso poderoso cuando se tienen que realizar cambios en cantidad de archivos. Por ejemplo, para cambiar las lineas que contienen




En realidad el comando que hace el cambio es:



En la busqueda de los patrones de caracteres se requiere hacer uso de las expresiones regulares (ER). Las expresiones regulares son un grupo de caracteres y reglas que sirven para filtrar patrones de letras, números, símbolos y condiciones como por ejemplo al principio de la línea o al fina, un caracter o varios, etc.

Los caracteres usados en ER son:

^ Corresponde al inicio de la línea
$ Corresponde al final de la línea
. Filtra un sólo caracter
* Filtra cero o más caracteres
[] Filtra todo el rango dentro de los []

Algunos ejemplos pueden ser:

/^$/         Filtra cualquier línea en blanco
/./            Filtra cualquier línea que tenga al menos 1 caracter
/../           Filtra cualquier línea que tenga al menos 2 caracter
/^A/        Filtra cualquier línea que comience con A
/?>$/ Filtra cualquier línea que termine con ‘?>’
/[abc]/ Filtra cualquier linea que contenga las letras ‘a’ ‘b’ o ‘c’ en minúsculas

jueves, 20 de noviembre de 2014

Problema al iniciar JavaDB desde NetBeans 7.3

Debido a que a partir del JDK 7u51 se mejoran aspectos relacionados con la seguridad, ya no es posible conectarse a JavaDB de forma directa, ahora se debe explicitar el permiso para la conexión de la siguiente forma:

1) Averiguar el directorio JDK que está ejecutando NetBenas con:

System.out.println(System.getProperty("java.home"));

En mi caso la salida es:

C:\Program Files\Java\jdk1.7.0_71\jre


2) Dentro de esa carpeta ubicar el archivo java.policy y abrirlo como administrador. La dirección completa es:

C:\Program Files\Java\jdk1.7.0_71\jre\lib\security\java.policy


3) Ubicar la sección donde estan los permisos y adicionar el permiso para habilitar la escucha del puerto 1527

grant {
    permission java.net.SocketPermission "localhost:1527", "listen";
    ,,,
};

martes, 21 de octubre de 2014

Instalación del framework Symfony

Para utilizar el framework Symfony es necesario previamente instalar el composer que puede ser descargado de https://getcomposer.org/

A tiempo de instalar composer, en ocasiones requiere que se habilite la extensión ssl, si así fuere para habilitarlo hay que modificar o adicionar en el archivo de configuración php.ini

  1. Abrir el archivo php.ini en xampp se encuentra en c:\xampp\php
  2. Buscar la linea que contiene "extension=php_openssl.dll" si existe eliminar el ";" en caso de que no exista adicionar esta linea.
  3. Grabar y reiniciar xampp
  4. Instalar el composer

Una vez instalado el composer ya es posible crear proyectos con el symfony. Para crear un proyecto es necesario usar la consola de comandos ir hasta la carpeta http y ejecutar el siguiente comando:

$ composer create-project symfony/framework-standard-edition directorio/ 2.3.*

Donde directorio es el nombre del proyecto.

Una vez creado el proyecto se puede realizar una verificación de cumplimiento de requisitos usando el comando:

$ php app\check.php

En caso de existir requisitos obligatorios con error realizar las acciones necesarias para corregir



Cambiar puerto Tomcat usando Netbeans 7.x

Para cambiar el puerto en Apache Tomcat desde NetBeans, se siguen los siguientes pasos:

1) Elegir Herramientas, luego Servidores
2) En la ventana ubicar la opción Puerto del servidor cambiar a otro número (por ejemplo 8084) y luego cerrar.

Cambiar puerto Glassfish usando Netbeans 7.x

En ocasiones se requiere cambiar el puerto 8080 que usa el servidor Glassfish por defecto. Para ello es necesario realizar cambios en su archivo de configuraciones domain.xml

Los pasos para realizar este cometido son los siguientes:

1) Elegir la opción prestaciones del menú principal
2) Seleccionar el servidor GlassFish, hacer click derecho y elegir propiedades
3) Ubicar la Carpeta de dominio, copiar el directorio y acceder a través del explorador de carpetas
4) Buscar el archivo domain.xml, abrirlo en un editor de texto, ubicar la linea que tiene port="8080"
5) Cambiar el número de puerto por otro (por ejemplo 8083) y guardar

sábado, 18 de octubre de 2014

Variable de entorno JAVA_HOME para IDE Eclipse

Para que el IDE Eclipse pueda funcionar correctamente es necesario añadir una variable de entorno especificando la dirección del JDK de Java y luego incluir esta ruta en el Path.

El procedimiento en Windows es el siguiente:

1) Ir a Mi Pc, pulsar boton derecho y elegir propiedades
2) Seleccionar Configuración avanzada del sistema
3) Pulsar en Variables de entorno
4) En variables del sistema añadir una variable denominada JAVA_HOME con el valor que indica el directorio donde se encuentra el JDK por ejemplo: C:\Program Files\Java\jdk1.7.0_71 luego pulsar en Aceptar
5) Editar la variable Path y adicionar al valor lo siguiente: %JAVA_HOME%\bin (cada ruta debe estar separada por ";")

martes, 27 de mayo de 2014

Actualizar PHP 5.3.10 as PHP 5.4 en Ubuntu Server 12.04

Algunas aplicaciones requieren que la versión de PHP sea mayor al que viene con el sistema operativo Ubuntu Server 12.04, para actualizar la versión se sugiere utilizar los siguientes comandos:

admin@ubuntu:~$sudo apt-get install python-software-properties

admin@ubuntu:~$sudo add-apt-repository ppa:ondrej/php5-oldstable

admin@ubuntu:~$sudo apt-get update

admin@ubuntu:~$sudo apt-get install php5


Actualizando el PHP

admin@ubuntu:~$sudo apt-get install php5-common php5-mysql php5-xmlrpc php5-cgi php5-curl php5-gd php5-cli php5-fpm php-apc php-pear php5-dev php5-imap php5-mcrypt

Verificando la versión actualizada:

admin@ubuntu:~$php -v


jueves, 27 de febrero de 2014

miércoles, 16 de octubre de 2013

Cambiar permisos de archivos y directorios previa búsqueda

El comando para realizar búsquedas en linux es find, este comando puede ser usado en combinación con otros para realizar cambios en los directorios o archivos que cumplen la condición de búsqueda.

Para cambiar los permisos de los directorios dentro de /home/web se puede usar.

find /home/web/ -type d -exec  chmod 755 {} \;

Para cambiar los permisos de los archivos dentro de /home/web se puede usar.

find /home/web/ ! -type d -exec  chmod 644 {} \;

Otro ejemplo, para cambiar los permisos de todas las carpetas denominas templates_c a 777

find . -name "templates_c" -exec  chmod 777 {} \;

viernes, 22 de marzo de 2013

Habilitar SSL en XAMPP


Para habilitar el protocolo SSL en XAMPP se debe realizar lo siguiente:

1) Copiar los libeay32.dll y ssleay32.dll que estan dentro de c:\xampp\php a la carpeta c:\xampp\apache\bin

2) En el archivo de c:\xampp\php\php.ini asegurarse que exista la linea

extension=php_openssl.dll

3) Reiniciar el servicio apache

viernes, 11 de enero de 2013

Habilitar XDEBUG en xampp

Para habilitar la extensión xdebug usado para la depuración de codigo PHP es necesario realizar algunos cambios en el archivo c:\xampp\php\php.ini, las lineas que se deben cambiar son:


zend_extension = “c:\xampp\php\ext\php_xdebug.dll”
xdebug.remote_enable = 1
xdebug.remote_handler = “dbgp”
xdebug.remote_host = “localhost”
xdebug.remote_port = 9000
xdebug.profiler_enable = 1

finalmente grabar y reiniciar el servidor apache



jueves, 10 de enero de 2013

Usar SCP para copiar archivos a través de un puerto

El comando scp de linux es muy util a la hora de copiar archivos entre servidores linux mediante consola, el formato para realizar las copias especificando un puerto es el siguiente:

$sudo scp  -P 45459 /home/pepe/index.html usuario@192.168.2.1:/var/www 

donde el puerto ssh es el 45459 y el archivo copiado es index.html al directorio remoto /var/www. Es importante aclarar que usuario debe tener permisos para copiar en el directorio remoto.


jueves, 13 de diciembre de 2012

Remover index.php en proyectos Codeigniter

Para remover el index.php de las URLs en proyectos con el framework Codeignter se sugieren diferentes configuraciones en el archivo .htaccess. Este archivo debe ser incluido en la raíz de la aplicación  y el contenido que mejor funciona es el siguiente:
Options FollowSymLinks
<IfModule mod_rewrite.c>
    RewriteEngine on
         
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
 
<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule>

miércoles, 15 de agosto de 2012

jueves, 24 de mayo de 2012

Habilitar el usuario root en Ubuntu

En algun caso se requiere habilitar la cuenta root para acceder a un servidor ubuntu, si este fuera el caso, es posible habilitar o desabilitar la cuenta root de la siguiente forma:


$ sudo passwd root

Proporcionar la contraseña requerida y ya tenemos la cuenta root habilitada.

Para la deshabilitar usamos

$ sudo passwd -l root

Apache: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

En Ubuntu me encontré con el siguiente mensaje:

servidor@ubuntu:~$ sudo /etc/init.d/apache2 reload
* Reloading web server config apache2                                                                                                                 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName


despues de buscar un poco, una solucion para este problema es edita el archivo httpd.conf e incluir la linea ServerName localhost, a continuación el código:

#servidor@ubuntu:~$ sudo vim /etc/apache2/httpd.conf

incluir la lineaServerName localhost
 
A continuación reiniciar el servicio con  

#servidor@ubuntu:~$ sudo /etc/init.d/apache2 reload

martes, 15 de mayo de 2012

Actualizar contraseña MD5 en MYSQL

En caso de haber perdido u olvidado una constraseña en algun CMS o blog cuya base de datos es mysql, es posible actualizar una nueva contraseña directamente en la base de datos usando el comando:

#update usuarios set password = mad5('clavesecreta') where username = 'admin';


miércoles, 2 de mayo de 2012

Repositorios Debian ETCH

La versión etch 4 de Debian funciona sin problemas, sin embargo a estas alturas me ha costado encontrar los repositorios para actualizar algunos paquetes requeridos por ciertas aplicaciones. Al respecto, encontré un espacio donde podemos recurrir a los repositorios de la version etch.

http://sosoriosv.blogspot.com/2010/09/debian-etch-repositorios-de-versiones.html

martes, 27 de marzo de 2012

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

Al intentar copiar archivos a otro servidor usando scp, me topé con el siguiente mensaje:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
6f:96:cb:a5:33:94:2d:0e:6d:75:92:d9:67:00:ba:a1.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:1
RSA host key for 192.168.0.107 has changed and you have requested strict checking.
Host key verification failed.

La solución es eliminar el host observado utilizando:

# ssh-keygen -R 192.168.0.107

/root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old