Preparando el entorno de desarrollo

De Guifi.net - Wiki Hispano

Introducción

Este documento tiene como propósito documentar algunos consejos sobre cómo adecuar un entorno de desarrollo para colaborar en el desarrollo del módulo "drupal-guifi", que es el pilar fundamental de toda la gestión de la web de guifi.net. Cada usuario es perfectamente libre de seguir las pautas aquí indicadas, o de utilizar las suyas propias. Vamos a ello.

Descargando el código fuente

El código del módulo "drupal-guifi" es open-source, y está alojado en los servidores de gitorious, lo que nos facilitará el clonado, desarrollo e integración de nuestras modificaciones con la rama principal.

Requisitos para el clonado del repositorio drupal-guifi

  • Crearse una cuenta en gitorious.
  • Acceder a la página del proyecto "drupal-guifi".
  • Clonar el proyecto.
  • Crear unas llaves SSH (ssh-keygen) sin contraseña, y añadirlas en nuestro perfil de usuario de gitorious.

Obtención del repositorio

Ya podemos empezar a trabajar. Accedemos a la página de gitorious con el clonado de drupal-guifi que hemos creado, y obtenemos las fuentes del repositorio. Por ejemplo:

$ git clone git@gitorious.org:~tombatossals/guifi/tombatossalss-drupal-guifi.git

Descarga, instalación y configuración de un entorno Drupal

Para poder testear los cambios que vamos haciendo a nuestro repositorio de "drupal-guifi", necesitaremos tener funcionando en nuestra máquina un drupal 6.x (con varios módulos adicionales). Vamos a ello.

Descargas

  • La última versión de Drupal 6.x, actualmente la 6.22, desde su página oficial
$ wget http://ftp.drupal.org/files/projects/drupal-6.22.tar.gz
$ tar zxf drupal-6.22.tar.gz
  • Los siguientes módulos de drupal:
...
  • La base de datos actual de desarrollo de la web de guifi.net:
$ wget http://www.guifi.net/guifi66_devel.sql.gz

Instalación de servicios

Para hacer funcionar Drupal en nuestra máquina necesitamos básicamente un servidor web, el módulo PHP par ael servidor web, y un servidor de base de datos (MySQL).

Dependiendo de nuestro sistema operativo y nuestras preferencias, la instalación de estos servicios se realizará de una manera u otra. En entornos Debian/Ubuntu es realmente sencillo instalar Apache+PHP+Mysql, yo actualmente trabajo en un entorno Archlinux y utilizo como servidor web Nginx+PHP+Mysql y la instalación es también muy simple.

  • Debian/Ubuntu:
$ sudo apt-get install mysql-server libapache2-mod-php apache2-mpm-prefork
  • Archlinux:
$ pacman -S nginx mysql-server php-fpm

Documentación Archlinux: https://wiki.archlinux.org/index.php/Apache,_PHP,_and_MySQL, https://wiki.archlinux.org/index.php/Nginx

La configuración para hacer que funcione el módulo de PHP en la raiz de nuestro directorio web depende de nuestro sistema, así que busca un tutorial por Google (existen varios) si no tienes claro cómo hacerlo. Si encuentras uno bueno, por favor, enlázalo en este documento.

Instalación de drupal

Vamos a poner en marcha un entorno Drupal básico, que posteriormente sobreescribiremos con la base de datos de guifi que hemos descargado previamente (de nuevo, hay muchos tutoriales por internet que explican cómo hacer esto).

  • Descomprimimos la distribución de drupal que nos hemos descargado, y la ponemos accesible en el DOCUMENT_ROOT de apache:
$ cd /var/www/html
$ tar zxvf drupal-6.22.tgz
$ ...
$ ln -s drupal-6.22 guifi

Drupal001.png

  • Al llegar al apartado de configuración de la base de datos, necesitaremos tener creada una base de datos local de MySQL para desarrollo. Veamos una receta básica sobre cómo crearla:
[dave@inuik http]$ mysql
...
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database guifi_test;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on guifi_test.* to guifi@localhost identified by 'guifinet';
Query OK, 0 rows affected (0.00 sec)
Herramientas personales