You are currently browsing the archives for the Desarrollo category


Mostrar el contenido nuevo de varios archivos

Hay veces que nos interesa ver las últimas entradas de un archivo de registros. Un ejemplo bastante habitual, cuando se hace un desarrollo web, es revisar los registros de error de Apache para depurar.

Para realizar esta tarea, en los sistemas GNU/Linux existe el comando “tail” que muestra las últimas lineas de uno o varios archivos. Con “tail -f“, además se consigue un seguimiento de los archivos, lo que se traduce en que cada vez que se escribe una linea nueva en los registros, esta se muestra en la salida del comando y hay que pulsar las teclas “Control + C” para terminar. Si además solo queremos ver lineas nuevas, nuestra combinación será “tail -n 0 -f” y para hacer el seguimiento de varios archivos, los añadiremos al final del comando.

Una forma más elegante de mostrar las lineas nuevas de varios archivos es combinar el comando “tail” con el comando “find” y “xargs” para búsqueda de archivos. Por ejemplo, si queremos mostrar todas las lineas nuevas de todos los registros de Apache 2, en Ubuntu lo indicaríamos de la siguiente forma:

sudo find /var/log/apache2/ -name "*.log" | xargs sudo tail -n 0 -f

VN:F [1.9.22_1171]
Rating: 4.0/5 (2 votes cast)

Activar la creación de miniaturas en WordPress

Desde WordPress 3.0 existe la opción para crear miniaturas de las imágenes de un artículo de forma automática.

Al añadir una imagen a la entrada, con la opción Tamaño, se crean, al seleccionar, alguna de las tres posibilidades (Miniatura, Medio y Grande) que se pueden configurar desde el Escritorio de WordPress, en Ajustes -> Multimedia.

Si todo funciona correctamente, y la imagen que queremos subir es más pequeña que alguno de los tres tamaños, ese tamaño, que no podría crearse como una miniatura, se desactiva.

Si la imagen es suficientemente grande y no podemos elegir ninguna de las 3 opciones, tenemos desactivada la opción para la creación de miniaturas y WordPress no lo indica.

El problema está en que para poder tener esta opción activada, tenemos que tener instalada la biblioteca GD para PHP.

Los pasos, en Ubuntu, son:

  1. Instalar la biblioteca GD: apt-get install php5-gd
  2. Reiniciar Apache: apache2ctl restart
  3. Reiniciar la sesión en WordPress.
VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)

Crear un certificado SSL autofirmado

Si queremos acceder a un sitio web con cierta seguridad en la transmisión de los datos, una de las opciones más sencillas es acceder a ese sitio web a través del protocolo HTTPS en vez del HTTP. Para tener esta opción disponible en un servidor personal, podemos optar por crear unos certificados autofirmados, sin necesidad de adquirirlos de una autoridad de certificación.

Pare crear los certificados podemos optar por usar el comando make-ssl-cert o realizar el proceso completo en cuatro pasos.

Con este segundo método, y como superusuario, tendremos que acceder a la carpeta donde guardar los archivos y desde ahí crear una clave privada, con una contraseña temporal, con algún programa especializado, como por ejemplo “OpenSSL“:

sudo sucd /etc/ssl/private/openssl genrsa -des3 -out miservidor.key 1024

Generating RSA private key, 1024 bit long modulus
......................++++++
...............................................++++++
e is 65537 (0x10001)
Enter pass phrase for miservidor.key:
Verifying - Enter pass phrase for miservidor.key:

Una vez creada la clave privada,  procederemos a eliminar la necesidad de usar la contraseña:

openssl rsa -in miservidor.key -out miservidor.key

Enter pass phrase for miservidor.key:
writing RSA key

El siguiente paso es crear un certificado de solicitud de firma (CSR) con algún periodo de validez (en el ejemplo, 10 años), donde indicaremos el sitio web para el que creamos el certificado en “Common Name (eg, YOUR name)” y una dirección de correo electrónico en “Email Address”:

openssl req -new -days 3650 -key miservidor.key -out miservidor.csr

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:ES
State or Province Name (full name) [Some-State]:Barcelona
Locality Name (eg, city) []:Badalona
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mi Servidor
Organizational Unit Name (eg, section) []:Blog de actualidad
Common Name (eg, YOUR name) []:miservidor.org
Email Address []:info@miservidor.org

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Para terminar, se crea un certificado digital X.509:

openssl x509 -in miservidor.csr -out miservidor.crt -req -signkey miservidor.key -days 3650

Signature ok
subject=/C=ES/ST=Barcelona/L=Badalona/O=Mi Servidor/OU=Blog de
actualidad/CN=miservidor.org/emailAddress=info@miservidor.org
Getting Private key

Para impedir la lectura de estos archivos a usuarios no autorizados, es una buena practica restringir los permisos de acceso de todos los archivos generados:

chmod 400 miservidor.*

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)

Dirección IP pública desde la consola

Cuando para alguna aplicación necesitamos conocer nuestra dirección IP pública, por ejemplo para configurar los DNSs dinámicos en el caso de equipos con dirección IP dinámica, nos vemos en la obligación de hacer la consulta a algún servicio como icanhazip.com. En los sistemas GNU/Linux disponemos de dos pequeñas aplicaciones para realizar esta tarea: “Wget” o “cURL“. La primera solución es un poca más compleja pero tiene la ventaja de venir instalada por defecto en muchos equipos. En ambos casos el resultado será nuestra IP pública.

wget -q -O - icanhazip.com

curl icanhazip.com

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)