Instalar NetBeans con soporte svn+ssh y theme de colores oscuros

octubre 9, 2010

De entre todos los IDEs que existen, mis favoritos para programar en php son Aptana y NetBeans. Hasta ahora siempre he usado Aptana, su edición directa por FTP y su sistema de sincronización lo hacía casi indispensable. Pero NetBeans tiene una ventaja bastante importante y determinante (al menos para mí): soporte para el framework Symfony (y Zend).

Voy a explicar como instalar NetBeans en Ubuntu y empezar un proyecto utilizando svn+ssh.

1) Descargar e instalar NetBeans.
Lo haremos desde su página web oficial: http://netbeans.org/ La última versión a la hora de escribir este post, es la 6.9.1.
Descargaremos la versión PHP. Podemos elegir el idioma del IDE, aunque recomiendo descargarlo en inglés. No es lo mismo hacer un «checkout» o «commit», que un «comprobar» o «subir cambios». Personalmente, me lío 😉

Una vez descargado el instalador, tenemos que darle permisos de ejecución. Pinchamos con el botón derecho / propiedades / permisos / permitir ejecutar el archivo como un programa. Cerramos y hacemos doble click en el archivo y seleccionamos Ejecutar. La instalación empezará en este momento.

2) Soporte svn+ssh
NetBeans ya tiene instalado el plugin de svn. Lo que vamos a hacer es importar un proyecto que tengamos en nuestro servidor de svn, conectándonos mediante svn+ssh. Para ello necesitamos primero crear un par de claves RSA para que podamos conectarnos mediante ssh al servidor svn sin necesidad de tener que introducir la contraseña cada vez.

En local, utilizamos el comando ssh-keygen:

ssh-keygen -t rsa

Nos da la opción de introducir una frase para cifrar la clave privada. Cifrar la clave privada nos dará más seguridad en caso de intento de robo de esta clave, pero en este caso no lo vamos a hacer ya que el objetivo es no tener que escribir la contraseña cada vez que nos queramos conectar al servidor (si ciframos la clave privada, habrá que introducir la frase para descifrarla).

Este comano nos crea dos archivos: id_rsa (clave privada) e id_rsa.pub (clave pública). Tenemos que copiar la clave pública al servidor svn.

Podemos copiar el archivo id_rsa.pub mediante ftp o utilizando el comando scp:

scp id_rsa.pub usuario@dominio:/home/usuario

Cuando tengamos la clave pública en el servidor, tenemos que añadirla al fichero authorized_keys que esta en el directorio .ssh de nuestra home. Si no existe el directorio, lo creamos:

mkdir $HOME/.ssh

Dentro de este directorio, tenemos que incluir la clave pública en el fichero authorized_keys:

cat id_rsa.pub >> authorized_keys

Después de esto, ya no necesitaremos introducir nuestra contraseña cada vez que queramos conectarnos al servidor (desde nuestro ordenador local, claro).

3) Importar proyecto svn
Ya estamos preparados para importar un proyecto svn a NetBeans utilizando svn+ssh.
En Netbeans, vamos al menú Team>Subversion>Checkout. Se nos abrirá una ventana en la que tenemos que introducir la URL del repositorio (Repository URL) y el túnel SSH (Tunnel Command).
En el primer campo escribimos la ruta a nuestro repositorio, por ejemplo:

svn+ssh://midominio.com/miproyecto

Y en Tunnel Command, introducimos:

ssh -q -l USUARIO -i /home/USUARIO/.ssh/id_rsa

Vemos como en el comando anterior hacemos uso del archivo de clave privada id_rsa, así no tendremos que escribir la contraseña cada vez.

La siguiente ventana esta dividida en dos partes. En la de arriba seleccionaremos la parte del repositorio que queremos importar (checkout). Por defecto nos descargaremos todo (podemos seleccionar la rama Trunk si la hubiera). En parte de abajo de la ventana, seleccionamos donde queremos descargar el proyecto en local.

En el siguiente paso nos preguntará si queremos crear un proyecto en local. Le decimos que sí. Creamos un PHP Application (la primera opción). Lo ideal es que el directorio del proyecto que estamos creando sea el mismo que el de sincronización con svn. Así, trabajamos y hacemos cambios en los archivos descargados de svn directamente, por lo que es más fácil después subir los cambios al servidor. Recomiendo separar los metadata del proyecto Netbeans a otra carpeta, para que no se añadan al proyecto y se suban la próxima vez al servidor svn (aunque se podría hacer un ignore).

Como vemos en la captura, el proyecto desde svn lo descargo en trunk, mientras que los metadata del proyecto (archivos de configuración de NetBeans) lo dejo en la carpeta MiProyecto:

netbeans

Y ya lo tendremos! Podemos activar la barra de svn para hacernos el trabajo más sencillo (Window / Versioning / Subversion) a la hora de subir los cambios al servidor.

4) Theme con colores oscuros
Si pasamos la mayor parte del día programando, es mejor para la vista tener colores oscuros de fondo. El color blanco (por defecto en la mayoría de IDEs) cansa mucho la vista y a la larga puede ser perjudicial para los ojos. Así que vamos a instalar un theme con colores oscuros.

El mejor que he encontrado es este: http://net.tutsplus.com/freebies/themes/netbeans-twilight-theme/ y lo podemos descargar desde aquí o aquí (mirror en mi servidor).

Para importarlo en NetBeans, vamos a Tools / Options y pulsamos en el botón Import. Buscamos el archivo .zip (importante, no hay que descomprimirlo!), seleccionamos que queremos importar todas las opciones y pulsamos en aceptar. Después de reiniciar NetBeans, vamos a Tools / Options y en la pestaña Fonts and Colors seleccionamos el Profile Netbeans_Twilight. Ya tendremos nuestro entorno con colores oscuros.

Para mi gusto, el tamaño de letra de este theme es demasiado pequeño. Yo, en Fonts and Colors (una vez activado el theme) selecciono el tipo de fuente «Monospaced», estilo «Plain» y tamaño «13».

Con estos pasos tenemos nuestro entorno de desarrollo listo para empezar.

Tags ; , , , , , , ,

1 comentario

    Instalar Symfony2 desde cero » Jon Segador Jul 06, 2011

    […] continuamos con la instalación de Symfony2. Mi IDE favorito para programar es Netbeans, por lo que es el que utilizaré en este ejemplo. Si no lo hemos cambiado, nuestro workspace (donde […]

    Responder

Escribe un comentario

Los comentarios son moderados y se utiliza rel="nofollow" para los enlaces.