Diferencia entre revisiones de «Preparando el entorno de desarrollo»
De Guifi.net - Wiki Hispano
(→Configuración de php.ini) |
(→Instalación de servicios) |
||
Línea 7: | Línea 7: | ||
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 bastante simple. | 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 bastante simple. | ||
+ | |||
* Debian/Ubuntu: | * Debian/Ubuntu: |
Revisión de 10:11 10 sep 2011
Contenido
Introducción
Este documento tiene como propósito documentar algunos consejos sobre cómo adecuar un entorno de desarrollo para colaborar en el desarrollo de la web de guifi.net. Nos centraremos en el módulo "drupal-guifi", que es el pilar fundamental de toda la gestión de la web de guifi.net, ya que es el que yo estoy utilizando, pero el entorno montado puede utilizarse también para desarrollar otros módulos o temas, como por ejemplo "theme_guifinet2011". Cada usuario es perfectamente libre de seguir las pautas aquí indicadas, o de utilizar las suyas propias y utilizar este documento únicamente como referencia básica. Vamos a ello.
Instalación de servicios
Para hacer funcionar Drupal en nuestra máquina es fundamental arrancar un servidor web, el módulo PHP para el 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 bastante simple.
- Debian/Ubuntu:
$ sudo apt-get install mysql-server libapache2-mod-php apache2-mpm-prefork
- Archlinux:
$ pacman -S nginx mysql php-fpm php-gd
Documentación para 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.
Configuración de php.ini
Simplemente comentar que debemos tener activados los siguientes módulos en el archivo php.ini:
extension=mysql.so extension=iconv.so extension=gd.so
Si has conseguido que tu sistema interprete un archivo PHP como el del ejemplo de abajo, en el DOCUMENT_ROOT de tu sistema, enhorabuena, puedes pasar al siguiente paso.
<?php phpinfo(); ?>
Descarga, instalación y configuración de un entorno Drupal
Lo primero que deberemos hacer es tener funcionando en nuestra máquina un drupal 6.x operativo (con varios módulos adicionales), ya que así podremos ver y testear los cambios que vamos haciendo a nuestro repositorio de "drupal-guifi".
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
- Los siguientes módulos de drupal son fundamentales: webform, views.
- Los siguiente módulos de drupal son opcionales: schema, devel, potx, i18n, l10n_client, languageicons, language_sections
diff, captcha, captcha_pack, event, views_slideshow, cck, fckeditor, image, image_filter.
- Los siguientes módulos desarrollados en el proyecto guifi.net: budgets, guifi (luego veremos como clonar el repositorio git de estos módulos).
- El tema oficial "theme_guifinet2011" (luego veremos como clonar el repositorio git de este tema).
- 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 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
- Iniciamos el proceso de instalación vía web de drupal accediendo a http://localhost/guifi.
- 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)
Ya podemos introducir la información de conexión a la base de datos para que drupal cree las tablas necesarias.
Instalación de la base de datos de desarrollo de guifi
Ya tenemos una instalación limpia de drupal hecha, ahora vamos a sobreescribir la base de datos con la información de tablas de la DB de guifi.net, lo que nos proporcionará un entorno de desarrollo similar a la web en producción. Vamos a ello:
[root@inuik dev]# mysql -u root guifi_test < guifi66_devel.sql
Instalación de los módulos de drupal necesarios para arrancar el entorno
$ mkdir drupal-6.22/sites/all/modules $ cd drupal-6.22/sites/all/modules $ git clone git://gitorious.org/guifi/drupal-budgets.git budgets $ git clone git@gitorious.org:~tombatossals/guifi/tombatossalss-drupal-guifi.git guifi
Módulo WebForm (http://drupal.org/project/webform):
$ wget -q -O - http://ftp.drupal.org/files/projects/webform-6.x-3.14.tar.gz | tar zxv
Módulo Views (http://drupal.org/project/views):
$ wget -q -O - http://ftp.drupal.org/files/projects/views-6.x-2.12.tar.gz | tar zxv
Módulo I18N (http://drupal.org/project/i18n):
$ wget -q -O - http://ftp.drupal.org/files/projects/i18n-6.x-1.9.tar.gz | tar zxv
Instalación del tema guifi.net en drupal
$ mkdir drupal-6.22/sites/all/themes $ cd drupal-6.22/sites/all/themes $ git clone git://gitorious.org/guifi-web/theme_guifinet2011.git theme_guifinet2011
El tema no se activará inmediatamente, ya que le faltarán los archivos de estilos que drupal cree que están cacheados en el sistema. Para conseguir que el tema se active completamente, deberemos acceder a la "administración de temas", "configuración del tema de guifinet2011" y "grabar" sin tocar ninguna opcion. El tema por fin estará activado.
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