Preparant l'entorn de desenvolupament: Diferència entre les revisions
De Guifi.net - Wiki Català
Al (Discussió | contribucions) (→Descarregues) |
Al (Discussió | contribucions) (→Descàrregues) |
||
Línia 65: | Línia 65: | ||
* La darrera versió de Drupal 6.x desde linea de comandes | * La darrera versió de Drupal 6.x desde linea de comandes | ||
aptitude install drupal6 | aptitude install drupal6 | ||
+ | i habilitar l'accès via web: | ||
+ | ln -s /usr/share/drupal6/ /var/www/guifi | ||
* O des de la seva web oficial: [http://drupal.org/project/drupal pàgina oficial] | * O des de la seva web oficial: [http://drupal.org/project/drupal pàgina oficial] | ||
* Mòduls de Drupal fonamentals: webform, views | * Mòduls de Drupal fonamentals: webform, views |
Revisió de 19:45, 27 abr 2013
Contingut
Introducció
Aquest document té com finalitat documentar alguns consells sobre cóm adequar l'entorn de desenvolupament per col·laborar en el desenvolupament de la web de guifi.net. Ens centrarem al mòdul "drupal-guifi", que és el pilar fonamental de tota la gestió de la web de guifi.net, però l'entorn muntat pot fer-se servir per desenvolupar altres mòduls o temes, com per exemple "theme_guifinet2011".
Instalació de serveis
Per a fer funcionar Drupal a aquesta màquina és fonamental arrencar un servidor web, el mòdul PHP pel servidor web, i un servidor de base de dades (MySQL).
En funció del nostre sistema operatiu i les nostres preferències, la instalació d'aquests serveis es realitzarà d'una manera o d'altra. A continuació es detalla pels entorns Debian/Ubuntu amb Apache+PHP+Mysql i Archlinux amb Nginx+PHP+Mysql. Totes dues instalacions son molt simples.
- Debian/Ubuntu:
$ sudo apt-get install mysql-server libapache2-mod-php5 php5-gd php5-mysql
- Archlinux:
$ pacman -S nginx mysql php-fpm php-gd
Documentació per a Archlinux: Apache, PHP and MySQL, Nginx
La configuració del servidor web (Apache/lighttpd/nginx) per a fer que funcioni el mòdul de PHP en la raiz del nostre directori web depen del nostre sistema. A Google podeu trobar varis tutorials si no teniu clar cóm fer-lo. Si trobeu un de bo, si us plau, enllaçeu-lo a aquest document.
Configuració de php.ini
Hem de tenir activats els següents mòduls a l'arxiu php.ini:
extension=mysql.so extension=iconv.so extension=gd.so
Ara heu de testejar si el vostre sistema interpreta arxius PHP. Aquí teniu un exemple que podeu crear al DOCUMENT_ROOT del vostre servidor web. Si no us funciona reviseu els passos anteriors i consulteu la documentació de la vostra distribució.
<?php phpinfo(); ?>
Descarregant el codi font
El codi dels mòduls "drupal-guifi", "drupal-bugdets" i "theme_guifinet2011" son software lliure, i estan allotjats als repositoris de Gitorious. Los repositoris son útils per desenvolupament de programari però nosaltres ens limitarem a clonar-los.
Requisits pel clonatge del repositori drupal-guifi
Viam cóm deuríem procedir per a fer un fork del projecte "drupal-guifi" de cara a realitzar alguna modificació sobre el seu codi font.
- Crear-se una compta a Gitorious.
- Crear unes claus SSH (ssh-keygen) sense contrasenya, i afegir-las al nostre perfil d'usuari de gitorious. Per exemple:
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/dave/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/dave/.ssh/id_rsa. Your public key has been saved in /home/dave/.ssh/id_rsa.pub.
- Accedir a la pàgina del projecte "drupal-guifi".
- Clonar el projecte. Amb això ja tindrem un fork del projecte sobre el que podem realitzar els nostres canvis.
Pàginas web a Gitorious dels projectes amb els que anem a treballar:
- https://gitorious.org/guifi/drupal-guifi
- https://gitorious.org/guifi/drupal-budgets
- https://gitorious.org/guifi-web/theme_guifinet2011
Descarrega, instalació i configuració d'un entorn Drupal
Ara que ja tenim els serveis necesaris instal·lats a la nostra màquina de desenvolupament i sabem cóm clonar els repositoris de codi font amb els que volem treballar, anem a procedir a tenir funcionant a aquesta màquina un Drupal 6.x (amb alguns mòduls adicionals), ja que així podrem veure i testejar els canvis que anem fent al nostre repositori de "drupal-guifi".
Descàrregues
- La darrera versió de Drupal 6.x desde linea de comandes
aptitude install drupal6
i habilitar l'accès via web:
ln -s /usr/share/drupal6/ /var/www/guifi
- O des de la seva web oficial: pàgina oficial
- Mòduls de Drupal fonamentals: webform, views
- Mòduls de Drupal opcionals: schema, devel, potx, i18n, l10n_client, languageicons, language_sections, diff, captcha, captcha_pack, event, views_slideshow, cck, fckeditor, image, image_filter
- Mòduls desenvolupats per la comunitat Guifi.net: budgets, guifi
- El tema oficial "theme_guifinet2011"
- La base de dades actual de desenvolupament de la web de guifi.net:
$ wget http://www.guifi.net/guifi66_devel.sql.gz
Instalació de Drupal
Anem a posar en marxa un entorn Drupal bàsic i posteriorment sobreescriurem la base de dades amb la que hem descarregat previament de Guifi.net.
Aquests son els passos bàsics per a instal·lar i configurar un site Drupal:
- Descomprimim el paquet de Drupal que ens hem descarregat i el posem accesible al DOCUMENT_ROOT d'Apache:
$ cd /var/www/html $ tar zxvf drupal-6.26.tar.gz $ ln -s drupal-6.26 guifi
- Iniciem el procés de instalació via web de Drupal accedint a http://localhost/guifi
- En arribar a l'apartat de configuració de la base de dades, necessitarem tenir creada una base de dades local de MySQL per a desenvolupament:
[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)
Ja podem introduir la informació de connexió a la base de dades per a que Drupal cregui les tables necessàries.
Instalació dels mòduls de Drupal necessaris per a arrencar l'entorn
Descarregar els mòduls absolutament necessaris per a arrencar el nostre site de Guifi.net
ATENCIÓ. Fixeu-vos que el mòdul "drupal-guifi" que estem clonant no es el repositori principal sino el que hem creat fent un fork del projecte principal. Així els canvis que fem els podrem pujar a Gitorious, per a posteriorment, si considerem convenient, notificar als desenvolupadors principals per que els integrin a la branca principal de desenvolupament (merge request).
$ mkdir drupal-6.26/sites/all/modules $ cd drupal-6.26/sites/all/modules $ git clone git://gitorious.org/guifi/drupal-budgets.git budgets $ # Clonat de MI FORK del mòdul "drupal-guifi" $ git clone git@gitorious.org:~tombatossals/guifi/tombatossalss-drupal-guifi.git guifi
Mòdul 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òdul Views (http://drupal.org/project/views):
$ wget -q -O - http://ftp.drupal.org/files/projects/views-6.x-2.12.tar.gz | tar zxv
Instalació de la base de dades de desenvolupament de Guifi.net
Ja tenim una instalació neta de Drupal. Ara anem a sobreescriure la base de dades amb la informació de tables de la base de dades de Guifi.net, el que ens proporcionarà un entorn de desenvolupament similar a la web en producció. Anem a això:
$ mysql -u root guifi_test < guifi66_devel.sql
Afinant la instalació
Un cop instalada la base de dades amb tota la informació de la web de Guifi.net, tindrem accés a la informació de qualsevol node o zona de la web principal. Per a loguejar-te com usuari, has de fer servir el nom d'usuari corresponent i la contrasenya genèrica "guifi".
L'usuari administrador serà "webmestre" i la contrasenya "guifi".
Alguns consells per a refinar la instalació:
- Comproveu que els directoris "files", "files/nanostation" i "tmp" del directori de instalació de drupal tenen permisos de escriptura per l'usuari del servidor web (o poseu-los a 777):
$ mkdir drupal-6.26/{files,files/nanostation,tmp} $ chmod 777 drupal-6.26/{files,files/nanostation,tmp}
- La carpeta "files/nanostation" contendrà els arxius "unsolclic" de les antenes Ubiquiti que anem consultant o creant.
- Comproveu els possibles errors de instalació de Drupal accedint com usuari "webmestre" a la pàgina de administració i, des d'allà, a la pàgina de "Report Status". Ex: http://localhost/guifi/ca/admin/reports/status
- Accediu a la secció de configuració de "Performance" y deshabiliteu tot l'usatge de caché, optimització y compressió. Ens interessa que els canvis que fem sobre els arxius s'actualitzin en temps real. La URL d'accés a aquesta configuració serà de l'estil de: http://localhost/guifi/admin/settings/performance
Instalació del tema Guifi.net al Drupal
$ mkdir drupal-6.26/sites/all/themes $ cd drupal-6.26/sites/all/themes $ git clone git://gitorious.org/guifi-web/theme_guifinet2011.git theme_guifinet2011
El tema no s'activarà inmediatament, ja que li mancaran els arxius d'estils que Drupal creu que esten cachejats al sistema. Per a aconseguir que el tema s'activi completament, haurem d'accedir a l'"administració de temes", "configuració del tema de guifinet2011" i "desar" sense tocar cap opció. El tema per fi estarà activat.
Instalació dels idiomes
La base de dades de Guifi.net que hem importat té habilitats varis idiomes per defecte, però les traduccions no estén instalades al sistema. Per a solucionarlo, seguim aquests passos:
- Descarregueu la traducció de l'idioma de aquí: http://localize.drupal.org/.
Per exemple: http://ftp.drupal.org/files/translations/6.x/drupal/drupal-6.26.ca.po
- Aneu a la administració de idiomes de la vostra instalació com webmestre, està localitzada a /admin/settings/language, i fixeu-vos que hi ha un enllaç per a importació manual dels strings de traducció: /admin/build/translate/import
- Indiqueu-li l'idioma de l'arxiu que heu descarregat e importeu-lo. A partir d'aquí ja tindrem l'interfície traduïda.
Començant a treballar
Ja tenim un entorn preparat per començar a modificar els mòduls de Drupal, pujar-los al nostre propi repositori i, si lo considerem convenient, notificar els nostres commits als desenvolupadors per a que els integrin a la branca principal.
Per a fer commit dels nostres canvis:
$ cd drupal-6.26/site/all/modules/drupal-guifi $ # Fem modificacions a alguns arxius, les enregistrem al nostre repositori i procedirem a pujar-les a gitorious $ git commit -a $ git push
Posteriorment, des de la web de Gitorious podrem fer servir un "Merge request" per notificar als desenvolupadors alguna de les nostres modificacions i que valorin la seva incorporació al repositori principal.
Actualitzant el nostre repositori amb els canvis del repositori pare
Si volem mantenir el nostre repositori actualitzat amb els darrers canvis que es van produint al repositori pare, haurem de seguir la següent recepta:
# Definim com repositori remot anomenat "upstream" el repositori de "drupal-guifi" $ git remote add upstream git://gitorious.org/guifi/drupal-guifi.git # Obtenim els darrers canvis del nostre repositori $ git fetch origin -v # Obtenim els darrers canvis del repositori pare $ git fetch upstream -v # Fem el merge dels canvis obtinguts $ git merge upstream/master
Referències
Aquest article conté informació extreta d'aquest fil de la llista de correu de webdev.