Author Archives: Juan Miguel Sánchez Begines

  • 2

Entorno de desarrollo para Ruby on Rails (Parte II)

Para este tutorial, vamos a crear una aplicación de ejemplo de Ruby on Rails y la desplegaremos en el servidor de apache que configuramos anteriomente.

Para ello, en primer lugar vamos a la carpeta donde queremos crear nuestro espacio de trabajo y ejecutamos el siguiente código:

rails new ejemplo -d mysql --skip-bundle

Con esto, ya generamos nuestro proyecto en Ruby on Rails. A continuación, necesitamos instalar un entorno de ejecución de JavaScript que, en nuestro caso será la gema therubyracer. Para ello, accedemos a la carpeta del proyecto cd ejemplo y abrimos con un editor de texto el archivo de configuracion de gemas (Gemfile) con el comando nano Gemfile.

Buscamos la línea de código en la que aparece el siguiente fragmente # gem 'therubyracer', platforms: :ruby y descomentamos dicha linea (eliminar #).

Finalmente, para instalarla, tenemos que ejecutar el comando bundle install en el directorio del espacio de trabajo.

Ya tenemos nuestro proyecto basico de Ruby on Rails. Ahora, solo queda configurar el apache para que podamos visualizar los resultados de nuestro proyecto. Para ello copiamos el archivo base de configuracion de la carpeta de apache en uno especifico para nuestra aplicación de la siguiente manera:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/ejemplo.conf

Dentro veremos una serie de configuraciones del servidor. Las unicas que tenemos que cambiar o añadir son las que se exponen a continuación:


<VirtualHost *:80>
...
DocumentRoot /ruta/al/espacio/de/trabajo
RailsEnv development
<Directory "/ruta/al/espacio/de/trabajo">
Options FollowSymLinks
Require all granted
</Directory>
</VirtualHost>

Básicamente lo que hemos configurado es la ruta de acceso de nuestra aplicación (DocumentRoot), habilitamos el entorno de desarrollo puesto que es un proyecto que está desarrollandose y configuramos los permisos para la ruta de nuestra aplicación.

Solo queda ya, desabilitar el antiguo archivo y activar el nuevo ejecutando los siguiente comandos.


sudo a2dissite 000-default
sudo a2ensite ejemplo
sudo service apache2 restart

Con esto ya tendremos acceso a nuestra aplicacion vía web añadiendo la ip de nuestra máquina en el navegador.

 


  • 0

Entorno de desarrollo para Ruby on Rails (Parte I)

Para comenzar a desarrollar proyectos basados en la técnología de Ruby on Rails, es necesario tener un entorno preparado para desarrollar con el lenguaje Ruby on Rails. Para ello, vamos a detallar en este artículo cómo tenemos que proceder para tener un entorno de desarrollo para Ruby on Rails sobre una máquina Ubuntu.

Los elementos esenciales para dicho entorno son los siguientes:

  • La librería Ruby instalada correctamente.
  • La gema Rails una vez tengamos instalado Ruby.
  • Apache2
  • Base de datos a utilizar (en nuestro caso será MySQL)

En primer lugar, tenemos que instalar una serie de dependencias necesarias para poder realizar la instalación de la librería Ruby on Rails. Para esto es necesario actualizar los repositorios:

sudo apt-get update

Y posteriormente realizar las instalaciones anteriormente mencionadas:

sudo apt-get install build-essential libssl-dev libyaml-dev libreadline-dev openssl curl git-core zlib1g-dev bison libxml2-dev libxslt1-dev libcurl4-openssl-dev libsqlite3-dev sqlite3

Ya tenemos todas las dependencias instaladas, luego ahora procederemos a la instalación de la librería. Para ello, tenemos que descargarnos el paquete de instalación de Ruby

wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz

Lo ideal, es descargarlo en una carpeta temporal para, posteriormente, poder borrar los archivos que no nos sean necesarios. Una vez descargado, tenemos que descomprimir el archivo y ejecutar los archivos de configuración que se indican a continuación:

tar -xzf ruby-2.2.2.tar.gz

Entramos en la carpeta y ejecutamos el script de configuración

./configure

Esto genera el archivo Makefile, necesario para compilar el código. Ahora con el comando make generamos el ejecutable y finalmente, ejecutamos sudo make install para iniciar el ejecutable generado. Con esto comenzará la instalación. Para comprobar que la instalación ha ido correctamente, podemos ejecutar ruby -v con el que te debe de aparecer la versión de ruby instalada.

La gema rails es muy fácil de instalar. Basta con ejecutar gem install rails y ya dispondremos de las funcionalidades que nos proporciona esta gema.

Ahora procedemos a instalar el Apache2. Esta tarea puede llegar a ser muy tediosa. En primer lugar, volvemos a actualizar los repositorios y ejecutamos el siguiente comando

sudo apt-get install apache2

Puesto que Ruby trabaja con Passenger, es necesario realizar un enlace entre Passenger y Apache2 para que podamos usar dicho servidor.

Para ello tenemos que ejecutar los siguiente comando para obtener el repositorio de instalación

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
sudo nano /etc/apt/sources.list.d/passenger.list
Y pegamos en el documento passenger.list lo siguiente:
deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main

Ahora, cambiamos los permisos para poder ejecutarlos

sudo chown root: /etc/apt/sources.list.d/passenger.list
sudo chmod 600 /etc/apt/sources.list.d/passenger.list

Actualizamos los repositorios e instalamos passenger:

sudo apt-get install libapache2-mod-passenger

Finalmente, habilitamos el modulo de passenger sudo a2enmod passenger y reiniciamos el apache sudo service apache2 restart

Este paso sobreescribe nuestra version de ruby a una mas vieja por lo que necesitamos borrarla y hacer un link con la versión correcta mediante los comandos:


sudo rm /usr/bin/ruby
sudo ln -s /usr/local/bin/ruby /usr/bin/ruby

Con esto hemos configurado el entorno para poder crear un proyecto Ruby on Rails en un servidor apache. En el siguiente tutorial, veremos como crear un proyecto en Ruby on Rails y realizar el despliegue en Apache2.

 


  • 1

JPA (Parte I)

En esta entrada, vamos a abordar la faceta JPA. JPA es una tecnología muy útil que nos ayudará a mapear nuestras clases de dominio en las tablas de la base de datos. Gracias a ésta y con ayuda de la implementación Hibernate, podemos crear una base de datos a partir de la generación de clases y las relaciones en código Java.

Las anotaciones JPA e Hibernate se han diseñado para facilitar su legibilidad, para que sea fácil de precisar, y lo suficientemente flexible como para permitir diferentes combinaciones de metadatos. Múltiples anotaciones pueden anotar la misma clase, el campo o la propiedad en lugar de haber anotaciones incrustadas en otras anotaciones.

Para empezar, vamos a ver cómo configurar nuestro entorno de desarrollo para poder usar JPA. Para ello, vamos a usar Eclipse y la base de datos de MySQL Workbench montados sobre una máquina virtual de Windows XP.

En primer lugar, creamos un Workspace y una base de Datos. Yo lo llamaré Tutorial JPA al Workspace y Sample-JPA a la base de Datos (*). Arrancamos el eclipse y le indicamos la ruta de nuestro Workspace. Una vez arrancado, pasamos a crear un proyecto Maven (**)

Image

Rellenamos los campos tal y como se indica en la imagen y pulsamos Finish.

Image

Ya tenemos nuestro proyecto creado. Ahora, seleccionando nuestro proyecto pulsamos sobre la pestaña de Project y seleccionamos Properties. Buscamos en el cuadro de búsqueda de la esquina superior izquierda un elemento llamado Project Facets, seleccionamos JPA y en la parte inferior pulsamos sobre Further configuration required…

Image

Una vez llegados a este punto es cuando realmente vamos a configurar JPA. La configuración es la siguiente:

En primer lugar seleccionamos la plataforma que vamos a usar, y para la implementación de JPA, como queremos hacerla manualmente, pues la deshabilitaremos. Una vez puesto estas entradas, seleccionamos Add connection…

Image

En esta vista, seleccionamos la base de datos que vamos a usar (en nuestro caso es MySQL) y le damos un nombre a nuestra conexión.

Image

Pulsamos Next y pasamos a configurar los drivers. Pulsamos sobre el icono situado a la derecha del desplegable de los drivers llamado New Driver Definition y vamos rellenando las distintas pestañas tal y como se indica en las imágenes.

Image

Image

Pulsamos Finish y rellenamos los campos como siguen, pulsamos recordar contraseña y lo probamos con el test conexión (ATENCION: Si no os funciona con el test, no pulséis Finish).

Image

NOTA: El usuario y la contraseña son las que tengamos puesta en nuestro MySQL Workbench

Si os a funcionado, pulsáis Finish, y ok para cerrar las ventanas y dejar que se autoconfigure y listo, ya tenemos configurado JPA.

Eso es todo para este primer tutorial. Continuaremos con el uso de las anotaciones que harán posible la creación de la base de datos relacional a partir de nuestro código java.

(*) Ver tutorial de cómo crear un schema en MySQL Workbench y darle privilegios (Aun no realizado)

(**) Ver tutorial plug-in Maven en Eclipse (Aun no realizado)