1 TeraByte a menos de 100 dólares

Seagate 1TB en Amazon Es increible que en Amazon ofrezcan 1 TeraByte (equivalente a 1,000 GigaBytes = 1,000,000 MegaBytes, ojo que no estoy usando la base binaria) de almacenamiento por $99.99. Aún recuerdo que mi primer disco duro tenía una capacidad de 300 MB y andaba holgado para el Windows 3.1, WordPerfect, QPro, Warcraft I y Civilization.

Ya no hay excusas para hacer esos poco gratos backups periódicos a nuestros datos.

Redmine y GMail

Siguiendo mi post anterior, lo siguiente que hice fue configurar el Redmine (versión 0.8-stable) con una cuenta de correo de GMail (Google Apps para ser más exactos) y que los correos sean enviados desde esa cuenta.

El problema es que el servidor SMTP del Gmail utiliza TLS, por lo que es necesario instalar primero el plugin Action Mailer. Se puede hacer directamente desde la consola así:

script/plugin install http://svn.douglasfshearer.com/rails/plugins/action_mailer_optional_tls

Y luego se modifica el archivo config/email.yml (o crearlo a partir de config/email.yml.example) de la siguiente manera:

# Outgoing email settings
 
production:
  delivery_method: :smtp
  smtp_settings:
    address: "smtp.gmail.com"
    port: "587"
    domain: "dominio-en-google-apps.com"
    authentication: :login
    user_name: "usuario@dominio-en-google-apps.com"
    password: "contraseña"
    tls: true
 
development:
  delivery_method: :smtp
  smtp_settings:
    address: 127.0.0.1
    port: 25
    domain: example.net
    authentication: :login
    user_name: redmine@example.net
    password: redmine

Redmine y Subversion

Redmine es una aplicación web de administración de proyectos (principalmente de desarrollo) hecho en Ruby on Rails, un competidor fuerte para el veterano Trac. Lo más interesante con respecto a este último es que permite manejar más de un proyecto en una misma instancia (Trac se debe instalar y ejecutar como la cantidad de proyectos que queramos manejar).

Luego de instalarlo (usando mod_rails) y crear mi primer proyecto, configuré el repositorio (Subversion) para que apunte a una dirección como esta: https://servidor/repositorio. El problema vino cuando quise acceder a dicho repositorio desde Redmine, me devolvía un error (no recuerdo exactamente que decía). Luego de un rato de googlear, encontré que la causa probable era que debía aceptar el certificado de dicho servidor (por utilizar el protocolo https).

Resultó que la solución fue muy sencilla si se tiene acceso por SSH. Necesitaba ejecutar algún comando de Subversion (como svn list) desde el usuario que ejecute mi aplicación (por ejemplo, apache ó http) al repositorio para poder aceptar permanentemente el certificado. Todo esto, en una sola línea:

su - [USUARIO] -c 'svn list https://servidor/repositorio'

Usar una IP estática en Ubuntu Intrepid

Luego de repetidos intentos de colocarle una IP estática a mi máquina utilizando el NetworkManager que viene por defecto, ésta es reseteada y establecida por DHCP en cada reinicio (no quería meterle mano directamente al archivo /etc/network/interfaces). Según lo que encontré, esto es un bug del dichoso programa. Algunos sugiren desinstarlo, pero yo no buscaba una solución tan drástica. Afortunamente encontré un workaround. Aún no reinicio mi computadora para ver si realmente funciona, pero todo indica que sí.

Otra opción sería instalar Wicd, una alternativa al NetworkManager.

Caracteres ASCII en Ubuntu

Mientras escribía el post anterior, me ví en la necesidad de utilizar un caracter ASCII que no se encontraba en mi teclado, hablo de ~, que en Linux representa el directorio home del usuario actual. En Windows, podría haber utilizado el Alt + 164 para colocarlo, pero esto no funciona en Ubuntu (ni en otras distrbuciones de Linux).

Luego de buscar algunos minutos en Google, no encontre nada que me permita usar Alt + código para agregar caracteres especiales. Lo interesante que encontré fue que al presionar AltGr + 4, obtengo dicho caracter. Si utilizo AltGr con el resto de teclas del teclado, se consiguen muchos otros caracteres que nos pueden resultar útiles.

Convertir una clave PuTTY en una OpenSSH

Si sabes que es PuTTY y lo utilizas con alguna regularidad, es probable que en algún momento necesites convertir una de sus claves privadas al formato OpenSSH para utilizarla en linux. ¿A que me refiero? a hacer algo como:

ssh usuario@servidor

desde una consola de linux y entrar directamente al servidor, sin tener que estar recordando ni escribiendo la contraseña cada vez.

Vamos a necesitar la herramienta puttygen (que se encuentra dentro del paquete putty-tools) para hacer la conversión. Desde Ubuntu (o desde cualquier otra distribución basada en Debian), basta con:

sudo apt-get install putty-tools

Una vez que tenemos instalado dicha herramienta, creamos el directorio .ssh (donde guardaremos nuestra clave) en nuestro home, en caso no esté creado:

mkdir ~/.ssh

Luego, le cambiamos los permisos para que solo sea accesible por nuestro usuario:

chmod 700 ~/.ssh

Después, procedemos a realizar la conversión (puedes ver todas las opciones del comando puttygen aquí):

puttygen nombre-de-nuestra-clave-de-putty.ppk -O private-openssh -o ~/.ssh/id_rsa

Si nuestra clave de PuTTY tiene un passphrase, nos lo va a pedir.

Luego, nos aseguramos que los permisos de la clave recién creada sean los correctos:

chmod 600 ~/.ssh/id_rsa

Finalmente, solo bastará con colocar el passphrase una vez durante toda nuestra sesión y podremos conectarnos a los equipos que queramos sin necesidad de la contraseña.

PD, encontré que el procedimiento contrario (de una clave OpenSSH a una de PuTTY) está explicado acá.