<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://ca.wiki.guifi.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
		<id>http://ca.wiki.guifi.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Miquelm</id>
		<title>Guifi.net - Wiki Català - Contribucions de l'usuari [ca]</title>
		<link rel="self" type="application/atom+xml" href="http://ca.wiki.guifi.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Miquelm"/>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Especial:Contribucions/Miquelm"/>
		<updated>2026-07-29T06:18:44Z</updated>
		<subtitle>Contribucions de l'usuari</subtitle>
		<generator>MediaWiki 1.22.0</generator>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/LDAP/ca</id>
		<title>LDAP/ca</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/LDAP/ca"/>
				<updated>2013-12-23T13:54:18Z</updated>
		
		<summary type="html">&lt;p&gt;Miquelm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{en desenvolupament}}&lt;br /&gt;
{|align=left&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
== LDAP ==&lt;br /&gt;
=== Introducció ===&lt;br /&gt;
Les intencions: disposar d'una infraestructura que permeta autenticar una base única d'usuaris (drupal, wiki, trac, proxy federat...). Es tria LDAP per ser el backend més comú en el sentit que moltes eines (web i no web com ara radius) disposen de complements per autenticar/autoritzar els usuaris. En qualsevol cas,l'autenticació més segura passa per usar ssl a l'hora d'accedir a ldap, o mecanismes de desafiament resposta (només usables si al backend tenim la contrasenya en clar).&lt;br /&gt;
&lt;br /&gt;
=== Càrrega d'usuaris ===&lt;br /&gt;
S'han desenvolupat uns scripts que poden exportar els usuaris d'un '''drupal 6''' o els '''usuaris dels proxys federats''' i importar-los cap a un openldap. Són scripts pensats per crear una rama de l'estil: &amp;lt;code&amp;gt;dc=guifi,dc=net&amp;lt;/code&amp;gt;, encara que es pot configurar per qualsevol altre domini, i també afegir més ''domain components'' de forma que poguem crear rames de la principal i d'esta forma, obtindre una jerarquía d'ldaps, tal volta per oferir un punt únic d'autenticació i delegar-la cap al ldap que finalment puga autenticar-nos, a l'estil [http://www.google.es/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;sqi=2&amp;amp;ved=0CBwQFjAA&amp;amp;url=http%3A%2F%2Fwww.eduroam.es%2F&amp;amp;ei=rVDZTaDRAZDG8QPP9-iDBQ&amp;amp;usg=AFQjCNHHrBdRg0rHL7dx6lQvRJf0_EIpRQ d'EDUROAM].&lt;br /&gt;
&lt;br /&gt;
Els scripts es troben al gitorius: &amp;lt;code&amp;gt;git clone https://git.gitorious.org/ldapusers/ldapusers.git&amp;lt;/code&amp;gt;. Hi ha un ''Readme'' que explica com posar en marxa un directori a partir dels usuaris d'un drupal. Bàsicament, hem d'instal.lar: &amp;lt;code&amp;gt;apt-get install slapd ldap-utils db4.6-util # ó db4.7-util&amp;lt;/code&amp;gt; i configurar &amp;lt;code&amp;gt;config.sh&amp;lt;/code&amp;gt; amb les dades del directori i les dades d'accés a mySQL. Hi ha també uns exemples de configuració per al openLdap, pensats per a Fedora/Redhat, però l'adaptació a debian/ubuntu, és tan fàcil com canviar &amp;lt;code&amp;gt;/etc/openldap/&amp;lt;/code&amp;gt; per &amp;lt;code&amp;gt;/etc/ldap&amp;lt;/code&amp;gt; a totes les referències que hi hagin a &amp;lt;code&amp;gt;config.sh&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Una vegada instal.lats, la càrrega es pot fer periòdicament, executant: &amp;lt;code&amp;gt;./ldif_from_hdb.sh drupal6&amp;lt;/code&amp;gt;. Exemples de recerca:&lt;br /&gt;
* &amp;lt;code&amp;gt;ldapsearch -x -w PASSWORD -D &amp;quot;uid=webldap2011,o=webusers,dc=guifi,dc=net&amp;quot; -b &amp;quot;o=webusers,dc=guifi,dc=net&amp;quot; -H ldaps://ldap.guifi.net/ &amp;quot;uid=rotobator&amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
* per comprovar que l'autenticació funciona podem fer bind amb un usuari: &amp;lt;code&amp;gt;ldapsearch -x -W -D &amp;quot;uid=rotobator,o=webusers,dc=guifi,dc=net&amp;quot; -b &amp;quot;o=webusers,dc=guifi,dc=net&amp;quot; -H ldaps://ldap.guifi.net/  &amp;quot;(cn=rotobator)&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* recerca d'usuaris federats a la rama del proxy: &amp;lt;code&amp;gt;ldapsearch -x -w PASSWORD -D &amp;quot;uid=proxyldap2011,o=proxyusers,dc=guifi,dc=net&amp;quot; -b &amp;quot;o=proxyusers,dc=guifi,dc=net&amp;quot; -H ldaps://ldap.guifi.net/ &amp;quot;(&amp;amp;(uid=miquel.martos)(ou=2624))&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ús de ldap.guifi.net ===&lt;br /&gt;
En un principi, qualsevol màquina/servei, pot usar aquest directori per autenticar usuaris de guifi.net, però hi ha una sèrie de mesures de seguretat que cal tindre en compte:&lt;br /&gt;
* El directori no permet recuperar cap data personal ni d'altres persones, només permet autenticar usuaris.&lt;br /&gt;
* Només l'usuari ''cn=webldap2011,o=webusers, dc=guifi,dc=net'' (per als usuaris importats des del drupal) o l'usuari ''cn=proxyldap2011,o=proxyusers, dc=guifi,dc=net'' (per als usuaris dels proxys federats) poden obtindre les dades emmagatzemades, encara que este usuari està reservat per a ús intern i manteniment del directori.&lt;br /&gt;
* L'accés al directori només és posible mijançant ''LDAPS'', és a dir, usant TLS/SSL.&lt;br /&gt;
&lt;br /&gt;
=== Configuració de clients ===&lt;br /&gt;
Exemples de configuracions. En general hem de configurar les llibreries client del sistema, per això hem de modificar l'arxiu '''/etc/ldap/ldap.conf''' a ubuntu o '''/etc/openldap/ldap.conf''' a fedora:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# LDAP Defaults&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# See ldap.conf(5) for details&lt;br /&gt;
# This file should be world readable but not world writable.&lt;br /&gt;
&lt;br /&gt;
#SIZELIMIT	12&lt;br /&gt;
#TIMELIMIT	15&lt;br /&gt;
#DEREF		never&lt;br /&gt;
BASE    dc=guifi,dc=net&lt;br /&gt;
URI     ldaps://ldap.guifi.net/ ldaps://ldap2.guifi.net/&lt;br /&gt;
TLS_REQCERT never&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Proxy federat ====&lt;br /&gt;
&lt;br /&gt;
Abans de començar haurem de tindre clar quin és el node ID del nostre proxy (http://guifi.net/node/NODEID) per que ens el demana en la instal.lació:&lt;br /&gt;
&lt;br /&gt;
* Afegir els repositoris a ''/etc/apt/sources.list''&lt;br /&gt;
 deb http://serveis.guifi.net/debian guifi/&lt;br /&gt;
 deb http://serveis.guifi.net/debian guifi-testing/&lt;br /&gt;
&lt;br /&gt;
* executar:&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get install guifi-proxy3&lt;br /&gt;
&lt;br /&gt;
Amb això ja tenim un squid en marxa, un cron que actualitza els ACLs i autenticació automàctica contra '''ldap.guifi.net'''. Per la configuració personalitzada hem d'usar ''/etc/squid3/custom.conf''.&lt;br /&gt;
&lt;br /&gt;
==== LDAP al Mediawiki ====&lt;br /&gt;
*Instal.lació de la extensió d'LDAP per a mediawiki:&lt;br /&gt;
**Ubuntu:&lt;br /&gt;
 sudo apt-get install mediawiki-extensions-ldapauth&lt;br /&gt;
 sudo mwenext LdapAuthentication.php&lt;br /&gt;
**Altres vore http://www.mediawiki.org/wiki/Special:ExtensionDistributor/LdapAuthentication.&lt;br /&gt;
&lt;br /&gt;
*Es passen les dades per omplir aquesta configuració. Simplement nom de domini i LDAPBaseDN. Per a &amp;lt;code&amp;gt;$wgLDAPEncryptionType&amp;lt;/code&amp;gt; pot ser &amp;lt;code&amp;gt;&amp;quot;clear&amp;quot;&amp;lt;/code&amp;gt; o &amp;lt;code&amp;gt;&amp;quot;ssl&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
## LDAP_Authentication&lt;br /&gt;
## http://www.mediawiki.org/wiki/Extension:LDAP_Authentication&lt;br /&gt;
## svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/LdapAuthentication/&lt;br /&gt;
require_once( &amp;quot;$IP/extensions/LdapAuthentication/LdapAuthentication.php&amp;quot; );&lt;br /&gt;
$wgAuth = new LdapAuthenticationPlugin();&lt;br /&gt;
&lt;br /&gt;
  //Nombres de los dominios que utilizarás.&lt;br /&gt;
  $wgLDAPDomainNames = array(&amp;quot;LDAP&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  //Asociación entre nombre de dominio y nombre DNS de la máquina donde se va a validar.&lt;br /&gt;
  $wgLDAPServerNames = array(&amp;quot;LDAP&amp;quot;=&amp;gt;&amp;quot;ldap.guifi.net&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  //Podemos permitir la convivencia de autenticación local del wiki con LDAP.&lt;br /&gt;
  $wgLDAPUseLocal = true;&lt;br /&gt;
&lt;br /&gt;
  //Encriptación en las solicitudes LDAP.&lt;br /&gt;
  $wgLDAPEncryptionType = array(&amp;quot;LDAP&amp;quot;=&amp;gt;&amp;quot;ssl&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  //Le decimos cual es la base de la consulta&lt;br /&gt;
  $wgLDAPBaseDNs = array(&amp;quot;LDAP&amp;quot;=&amp;gt;&amp;quot;o=webusers,dc=guifi,dc=net&amp;quot;);&lt;br /&gt;
  $wgLDAPSearchAttributes = array(&amp;quot;LDAP&amp;quot;=&amp;gt;&amp;quot;uid&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  //no usem les directives de grup de moment &lt;br /&gt;
  $wgLDAPGroupsPrevail = array(&amp;quot;LDAP&amp;quot;=&amp;gt;false);&lt;br /&gt;
  $wgLDAPGroupNameAttribute = array(&amp;quot;LDAP&amp;quot;=&amp;gt;&amp;quot;cn&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
  //facilitem el user DN&lt;br /&gt;
  $wgLDAPSearchStrings = array(&lt;br /&gt;
   &amp;quot;LDAP&amp;quot;=&amp;gt;&amp;quot;uid=USER-NAME,o=webusers,dc=guifi,dc=net&amp;quot;&lt;br /&gt;
   );&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== LDAP al WP amb el plugin simple LDAP login ====&lt;br /&gt;
&lt;br /&gt;
Per integrar els inicis de sessió Wordpress d'una delegació de guifi amb ldap.guifi.net, podem fer servir per exemple el plugin &amp;quot;[https://wordpress.org/extend/plugins/simple-ldap-login/ Simple LDAP Login]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Fitxer:Ldap_working.PNG]]&lt;br /&gt;
&lt;br /&gt;
Requeriments:&lt;br /&gt;
Es necessari tenir suport LDAP a PHP (en sistemes debian/ubuntu, paquet php5-ldap)&lt;br /&gt;
També, si el servidor on s'esta instal·lant Wordpress, no te un certificat SSL (per exemple, un autogenerat), s'ha d'afegir el següent a l'arxiu /etc/ldap/ldap.conf (o /etc/ldap.conf):&lt;br /&gt;
&lt;br /&gt;
  TLS_REQCERT never&lt;br /&gt;
&lt;br /&gt;
==== LDAP al WP amb el plugin wpDirAuth ====&lt;br /&gt;
Aquest plugin és el més adequat per a la integració, donat que és el més actualitzat (funciona correctament la v1.7.6 amb el WordPress v 3.5.1). Una vegada hem instal.lat el plugin (http://wordpress.org/extend/plugins/wpdirauth/installation/), els prerequisits són els mateixos que amb el &amp;quot;simple LDAP login&amp;quot; (secció d'abans), i la configuració bàsica és la següent:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Enable Directory Authentication?: Yes&lt;br /&gt;
 Enable SSL Connectivity?: Use SSL (ldaps)&lt;br /&gt;
 Directory Servers (Domain Controllers): ldap.guifi.net, ldap2.guifi.net&lt;br /&gt;
 Account Filter: uid&lt;br /&gt;
 Base DN: o=webusers,dc=guifi,dc=net&lt;br /&gt;
 Bind DN: uid=webldap2011,o=webusers,dc=guifi,dc=net&lt;br /&gt;
 Bind Passwor: XXXXXXXX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Fitxer:Ldap_WP_wpDirAuth.PNG]]&lt;br /&gt;
&lt;br /&gt;
Este plugin necessita un usuari administrador que tinga permís al ldap per poder buscar usuaris de forma anònima, el dit usuari és &amp;quot;uid=webldap2011,o=webusers,dc=guifi,dc=net&amp;quot; i la contrasenya &amp;quot;XXXXXXX&amp;quot; l'heu de demanar a rotobator AT gmail.com (Antonio Garcia), de moment, fins que disposem d'un mètode més seriós. D'esta forma tenim constància des usuaris que usen esta contrasenya per tal d'avisar-los quant es canvíe, etc.&lt;br /&gt;
&lt;br /&gt;
== Proves de balanceig/distribució ==&lt;br /&gt;
''Ben mirat potser més el segon que no pas el primer per tal d'implementar-ho en un futur pròxim/necessari''&lt;br /&gt;
&lt;br /&gt;
# segona instancia d'ldap, pot ser remota o a la mateixa maquina virtual amb diferents ports.&lt;br /&gt;
# haproxy i configuració.&lt;br /&gt;
# configuració ldap-drupal per que apunte a haproxy.&lt;br /&gt;
# proves de replicació.&lt;br /&gt;
## Qué passa si una instancia te problemes?&lt;br /&gt;
## s'acumulen transaccions no realitzades?&lt;br /&gt;
# avaluar despres de les proves si ens interessa replicació en línia o simplement es sincronitzen les bdd del directori ppal cap a les instancies secundaries.&lt;br /&gt;
&lt;br /&gt;
== Altres ==&lt;br /&gt;
Es pot demanar la sincronització del directori principal cap a d'altres instàncies remotes per millorar el temps de resposta. Al repositori esmentat es troben els scripts de sincronització.&lt;/div&gt;</summary>
		<author><name>Miquelm</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament</id>
		<title>Preparant l'entorn de desenvolupament</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament"/>
				<updated>2013-12-02T23:24:54Z</updated>
		
		<summary type="html">&lt;p&gt;Miquelm: /* Instalació de la base de dades de desenvolupament de Guifi.net */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introducció =&lt;br /&gt;
Aquest document té com finalitat documentar alguns consells sobre com preparar un entorn de desenvolupament per col·laborar en el desenvolupament de la web de guifi.net. Ens centrarem al mòdul &amp;quot;'''drupal-guifi'''&amp;quot;, 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 &amp;quot;'''theme_guifinet2011'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Instalació de serveis =&lt;br /&gt;
Per a fer funcionar '''Drupal''' a la màquina de desenvolupament cal posar en marxa un servidor web, el mòdul '''PHP''' pel servidor web i un servidor de base de dades ('''MySQL''').&lt;br /&gt;
&lt;br /&gt;
En funció del nostre sistema operatiu i les nostres preferències, la instalació d'aquests serveis es realitzarà d'una manera o d'una altra. A continuació es detalla pels entorns '''Debian/Ubuntu''' amb '''Apache+PHP+Mysql''' i '''Archlinux''' amb '''Nginx+PHP+Mysql'''. Totes dues instalacions són simples.&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
 $ sudo apt-get install mysql-server libapache2-mod-php5 php5-gd php5-mysql&lt;br /&gt;
&lt;br /&gt;
* Archlinux:&lt;br /&gt;
 $ pacman -S nginx mysql php-fpm php-gd&lt;br /&gt;
&lt;br /&gt;
Documentació per a Archlinux: [https://wiki.archlinux.org/index.php/Apache,_PHP,_and_MySQL Apache, PHP and MySQL], [https://wiki.archlinux.org/index.php/Nginx Nginx]&lt;br /&gt;
&lt;br /&gt;
La configuració del servidor web (Apache/lighttpd/nginx) per a fer que funcioni el mòdul de PHP a l'arrel del nostre directori web depèn del nostre sistema. A Google podeu trobar tutorials si no teniu clar com fer-lo. Si en trobeu un d'interessant, si us plau, enllaçeu-lo a aquest document.&lt;br /&gt;
&lt;br /&gt;
== Configuració de php.ini ==&lt;br /&gt;
Hem de tenir activats els següents mòduls a l'arxiu php.ini:&lt;br /&gt;
&lt;br /&gt;
 extension=mysql.so&lt;br /&gt;
 extension=iconv.so&lt;br /&gt;
 extension=gd.so&lt;br /&gt;
&lt;br /&gt;
Ara heu de testejar si el vostre sistema interpreta arxius PHP. Aquí teniu un exemple que podeu crear al DOCUMENT_ROOT '''(generalment  /var/www)''' del vostre servidor web. Si no us funciona reviseu els passos anteriors i consulteu la documentació de la vostra distribució.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuració de fitxers'''&lt;br /&gt;
Per tal de no tenir problemes en la nostra instal·lació de l'entorn de desenvolupament, es necessari realitzar algunes modificacions dins  d'uns fitxers concrets els quals esmentarem per tal de que tot funcioni correctament:&lt;br /&gt;
&lt;br /&gt;
En l'adreça següent:&lt;br /&gt;
/etc/apache2/sites-enabled/&lt;br /&gt;
&lt;br /&gt;
Hi tenim un únic fitxer el qual es diu '000-default'. Bé, mitjançant un editor de text de shell (com pot ser el vi) editarem el fitxer:&lt;br /&gt;
&lt;br /&gt;
$ vi 000-default&lt;br /&gt;
&lt;br /&gt;
Dins del fitxer, hem de buscar el següent text: 'Allow Override None' en tot el text i substituir-lo per 'Allow Override All'. Per realitzar la modificació, mitjançant les fletxes de direcció ens situarem sobre la línia en qüestió i apretarem la tecla 'i' la qual ens permetrà escriure. Si es presenten problemes, sembre es pot sortir del fitxer sense desar mitjançant la tecla 'ESC' seguit de la comanda ':q!' &amp;lt;quit without saving&amp;gt; &amp;lt;&amp;lt; sortir sense guardar.&lt;br /&gt;
&lt;br /&gt;
La nostra web amb drupal necessita fer servir '''Clean URL''' i per tal de que aquestes es puguin aplicar es necessari tenir activat el mòdul '''rewrite'''. Per tal d'activar aquest mòdul, utilitzarem les comandes següents:&lt;br /&gt;
&lt;br /&gt;
$a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
Ens informarà que el mòdul està actiu i que s'haurà de reiniciar el servei, cosa que farem amb la comanda:&lt;br /&gt;
&lt;br /&gt;
$ /etc/init.d/apache2 restart o bé&lt;br /&gt;
$ service apache2 restart&lt;br /&gt;
&lt;br /&gt;
= Descarregant el codi font =&lt;br /&gt;
El codi dels mòduls &amp;quot;drupal-guifi&amp;quot;, &amp;quot;drupal-bugdets&amp;quot; i &amp;quot;theme_guifinet2011&amp;quot; son [[software lliure]], i estan allotjats als [[repositoris]] de Gitorious. Els repositoris son útils per desenvolupament de programari però nosaltres ens limitarem a clonar-los.&lt;br /&gt;
&lt;br /&gt;
== Requisits pel clonatge del repositori drupal-guifi ==&lt;br /&gt;
Viam cóm deuríem procedir per a fer un fork del projecte &amp;quot;drupal-guifi&amp;quot; de cara a realitzar alguna modificació sobre el seu codi font.&lt;br /&gt;
&lt;br /&gt;
* Crear-se una compta a [http://gitorious.org Gitorious].&lt;br /&gt;
* Crear unes claus SSH (ssh-keygen) sense contrasenya, i afegir-las al nostre perfil d'usuari de gitorious. Per exemple:&lt;br /&gt;
 $ ssh-keygen &lt;br /&gt;
 Generating public/private rsa key pair.&lt;br /&gt;
 Enter file in which to save the key (/home/dave/.ssh/id_rsa): &lt;br /&gt;
 Enter passphrase (empty for no passphrase): &lt;br /&gt;
 Enter same passphrase again: &lt;br /&gt;
 Your identification has been saved in /home/dave/.ssh/id_rsa.&lt;br /&gt;
 Your public key has been saved in /home/dave/.ssh/id_rsa.pub.&lt;br /&gt;
&lt;br /&gt;
* Accedir a la pàgina del projecte &amp;quot;[https://gitorious.org/guifi/drupal-guifi drupal-guifi]&amp;quot;.&lt;br /&gt;
* Clonar el projecte. Amb això ja tindrem un fork del projecte sobre el que podem realitzar els nostres canvis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pàginas web a Gitorious dels projectes amb els que anem a treballar:&lt;br /&gt;
* https://gitorious.org/guifi/drupal-guifi&lt;br /&gt;
* https://gitorious.org/guifi/drupal-budgets&lt;br /&gt;
* https://gitorious.org/guifi-web/theme_guifinet2011&lt;br /&gt;
&lt;br /&gt;
= Descarrega, instalació i configuració d'un entorn Drupal =&lt;br /&gt;
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 &amp;quot;drupal-guifi&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Descàrregues ==&lt;br /&gt;
* La darrera versió de Drupal 6.x desde linea de comandes&lt;br /&gt;
  wget http://ftp.drupal.org/files/projects/drupal-6.29.tar.gz&lt;br /&gt;
i habilitar l'accès via web:&lt;br /&gt;
 ln -s /usr/share/drupal6/ /var/www/guifi&lt;br /&gt;
&lt;br /&gt;
* Mòduls de Drupal fonamentals per al nostre entorn drupal : webform, views, i18n, views_slideshow&lt;br /&gt;
* Mòduls de Drupal opcionals: schema, devel, potx, l10n_client, languageicons, language_sections, diff, captcha, captcha_pack, event, cck, fckeditor, image, image_filter&lt;br /&gt;
* Mòduls desenvolupats per la comunitat Guifi.net: budgets, guifi&lt;br /&gt;
* El tema oficial &amp;quot;theme_guifinet2011&amp;quot;&lt;br /&gt;
* La base de dades actual de desenvolupament de la web de guifi.net:&lt;br /&gt;
 $ wget http://www.guifi.net/guifi66_devel.sql.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de Drupal ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Aquests son els passos bàsics per a instal·lar i configurar un site Drupal:&lt;br /&gt;
* Descomprimim el paquet de Drupal que ens hem descarregat i el posem accesible al DOCUMENT_ROOT d'Apache:&lt;br /&gt;
 $ cd /var/www&lt;br /&gt;
 $ tar zxvf drupal-6.29.tar.gz&lt;br /&gt;
 $ ln -s drupal-6.29 guifi&lt;br /&gt;
&lt;br /&gt;
* Iniciem el procés de instalació via web de Drupal accedint a http://&amp;lt;ip_del_teu_servidor&amp;gt;/guifi&lt;br /&gt;
&lt;br /&gt;
exemples:&lt;br /&gt;
&lt;br /&gt;
http://10.138.71.10/guifi&lt;br /&gt;
http://localhost/guifi&lt;br /&gt;
&lt;br /&gt;
* 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:&lt;br /&gt;
&lt;br /&gt;
 [dave@inuik http]$ mysql -u &amp;lt;nomusuari&amp;gt; -p &amp;lt;contrassenya&amp;gt; &amp;lt;&amp;lt; es possible &lt;br /&gt;
  que amb root no fagi falta una password&lt;br /&gt;
&lt;br /&gt;
exemple:&lt;br /&gt;
$ mysql -u root -p &amp;lt;salt de linia&amp;gt;&lt;br /&gt;
Enter password: &amp;lt;escritura_de_la_password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 525&lt;br /&gt;
Server version: 5.5.31-0+wheezy1 (Debian)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000,2013, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.&lt;br /&gt;
&lt;br /&gt;
 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; create database guifi_test;&lt;br /&gt;
 Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; grant all on guifi_test.* to guifi@localhost identified by 'guifinet';&lt;br /&gt;
 Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
Ja podem introduir la informació de connexió a la base de dades per a que Drupal cregui les tables necessàries.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels mòduls de Drupal necessaris per a arrencar l'entorn ==&lt;br /&gt;
Descarregar els mòduls absolutament necessaris per a arrencar el nostre site de Guifi.net&lt;br /&gt;
&lt;br /&gt;
'''ATENCIÓ'''. Fixeu-vos que el mòdul &amp;quot;drupal-guifi&amp;quot; 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'').&lt;br /&gt;
&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/modules&lt;br /&gt;
 $ cd drupal-6.29/sites/all/modules&lt;br /&gt;
 $ git clone git://gitorious.org/guifi/drupal-budgets.git budgets&lt;br /&gt;
 $ # Clonat de MI FORK del mòdul &amp;quot;drupal-guifi&amp;quot; &lt;br /&gt;
 $ git clone git@gitorious.org:~tombatossals/guifi/tombatossalss-drupal-guifi.git guifi (canvia &amp;quot;~tombatossals/guifi/tombatossalss-drupal-guifi.git&amp;quot; pel teu repositori clonat )&lt;br /&gt;
&lt;br /&gt;
És possible (degut a que a mi m'ha passat) que al executar les comandes per a la decàrrega de mòduls el sistema fagi de tot menys el que toca. De ser així, es poden realitzar les comandes sense les opcions '-q' i '-O'.&lt;br /&gt;
&lt;br /&gt;
'''Mòdul WebForm:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/webform-6.x-3.19.tar.gz &lt;br /&gt;
 '''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/webform-6.x-3.19.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views-6.x-2.16.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views-6.x-2.16.tar.gz &lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views_slideshow:''' &lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul i18n &amp;lt;Multi-idioma&amp;gt;:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Dins de l'adreça /var/www/drupal-6.29/sites/all/modules, on tindrem descarregats els nostres mòduls, els descomprimirem mitjançant la ordre:&lt;br /&gt;
&lt;br /&gt;
 $ tar zxvf &amp;lt;nom_del_fitxer_a_descomprimir&amp;gt;&lt;br /&gt;
 $ tar zxvf i18n-6.x-1.10.tar.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de la base de dades de desenvolupament de Guifi.net ==&lt;br /&gt;
Ja tenim una instalació neta de Drupal, almenys en teoria. 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ò:&lt;br /&gt;
&lt;br /&gt;
 $ mysql -u root guifi_test &amp;lt; guifi66_devel.sql; &amp;lt;&amp;lt; recordem que &lt;br /&gt;
   les comandes dins de MySQL s'acaben amb un ';'&lt;br /&gt;
'''&lt;br /&gt;
== Afinant la instalació =='''&lt;br /&gt;
&lt;br /&gt;
Un cop realitzada la instal·lació, s'ha d'editar el fitxer .htaccess, que es troba dins de la carpeta arrel de drupal :&lt;br /&gt;
&lt;br /&gt;
 $ cd /var/www/drupal-6.29&lt;br /&gt;
 $ ls -la &amp;lt;&amp;lt; per mostrar llistats tots els fitxers inclosos els ocults&lt;br /&gt;
&lt;br /&gt;
Ens mostrarà un arxiu ocult anomenat : .htaccess&lt;br /&gt;
L'editarem mitjançant un editor de text:&lt;br /&gt;
&lt;br /&gt;
 $ vi .htaccess&lt;br /&gt;
&lt;br /&gt;
En una linia buida del fitxer, apretarem la 'i' per escriure-hi i afegirem la següent linia: RewriteBase /drupal-6.29&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
L'usuari administrador serà &amp;quot;webmestre&amp;quot; i la contrasenya &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Alguns consells per a refinar la instalació:'''&lt;br /&gt;
* Creeu i comproveu que els directoris &amp;quot;files&amp;quot;, &amp;quot;files/nanostation&amp;quot; i &amp;quot;tmp&amp;quot; del directori de instalació de drupal tenen permisos de escriptura per l'usuari del servidor web (o poseu-los a 777):&lt;br /&gt;
 $ mkdir drupal-6.29/{files,files/nanostation,tmp}&lt;br /&gt;
 $ chmod 777 drupal-6.29/{files,files/nanostation,tmp}&lt;br /&gt;
&lt;br /&gt;
* La carpeta &amp;quot;files/nanostation&amp;quot; contendrà els arxius &amp;quot;unsolclic&amp;quot; de les antenes Ubiquiti que anem consultant o creant.&lt;br /&gt;
&lt;br /&gt;
* Protegiu la carpeta &amp;quot;files&amp;quot; i &amp;quot;tmp&amp;quot; amb el seu respectiu fixter .htaccess&lt;br /&gt;
A la carpeta &amp;quot;files&amp;quot; el ftixer .htaccess ha de incloure aquest contingut:&lt;br /&gt;
&lt;br /&gt;
 # Turn off all options we don't need.&lt;br /&gt;
 Options None&lt;br /&gt;
 Options +FollowSymLinks&lt;br /&gt;
 # Set the catch-all handler to prevent scripts from being executed.&lt;br /&gt;
 SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006&lt;br /&gt;
 &amp;lt;Files *&amp;gt;&lt;br /&gt;
   # Override the handler again if we're run later in the evaluation list.&lt;br /&gt;
   SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003&lt;br /&gt;
 &amp;lt;/Files&amp;gt;&lt;br /&gt;
 # If we know how to do it safely, disable the PHP engine entirely.&lt;br /&gt;
 &amp;lt;IfModule mod_php5.c&amp;gt;&lt;br /&gt;
   php_flag engine off&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 # PHP 4, Apache 1.&lt;br /&gt;
 &amp;lt;IfModule mod_php4.c&amp;gt;&lt;br /&gt;
   php_flag engine off&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 # PHP 4, Apache 2.&lt;br /&gt;
 &amp;lt;IfModule sapi_apache2.c&amp;gt;&lt;br /&gt;
   php_flag engine off&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I a la carpeta &amp;quot;tmp&amp;quot;, el fitxer .htaccess ha de ser exactament el mateix que el de &amp;quot;files&amp;quot; pero hi hem d'afegir al final de tot això:&lt;br /&gt;
&lt;br /&gt;
 Deny from all&lt;br /&gt;
&lt;br /&gt;
* Editeu el fitxer robots.txt, elimineu-ne tot el contingut i afegiu únicament aquestes linies, doncs no ens interessa que els robots indexin el nostre entorn local.&lt;br /&gt;
&lt;br /&gt;
 User-agent: *&lt;br /&gt;
 Disallow: /&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Comproveu els possibles errors de instalació de Drupal accedint com usuari &amp;quot;webmestre&amp;quot; a la pàgina de administració i, des d'allà, a la pàgina de &amp;quot;Report Status&amp;quot;. Ex: http://localhost/guifi/ca/admin/reports/status&lt;br /&gt;
&lt;br /&gt;
* Accediu a la secció de configuració de &amp;quot;Performance&amp;quot; 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&lt;br /&gt;
&lt;br /&gt;
== Instalació del tema Guifi.net al Drupal ==&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/themes&lt;br /&gt;
 $ cd drupal-6.29/sites/all/themes&lt;br /&gt;
 $ git clone git://gitorious.org/guifi-web/theme_guifinet2011.git &lt;br /&gt;
&lt;br /&gt;
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'&amp;quot;administració de temes&amp;quot;, &amp;quot;configuració del tema de guifinet2011&amp;quot; i &amp;quot;desar&amp;quot; sense tocar cap opció. El tema per fi estarà activat.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels idiomes ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Descarregueu la traducció de l'idioma de aquí: http://localize.drupal.org/. &lt;br /&gt;
&lt;br /&gt;
Per exemple: http://ftp.drupal.org/files/translations/6.x/drupal/drupal-6.29.ca.po&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
* Indiqueu-li l'idioma de l'arxiu que heu descarregat e importeu-lo. A partir d'aquí ja tindrem l'interfície traduïda.&lt;br /&gt;
&lt;br /&gt;
= Començant a treballar =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Per a fer commit dels nostres canvis:&lt;br /&gt;
&lt;br /&gt;
 $ cd drupal-6.29/site/all/modules/drupal-guifi&lt;br /&gt;
 $ # Fem modificacions a alguns arxius, les enregistrem al nostre repositori i procedirem a pujar-les a gitorious&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
 $ git push&lt;br /&gt;
&lt;br /&gt;
Posteriorment, des de la web de Gitorious podrem fer servir un &amp;quot;Merge request&amp;quot; per notificar als desenvolupadors alguna de les nostres modificacions i que valorin la seva incorporació al repositori principal.&lt;br /&gt;
&lt;br /&gt;
== Actualitzant el nostre repositori amb els canvis del repositori pare ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 # Definim com repositori remot anomenat &amp;quot;upstream&amp;quot; el repositori de &amp;quot;drupal-guifi&amp;quot;&lt;br /&gt;
 $ git remote add upstream git://gitorious.org/guifi/drupal-guifi.git&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del nostre repositori&lt;br /&gt;
 $ git fetch origin -v&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del repositori pare&lt;br /&gt;
 $ git fetch upstream -v&lt;br /&gt;
 &lt;br /&gt;
 # Fem el merge dels canvis obtinguts&lt;br /&gt;
 $ git merge upstream/master&lt;br /&gt;
&lt;br /&gt;
== Referències ==&lt;br /&gt;
{{MM|url=https://lists.guifi.net/pipermail/guifi-webdev/2012-February/001750.html|list=webdev}}&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;br /&gt;
* http://acacha.org/mediawiki/index.php/Entorn_de_desenvolupament_guifi&lt;/div&gt;</summary>
		<author><name>Miquelm</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament</id>
		<title>Preparant l'entorn de desenvolupament</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament"/>
				<updated>2013-12-02T23:20:08Z</updated>
		
		<summary type="html">&lt;p&gt;Miquelm: /* Instalació de la base de dades de desenvolupament de Guifi.net */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introducció =&lt;br /&gt;
Aquest document té com finalitat documentar alguns consells sobre com preparar un entorn de desenvolupament per col·laborar en el desenvolupament de la web de guifi.net. Ens centrarem al mòdul &amp;quot;'''drupal-guifi'''&amp;quot;, 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 &amp;quot;'''theme_guifinet2011'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Instalació de serveis =&lt;br /&gt;
Per a fer funcionar '''Drupal''' a la màquina de desenvolupament cal posar en marxa un servidor web, el mòdul '''PHP''' pel servidor web i un servidor de base de dades ('''MySQL''').&lt;br /&gt;
&lt;br /&gt;
En funció del nostre sistema operatiu i les nostres preferències, la instalació d'aquests serveis es realitzarà d'una manera o d'una altra. A continuació es detalla pels entorns '''Debian/Ubuntu''' amb '''Apache+PHP+Mysql''' i '''Archlinux''' amb '''Nginx+PHP+Mysql'''. Totes dues instalacions són simples.&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
 $ sudo apt-get install mysql-server libapache2-mod-php5 php5-gd php5-mysql&lt;br /&gt;
&lt;br /&gt;
* Archlinux:&lt;br /&gt;
 $ pacman -S nginx mysql php-fpm php-gd&lt;br /&gt;
&lt;br /&gt;
Documentació per a Archlinux: [https://wiki.archlinux.org/index.php/Apache,_PHP,_and_MySQL Apache, PHP and MySQL], [https://wiki.archlinux.org/index.php/Nginx Nginx]&lt;br /&gt;
&lt;br /&gt;
La configuració del servidor web (Apache/lighttpd/nginx) per a fer que funcioni el mòdul de PHP a l'arrel del nostre directori web depèn del nostre sistema. A Google podeu trobar tutorials si no teniu clar com fer-lo. Si en trobeu un d'interessant, si us plau, enllaçeu-lo a aquest document.&lt;br /&gt;
&lt;br /&gt;
== Configuració de php.ini ==&lt;br /&gt;
Hem de tenir activats els següents mòduls a l'arxiu php.ini:&lt;br /&gt;
&lt;br /&gt;
 extension=mysql.so&lt;br /&gt;
 extension=iconv.so&lt;br /&gt;
 extension=gd.so&lt;br /&gt;
&lt;br /&gt;
Ara heu de testejar si el vostre sistema interpreta arxius PHP. Aquí teniu un exemple que podeu crear al DOCUMENT_ROOT '''(generalment  /var/www)''' del vostre servidor web. Si no us funciona reviseu els passos anteriors i consulteu la documentació de la vostra distribució.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuració de fitxers'''&lt;br /&gt;
Per tal de no tenir problemes en la nostra instal·lació de l'entorn de desenvolupament, es necessari realitzar algunes modificacions dins  d'uns fitxers concrets els quals esmentarem per tal de que tot funcioni correctament:&lt;br /&gt;
&lt;br /&gt;
En l'adreça següent:&lt;br /&gt;
/etc/apache2/sites-enabled/&lt;br /&gt;
&lt;br /&gt;
Hi tenim un únic fitxer el qual es diu '000-default'. Bé, mitjançant un editor de text de shell (com pot ser el vi) editarem el fitxer:&lt;br /&gt;
&lt;br /&gt;
$ vi 000-default&lt;br /&gt;
&lt;br /&gt;
Dins del fitxer, hem de buscar el següent text: 'Allow Override None' en tot el text i substituir-lo per 'Allow Override All'. Per realitzar la modificació, mitjançant les fletxes de direcció ens situarem sobre la línia en qüestió i apretarem la tecla 'i' la qual ens permetrà escriure. Si es presenten problemes, sembre es pot sortir del fitxer sense desar mitjançant la tecla 'ESC' seguit de la comanda ':q!' &amp;lt;quit without saving&amp;gt; &amp;lt;&amp;lt; sortir sense guardar.&lt;br /&gt;
&lt;br /&gt;
La nostra web amb drupal necessita fer servir '''Clean URL''' i per tal de que aquestes es puguin aplicar es necessari tenir activat el mòdul '''rewrite'''. Per tal d'activar aquest mòdul, utilitzarem les comandes següents:&lt;br /&gt;
&lt;br /&gt;
$a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
Ens informarà que el mòdul està actiu i que s'haurà de reiniciar el servei, cosa que farem amb la comanda:&lt;br /&gt;
&lt;br /&gt;
$ /etc/init.d/apache2 restart o bé&lt;br /&gt;
$ service apache2 restart&lt;br /&gt;
&lt;br /&gt;
= Descarregant el codi font =&lt;br /&gt;
El codi dels mòduls &amp;quot;drupal-guifi&amp;quot;, &amp;quot;drupal-bugdets&amp;quot; i &amp;quot;theme_guifinet2011&amp;quot; son [[software lliure]], i estan allotjats als [[repositoris]] de Gitorious. Els repositoris son útils per desenvolupament de programari però nosaltres ens limitarem a clonar-los.&lt;br /&gt;
&lt;br /&gt;
== Requisits pel clonatge del repositori drupal-guifi ==&lt;br /&gt;
Viam cóm deuríem procedir per a fer un fork del projecte &amp;quot;drupal-guifi&amp;quot; de cara a realitzar alguna modificació sobre el seu codi font.&lt;br /&gt;
&lt;br /&gt;
* Crear-se una compta a [http://gitorious.org Gitorious].&lt;br /&gt;
* Crear unes claus SSH (ssh-keygen) sense contrasenya, i afegir-las al nostre perfil d'usuari de gitorious. Per exemple:&lt;br /&gt;
 $ ssh-keygen &lt;br /&gt;
 Generating public/private rsa key pair.&lt;br /&gt;
 Enter file in which to save the key (/home/dave/.ssh/id_rsa): &lt;br /&gt;
 Enter passphrase (empty for no passphrase): &lt;br /&gt;
 Enter same passphrase again: &lt;br /&gt;
 Your identification has been saved in /home/dave/.ssh/id_rsa.&lt;br /&gt;
 Your public key has been saved in /home/dave/.ssh/id_rsa.pub.&lt;br /&gt;
&lt;br /&gt;
* Accedir a la pàgina del projecte &amp;quot;[https://gitorious.org/guifi/drupal-guifi drupal-guifi]&amp;quot;.&lt;br /&gt;
* Clonar el projecte. Amb això ja tindrem un fork del projecte sobre el que podem realitzar els nostres canvis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pàginas web a Gitorious dels projectes amb els que anem a treballar:&lt;br /&gt;
* https://gitorious.org/guifi/drupal-guifi&lt;br /&gt;
* https://gitorious.org/guifi/drupal-budgets&lt;br /&gt;
* https://gitorious.org/guifi-web/theme_guifinet2011&lt;br /&gt;
&lt;br /&gt;
= Descarrega, instalació i configuració d'un entorn Drupal =&lt;br /&gt;
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 &amp;quot;drupal-guifi&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Descàrregues ==&lt;br /&gt;
* La darrera versió de Drupal 6.x desde linea de comandes&lt;br /&gt;
  wget http://ftp.drupal.org/files/projects/drupal-6.29.tar.gz&lt;br /&gt;
i habilitar l'accès via web:&lt;br /&gt;
 ln -s /usr/share/drupal6/ /var/www/guifi&lt;br /&gt;
&lt;br /&gt;
* Mòduls de Drupal fonamentals per al nostre entorn drupal : webform, views, i18n, views_slideshow&lt;br /&gt;
* Mòduls de Drupal opcionals: schema, devel, potx, l10n_client, languageicons, language_sections, diff, captcha, captcha_pack, event, cck, fckeditor, image, image_filter&lt;br /&gt;
* Mòduls desenvolupats per la comunitat Guifi.net: budgets, guifi&lt;br /&gt;
* El tema oficial &amp;quot;theme_guifinet2011&amp;quot;&lt;br /&gt;
* La base de dades actual de desenvolupament de la web de guifi.net:&lt;br /&gt;
 $ wget http://www.guifi.net/guifi66_devel.sql.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de Drupal ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Aquests son els passos bàsics per a instal·lar i configurar un site Drupal:&lt;br /&gt;
* Descomprimim el paquet de Drupal que ens hem descarregat i el posem accesible al DOCUMENT_ROOT d'Apache:&lt;br /&gt;
 $ cd /var/www&lt;br /&gt;
 $ tar zxvf drupal-6.29.tar.gz&lt;br /&gt;
 $ ln -s drupal-6.29 guifi&lt;br /&gt;
&lt;br /&gt;
* Iniciem el procés de instalació via web de Drupal accedint a http://&amp;lt;ip_del_teu_servidor&amp;gt;/guifi&lt;br /&gt;
&lt;br /&gt;
exemples:&lt;br /&gt;
&lt;br /&gt;
http://10.138.71.10/guifi&lt;br /&gt;
http://localhost/guifi&lt;br /&gt;
&lt;br /&gt;
* 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:&lt;br /&gt;
&lt;br /&gt;
 [dave@inuik http]$ mysql -u &amp;lt;nomusuari&amp;gt; -p &amp;lt;contrassenya&amp;gt; &amp;lt;&amp;lt; es possible &lt;br /&gt;
  que amb root no fagi falta una password&lt;br /&gt;
&lt;br /&gt;
exemple:&lt;br /&gt;
$ mysql -u root -p &amp;lt;salt de linia&amp;gt;&lt;br /&gt;
Enter password: &amp;lt;escritura_de_la_password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 525&lt;br /&gt;
Server version: 5.5.31-0+wheezy1 (Debian)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000,2013, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.&lt;br /&gt;
&lt;br /&gt;
 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; create database guifi_test;&lt;br /&gt;
 Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; grant all on guifi_test.* to guifi@localhost identified by 'guifinet';&lt;br /&gt;
 Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
Ja podem introduir la informació de connexió a la base de dades per a que Drupal cregui les tables necessàries.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels mòduls de Drupal necessaris per a arrencar l'entorn ==&lt;br /&gt;
Descarregar els mòduls absolutament necessaris per a arrencar el nostre site de Guifi.net&lt;br /&gt;
&lt;br /&gt;
'''ATENCIÓ'''. Fixeu-vos que el mòdul &amp;quot;drupal-guifi&amp;quot; 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'').&lt;br /&gt;
&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/modules&lt;br /&gt;
 $ cd drupal-6.29/sites/all/modules&lt;br /&gt;
 $ git clone git://gitorious.org/guifi/drupal-budgets.git budgets&lt;br /&gt;
 $ # Clonat de MI FORK del mòdul &amp;quot;drupal-guifi&amp;quot; &lt;br /&gt;
 $ git clone git@gitorious.org:~tombatossals/guifi/tombatossalss-drupal-guifi.git guifi (canvia &amp;quot;~tombatossals/guifi/tombatossalss-drupal-guifi.git&amp;quot; pel teu repositori clonat )&lt;br /&gt;
&lt;br /&gt;
És possible (degut a que a mi m'ha passat) que al executar les comandes per a la decàrrega de mòduls el sistema fagi de tot menys el que toca. De ser així, es poden realitzar les comandes sense les opcions '-q' i '-O'.&lt;br /&gt;
&lt;br /&gt;
'''Mòdul WebForm:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/webform-6.x-3.19.tar.gz &lt;br /&gt;
 '''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/webform-6.x-3.19.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views-6.x-2.16.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views-6.x-2.16.tar.gz &lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views_slideshow:''' &lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul i18n &amp;lt;Multi-idioma&amp;gt;:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Dins de l'adreça /var/www/drupal-6.29/sites/all/modules, on tindrem descarregats els nostres mòduls, els descomprimirem mitjançant la ordre:&lt;br /&gt;
&lt;br /&gt;
 $ tar zxvf &amp;lt;nom_del_fitxer_a_descomprimir&amp;gt;&lt;br /&gt;
 $ tar zxvf i18n-6.x-1.10.tar.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de la base de dades de desenvolupament de Guifi.net ==&lt;br /&gt;
Ja tenim una instalació neta de Drupal, almenys en teoria. 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ò:&lt;br /&gt;
&lt;br /&gt;
 $ mysql -u root guifi_test &amp;lt; guifi66_devel.sql; &amp;lt;&amp;lt; recordem que &lt;br /&gt;
   les comandes dins de MySQL s'acaben amb un ';'&lt;br /&gt;
'''&lt;br /&gt;
== Afinant la instalació =='''&lt;br /&gt;
&lt;br /&gt;
Un cop realitzada la instal·lació, s'ha d'editar el fitxer .htaccess, que es troba dins de la carpeta arrel de drupal :&lt;br /&gt;
&lt;br /&gt;
 $ cd /var/www/drupal-6.29&lt;br /&gt;
 $ ls -la &amp;lt;&amp;lt; per mostrar llistats tots els fitxers inclosos els ocults&lt;br /&gt;
&lt;br /&gt;
Ens mostrarà un arxiu ocult anomenat : .htaccess&lt;br /&gt;
L'editarem mitjançant un editor de text:&lt;br /&gt;
&lt;br /&gt;
 $ vi .htaccess&lt;br /&gt;
&lt;br /&gt;
En una linia buida del fitxer, apretarem la 'i' per escriure-hi i afegirem la següent linia: RewriteBase /drupal-6.29&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
L'usuari administrador serà &amp;quot;webmestre&amp;quot; i la contrasenya &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Alguns consells per a refinar la instalació:'''&lt;br /&gt;
* Creeu i comproveu que els directoris &amp;quot;files&amp;quot;, &amp;quot;files/nanostation&amp;quot; i &amp;quot;tmp&amp;quot; del directori de instalació de drupal tenen permisos de escriptura per l'usuari del servidor web (o poseu-los a 777):&lt;br /&gt;
 $ mkdir drupal-6.29/{files,files/nanostation,tmp}&lt;br /&gt;
 $ chmod 777 drupal-6.29/{files,files/nanostation,tmp}&lt;br /&gt;
&lt;br /&gt;
* La carpeta &amp;quot;files/nanostation&amp;quot; contendrà els arxius &amp;quot;unsolclic&amp;quot; de les antenes Ubiquiti que anem consultant o creant.&lt;br /&gt;
&lt;br /&gt;
* Protegiu la carpeta &amp;quot;files&amp;quot; i &amp;quot;tmp&amp;quot; amb el seu respectiu fixter .htaccess&lt;br /&gt;
  a &amp;quot;files&amp;quot; ha de incloure aquest contingut:&lt;br /&gt;
&lt;br /&gt;
# Turn off all options we don't need.&lt;br /&gt;
Options None&lt;br /&gt;
Options +FollowSymLinks&lt;br /&gt;
&lt;br /&gt;
# Set the catch-all handler to prevent scripts from being executed.&lt;br /&gt;
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006&lt;br /&gt;
&amp;lt;Files *&amp;gt;&lt;br /&gt;
  # Override the handler again if we're run later in the evaluation list.&lt;br /&gt;
  SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003&lt;br /&gt;
&amp;lt;/Files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# If we know how to do it safely, disable the PHP engine entirely.&lt;br /&gt;
&amp;lt;IfModule mod_php5.c&amp;gt;&lt;br /&gt;
  php_flag engine off&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
# PHP 4, Apache 1.&lt;br /&gt;
&amp;lt;IfModule mod_php4.c&amp;gt;&lt;br /&gt;
  php_flag engine off&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
# PHP 4, Apache 2.&lt;br /&gt;
&amp;lt;IfModule sapi_apache2.c&amp;gt;&lt;br /&gt;
  php_flag engine off&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
i a &amp;quot;tmp&amp;quot;, exactament el mateix pero hi hem d'afegir al final de tot això:&lt;br /&gt;
&lt;br /&gt;
Deny from all&lt;br /&gt;
&lt;br /&gt;
* Editeu el fitxer robots.txt, elimineu-ne tot el contingut i afegir únicament aquestes linies, doncs no ens interessa que els robots indexin el nostre entorn local.&lt;br /&gt;
&lt;br /&gt;
User-agent: *&lt;br /&gt;
Disallow: /&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Comproveu els possibles errors de instalació de Drupal accedint com usuari &amp;quot;webmestre&amp;quot; a la pàgina de administració i, des d'allà, a la pàgina de &amp;quot;Report Status&amp;quot;. Ex: http://localhost/guifi/ca/admin/reports/status&lt;br /&gt;
&lt;br /&gt;
* Accediu a la secció de configuració de &amp;quot;Performance&amp;quot; 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&lt;br /&gt;
&lt;br /&gt;
== Instalació del tema Guifi.net al Drupal ==&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/themes&lt;br /&gt;
 $ cd drupal-6.29/sites/all/themes&lt;br /&gt;
 $ git clone git://gitorious.org/guifi-web/theme_guifinet2011.git &lt;br /&gt;
&lt;br /&gt;
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'&amp;quot;administració de temes&amp;quot;, &amp;quot;configuració del tema de guifinet2011&amp;quot; i &amp;quot;desar&amp;quot; sense tocar cap opció. El tema per fi estarà activat.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels idiomes ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Descarregueu la traducció de l'idioma de aquí: http://localize.drupal.org/. &lt;br /&gt;
&lt;br /&gt;
Per exemple: http://ftp.drupal.org/files/translations/6.x/drupal/drupal-6.29.ca.po&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
* Indiqueu-li l'idioma de l'arxiu que heu descarregat e importeu-lo. A partir d'aquí ja tindrem l'interfície traduïda.&lt;br /&gt;
&lt;br /&gt;
= Començant a treballar =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Per a fer commit dels nostres canvis:&lt;br /&gt;
&lt;br /&gt;
 $ cd drupal-6.29/site/all/modules/drupal-guifi&lt;br /&gt;
 $ # Fem modificacions a alguns arxius, les enregistrem al nostre repositori i procedirem a pujar-les a gitorious&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
 $ git push&lt;br /&gt;
&lt;br /&gt;
Posteriorment, des de la web de Gitorious podrem fer servir un &amp;quot;Merge request&amp;quot; per notificar als desenvolupadors alguna de les nostres modificacions i que valorin la seva incorporació al repositori principal.&lt;br /&gt;
&lt;br /&gt;
== Actualitzant el nostre repositori amb els canvis del repositori pare ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 # Definim com repositori remot anomenat &amp;quot;upstream&amp;quot; el repositori de &amp;quot;drupal-guifi&amp;quot;&lt;br /&gt;
 $ git remote add upstream git://gitorious.org/guifi/drupal-guifi.git&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del nostre repositori&lt;br /&gt;
 $ git fetch origin -v&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del repositori pare&lt;br /&gt;
 $ git fetch upstream -v&lt;br /&gt;
 &lt;br /&gt;
 # Fem el merge dels canvis obtinguts&lt;br /&gt;
 $ git merge upstream/master&lt;br /&gt;
&lt;br /&gt;
== Referències ==&lt;br /&gt;
{{MM|url=https://lists.guifi.net/pipermail/guifi-webdev/2012-February/001750.html|list=webdev}}&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;br /&gt;
* http://acacha.org/mediawiki/index.php/Entorn_de_desenvolupament_guifi&lt;/div&gt;</summary>
		<author><name>Miquelm</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament</id>
		<title>Preparant l'entorn de desenvolupament</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament"/>
				<updated>2013-12-02T23:13:58Z</updated>
		
		<summary type="html">&lt;p&gt;Miquelm: /* Instalació dels idiomes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introducció =&lt;br /&gt;
Aquest document té com finalitat documentar alguns consells sobre com preparar un entorn de desenvolupament per col·laborar en el desenvolupament de la web de guifi.net. Ens centrarem al mòdul &amp;quot;'''drupal-guifi'''&amp;quot;, 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 &amp;quot;'''theme_guifinet2011'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Instalació de serveis =&lt;br /&gt;
Per a fer funcionar '''Drupal''' a la màquina de desenvolupament cal posar en marxa un servidor web, el mòdul '''PHP''' pel servidor web i un servidor de base de dades ('''MySQL''').&lt;br /&gt;
&lt;br /&gt;
En funció del nostre sistema operatiu i les nostres preferències, la instalació d'aquests serveis es realitzarà d'una manera o d'una altra. A continuació es detalla pels entorns '''Debian/Ubuntu''' amb '''Apache+PHP+Mysql''' i '''Archlinux''' amb '''Nginx+PHP+Mysql'''. Totes dues instalacions són simples.&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
 $ sudo apt-get install mysql-server libapache2-mod-php5 php5-gd php5-mysql&lt;br /&gt;
&lt;br /&gt;
* Archlinux:&lt;br /&gt;
 $ pacman -S nginx mysql php-fpm php-gd&lt;br /&gt;
&lt;br /&gt;
Documentació per a Archlinux: [https://wiki.archlinux.org/index.php/Apache,_PHP,_and_MySQL Apache, PHP and MySQL], [https://wiki.archlinux.org/index.php/Nginx Nginx]&lt;br /&gt;
&lt;br /&gt;
La configuració del servidor web (Apache/lighttpd/nginx) per a fer que funcioni el mòdul de PHP a l'arrel del nostre directori web depèn del nostre sistema. A Google podeu trobar tutorials si no teniu clar com fer-lo. Si en trobeu un d'interessant, si us plau, enllaçeu-lo a aquest document.&lt;br /&gt;
&lt;br /&gt;
== Configuració de php.ini ==&lt;br /&gt;
Hem de tenir activats els següents mòduls a l'arxiu php.ini:&lt;br /&gt;
&lt;br /&gt;
 extension=mysql.so&lt;br /&gt;
 extension=iconv.so&lt;br /&gt;
 extension=gd.so&lt;br /&gt;
&lt;br /&gt;
Ara heu de testejar si el vostre sistema interpreta arxius PHP. Aquí teniu un exemple que podeu crear al DOCUMENT_ROOT '''(generalment  /var/www)''' del vostre servidor web. Si no us funciona reviseu els passos anteriors i consulteu la documentació de la vostra distribució.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuració de fitxers'''&lt;br /&gt;
Per tal de no tenir problemes en la nostra instal·lació de l'entorn de desenvolupament, es necessari realitzar algunes modificacions dins  d'uns fitxers concrets els quals esmentarem per tal de que tot funcioni correctament:&lt;br /&gt;
&lt;br /&gt;
En l'adreça següent:&lt;br /&gt;
/etc/apache2/sites-enabled/&lt;br /&gt;
&lt;br /&gt;
Hi tenim un únic fitxer el qual es diu '000-default'. Bé, mitjançant un editor de text de shell (com pot ser el vi) editarem el fitxer:&lt;br /&gt;
&lt;br /&gt;
$ vi 000-default&lt;br /&gt;
&lt;br /&gt;
Dins del fitxer, hem de buscar el següent text: 'Allow Override None' en tot el text i substituir-lo per 'Allow Override All'. Per realitzar la modificació, mitjançant les fletxes de direcció ens situarem sobre la línia en qüestió i apretarem la tecla 'i' la qual ens permetrà escriure. Si es presenten problemes, sembre es pot sortir del fitxer sense desar mitjançant la tecla 'ESC' seguit de la comanda ':q!' &amp;lt;quit without saving&amp;gt; &amp;lt;&amp;lt; sortir sense guardar.&lt;br /&gt;
&lt;br /&gt;
La nostra web amb drupal necessita fer servir '''Clean URL''' i per tal de que aquestes es puguin aplicar es necessari tenir activat el mòdul '''rewrite'''. Per tal d'activar aquest mòdul, utilitzarem les comandes següents:&lt;br /&gt;
&lt;br /&gt;
$a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
Ens informarà que el mòdul està actiu i que s'haurà de reiniciar el servei, cosa que farem amb la comanda:&lt;br /&gt;
&lt;br /&gt;
$ /etc/init.d/apache2 restart o bé&lt;br /&gt;
$ service apache2 restart&lt;br /&gt;
&lt;br /&gt;
= Descarregant el codi font =&lt;br /&gt;
El codi dels mòduls &amp;quot;drupal-guifi&amp;quot;, &amp;quot;drupal-bugdets&amp;quot; i &amp;quot;theme_guifinet2011&amp;quot; son [[software lliure]], i estan allotjats als [[repositoris]] de Gitorious. Els repositoris son útils per desenvolupament de programari però nosaltres ens limitarem a clonar-los.&lt;br /&gt;
&lt;br /&gt;
== Requisits pel clonatge del repositori drupal-guifi ==&lt;br /&gt;
Viam cóm deuríem procedir per a fer un fork del projecte &amp;quot;drupal-guifi&amp;quot; de cara a realitzar alguna modificació sobre el seu codi font.&lt;br /&gt;
&lt;br /&gt;
* Crear-se una compta a [http://gitorious.org Gitorious].&lt;br /&gt;
* Crear unes claus SSH (ssh-keygen) sense contrasenya, i afegir-las al nostre perfil d'usuari de gitorious. Per exemple:&lt;br /&gt;
 $ ssh-keygen &lt;br /&gt;
 Generating public/private rsa key pair.&lt;br /&gt;
 Enter file in which to save the key (/home/dave/.ssh/id_rsa): &lt;br /&gt;
 Enter passphrase (empty for no passphrase): &lt;br /&gt;
 Enter same passphrase again: &lt;br /&gt;
 Your identification has been saved in /home/dave/.ssh/id_rsa.&lt;br /&gt;
 Your public key has been saved in /home/dave/.ssh/id_rsa.pub.&lt;br /&gt;
&lt;br /&gt;
* Accedir a la pàgina del projecte &amp;quot;[https://gitorious.org/guifi/drupal-guifi drupal-guifi]&amp;quot;.&lt;br /&gt;
* Clonar el projecte. Amb això ja tindrem un fork del projecte sobre el que podem realitzar els nostres canvis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pàginas web a Gitorious dels projectes amb els que anem a treballar:&lt;br /&gt;
* https://gitorious.org/guifi/drupal-guifi&lt;br /&gt;
* https://gitorious.org/guifi/drupal-budgets&lt;br /&gt;
* https://gitorious.org/guifi-web/theme_guifinet2011&lt;br /&gt;
&lt;br /&gt;
= Descarrega, instalació i configuració d'un entorn Drupal =&lt;br /&gt;
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 &amp;quot;drupal-guifi&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Descàrregues ==&lt;br /&gt;
* La darrera versió de Drupal 6.x desde linea de comandes&lt;br /&gt;
  wget http://ftp.drupal.org/files/projects/drupal-6.29.tar.gz&lt;br /&gt;
i habilitar l'accès via web:&lt;br /&gt;
 ln -s /usr/share/drupal6/ /var/www/guifi&lt;br /&gt;
&lt;br /&gt;
* Mòduls de Drupal fonamentals per al nostre entorn drupal : webform, views, i18n, views_slideshow&lt;br /&gt;
* Mòduls de Drupal opcionals: schema, devel, potx, l10n_client, languageicons, language_sections, diff, captcha, captcha_pack, event, cck, fckeditor, image, image_filter&lt;br /&gt;
* Mòduls desenvolupats per la comunitat Guifi.net: budgets, guifi&lt;br /&gt;
* El tema oficial &amp;quot;theme_guifinet2011&amp;quot;&lt;br /&gt;
* La base de dades actual de desenvolupament de la web de guifi.net:&lt;br /&gt;
 $ wget http://www.guifi.net/guifi66_devel.sql.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de Drupal ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Aquests son els passos bàsics per a instal·lar i configurar un site Drupal:&lt;br /&gt;
* Descomprimim el paquet de Drupal que ens hem descarregat i el posem accesible al DOCUMENT_ROOT d'Apache:&lt;br /&gt;
 $ cd /var/www&lt;br /&gt;
 $ tar zxvf drupal-6.29.tar.gz&lt;br /&gt;
 $ ln -s drupal-6.29 guifi&lt;br /&gt;
&lt;br /&gt;
* Iniciem el procés de instalació via web de Drupal accedint a http://&amp;lt;ip_del_teu_servidor&amp;gt;/guifi&lt;br /&gt;
&lt;br /&gt;
exemples:&lt;br /&gt;
&lt;br /&gt;
http://10.138.71.10/guifi&lt;br /&gt;
http://localhost/guifi&lt;br /&gt;
&lt;br /&gt;
* 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:&lt;br /&gt;
&lt;br /&gt;
 [dave@inuik http]$ mysql -u &amp;lt;nomusuari&amp;gt; -p &amp;lt;contrassenya&amp;gt; &amp;lt;&amp;lt; es possible &lt;br /&gt;
  que amb root no fagi falta una password&lt;br /&gt;
&lt;br /&gt;
exemple:&lt;br /&gt;
$ mysql -u root -p &amp;lt;salt de linia&amp;gt;&lt;br /&gt;
Enter password: &amp;lt;escritura_de_la_password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 525&lt;br /&gt;
Server version: 5.5.31-0+wheezy1 (Debian)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000,2013, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.&lt;br /&gt;
&lt;br /&gt;
 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; create database guifi_test;&lt;br /&gt;
 Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; grant all on guifi_test.* to guifi@localhost identified by 'guifinet';&lt;br /&gt;
 Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
Ja podem introduir la informació de connexió a la base de dades per a que Drupal cregui les tables necessàries.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels mòduls de Drupal necessaris per a arrencar l'entorn ==&lt;br /&gt;
Descarregar els mòduls absolutament necessaris per a arrencar el nostre site de Guifi.net&lt;br /&gt;
&lt;br /&gt;
'''ATENCIÓ'''. Fixeu-vos que el mòdul &amp;quot;drupal-guifi&amp;quot; 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'').&lt;br /&gt;
&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/modules&lt;br /&gt;
 $ cd drupal-6.29/sites/all/modules&lt;br /&gt;
 $ git clone git://gitorious.org/guifi/drupal-budgets.git budgets&lt;br /&gt;
 $ # Clonat de MI FORK del mòdul &amp;quot;drupal-guifi&amp;quot; &lt;br /&gt;
 $ git clone git@gitorious.org:~tombatossals/guifi/tombatossalss-drupal-guifi.git guifi (canvia &amp;quot;~tombatossals/guifi/tombatossalss-drupal-guifi.git&amp;quot; pel teu repositori clonat )&lt;br /&gt;
&lt;br /&gt;
És possible (degut a que a mi m'ha passat) que al executar les comandes per a la decàrrega de mòduls el sistema fagi de tot menys el que toca. De ser així, es poden realitzar les comandes sense les opcions '-q' i '-O'.&lt;br /&gt;
&lt;br /&gt;
'''Mòdul WebForm:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/webform-6.x-3.19.tar.gz &lt;br /&gt;
 '''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/webform-6.x-3.19.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views-6.x-2.16.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views-6.x-2.16.tar.gz &lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views_slideshow:''' &lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul i18n &amp;lt;Multi-idioma&amp;gt;:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Dins de l'adreça /var/www/drupal-6.29/sites/all/modules, on tindrem descarregats els nostres mòduls, els descomprimirem mitjançant la ordre:&lt;br /&gt;
&lt;br /&gt;
 $ tar zxvf &amp;lt;nom_del_fitxer_a_descomprimir&amp;gt;&lt;br /&gt;
 $ tar zxvf i18n-6.x-1.10.tar.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de la base de dades de desenvolupament de Guifi.net ==&lt;br /&gt;
Ja tenim una instalació neta de Drupal, almenys en teoria. 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ò:&lt;br /&gt;
&lt;br /&gt;
 $ mysql -u root guifi_test &amp;lt; guifi66_devel.sql; &amp;lt;&amp;lt; recordem que &lt;br /&gt;
   les comandes dins de MySQL s'acaben amb un ';'&lt;br /&gt;
'''&lt;br /&gt;
== Afinant la instalació =='''&lt;br /&gt;
&lt;br /&gt;
Un cop realitzada la instal·lació, s'ha d'editar el fitxer .htaccess, que es troba dins de la carpeta arrel de drupal :&lt;br /&gt;
&lt;br /&gt;
 $ cd /var/www/drupal-6.29&lt;br /&gt;
 $ ls -la &amp;lt;&amp;lt; per mostrar llistats tots els fitxers inclosos els ocults&lt;br /&gt;
&lt;br /&gt;
Ens mostrarà un arxiu ocult anomenat : .htaccess&lt;br /&gt;
L'editarem mitjançant un editor de text:&lt;br /&gt;
&lt;br /&gt;
 $ vi .htaccess&lt;br /&gt;
&lt;br /&gt;
En una linia buida del fitxer, apretarem la 'i' per escriure-hi i afegirem la següent linia: RewriteBase /drupal-6.29&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
L'usuari administrador serà &amp;quot;webmestre&amp;quot; i la contrasenya &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Alguns consells per a refinar la instalació:'''&lt;br /&gt;
* Creeu i comproveu que els directoris &amp;quot;files&amp;quot;, &amp;quot;files/nanostation&amp;quot; i &amp;quot;tmp&amp;quot; del directori de instalació de drupal tenen permisos de escriptura per l'usuari del servidor web (o poseu-los a 777):&lt;br /&gt;
 $ mkdir drupal-6.29/{files,files/nanostation,tmp}&lt;br /&gt;
 $ chmod 777 drupal-6.29/{files,files/nanostation,tmp}&lt;br /&gt;
&lt;br /&gt;
* La carpeta &amp;quot;files/nanostation&amp;quot; contendrà els arxius &amp;quot;unsolclic&amp;quot; de les antenes Ubiquiti que anem consultant o creant.&lt;br /&gt;
&lt;br /&gt;
* Comproveu els possibles errors de instalació de Drupal accedint com usuari &amp;quot;webmestre&amp;quot; a la pàgina de administració i, des d'allà, a la pàgina de &amp;quot;Report Status&amp;quot;. Ex: http://localhost/guifi/ca/admin/reports/status&lt;br /&gt;
&lt;br /&gt;
* Accediu a la secció de configuració de &amp;quot;Performance&amp;quot; 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&lt;br /&gt;
&lt;br /&gt;
== Instalació del tema Guifi.net al Drupal ==&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/themes&lt;br /&gt;
 $ cd drupal-6.29/sites/all/themes&lt;br /&gt;
 $ git clone git://gitorious.org/guifi-web/theme_guifinet2011.git &lt;br /&gt;
&lt;br /&gt;
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'&amp;quot;administració de temes&amp;quot;, &amp;quot;configuració del tema de guifinet2011&amp;quot; i &amp;quot;desar&amp;quot; sense tocar cap opció. El tema per fi estarà activat.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels idiomes ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Descarregueu la traducció de l'idioma de aquí: http://localize.drupal.org/. &lt;br /&gt;
&lt;br /&gt;
Per exemple: http://ftp.drupal.org/files/translations/6.x/drupal/drupal-6.29.ca.po&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
* Indiqueu-li l'idioma de l'arxiu que heu descarregat e importeu-lo. A partir d'aquí ja tindrem l'interfície traduïda.&lt;br /&gt;
&lt;br /&gt;
= Començant a treballar =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Per a fer commit dels nostres canvis:&lt;br /&gt;
&lt;br /&gt;
 $ cd drupal-6.29/site/all/modules/drupal-guifi&lt;br /&gt;
 $ # Fem modificacions a alguns arxius, les enregistrem al nostre repositori i procedirem a pujar-les a gitorious&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
 $ git push&lt;br /&gt;
&lt;br /&gt;
Posteriorment, des de la web de Gitorious podrem fer servir un &amp;quot;Merge request&amp;quot; per notificar als desenvolupadors alguna de les nostres modificacions i que valorin la seva incorporació al repositori principal.&lt;br /&gt;
&lt;br /&gt;
== Actualitzant el nostre repositori amb els canvis del repositori pare ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 # Definim com repositori remot anomenat &amp;quot;upstream&amp;quot; el repositori de &amp;quot;drupal-guifi&amp;quot;&lt;br /&gt;
 $ git remote add upstream git://gitorious.org/guifi/drupal-guifi.git&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del nostre repositori&lt;br /&gt;
 $ git fetch origin -v&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del repositori pare&lt;br /&gt;
 $ git fetch upstream -v&lt;br /&gt;
 &lt;br /&gt;
 # Fem el merge dels canvis obtinguts&lt;br /&gt;
 $ git merge upstream/master&lt;br /&gt;
&lt;br /&gt;
== Referències ==&lt;br /&gt;
{{MM|url=https://lists.guifi.net/pipermail/guifi-webdev/2012-February/001750.html|list=webdev}}&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;br /&gt;
* http://acacha.org/mediawiki/index.php/Entorn_de_desenvolupament_guifi&lt;/div&gt;</summary>
		<author><name>Miquelm</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament</id>
		<title>Preparant l'entorn de desenvolupament</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament"/>
				<updated>2013-12-02T23:12:45Z</updated>
		
		<summary type="html">&lt;p&gt;Miquelm: /* Instalació de la base de dades de desenvolupament de Guifi.net */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introducció =&lt;br /&gt;
Aquest document té com finalitat documentar alguns consells sobre com preparar un entorn de desenvolupament per col·laborar en el desenvolupament de la web de guifi.net. Ens centrarem al mòdul &amp;quot;'''drupal-guifi'''&amp;quot;, 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 &amp;quot;'''theme_guifinet2011'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Instalació de serveis =&lt;br /&gt;
Per a fer funcionar '''Drupal''' a la màquina de desenvolupament cal posar en marxa un servidor web, el mòdul '''PHP''' pel servidor web i un servidor de base de dades ('''MySQL''').&lt;br /&gt;
&lt;br /&gt;
En funció del nostre sistema operatiu i les nostres preferències, la instalació d'aquests serveis es realitzarà d'una manera o d'una altra. A continuació es detalla pels entorns '''Debian/Ubuntu''' amb '''Apache+PHP+Mysql''' i '''Archlinux''' amb '''Nginx+PHP+Mysql'''. Totes dues instalacions són simples.&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
 $ sudo apt-get install mysql-server libapache2-mod-php5 php5-gd php5-mysql&lt;br /&gt;
&lt;br /&gt;
* Archlinux:&lt;br /&gt;
 $ pacman -S nginx mysql php-fpm php-gd&lt;br /&gt;
&lt;br /&gt;
Documentació per a Archlinux: [https://wiki.archlinux.org/index.php/Apache,_PHP,_and_MySQL Apache, PHP and MySQL], [https://wiki.archlinux.org/index.php/Nginx Nginx]&lt;br /&gt;
&lt;br /&gt;
La configuració del servidor web (Apache/lighttpd/nginx) per a fer que funcioni el mòdul de PHP a l'arrel del nostre directori web depèn del nostre sistema. A Google podeu trobar tutorials si no teniu clar com fer-lo. Si en trobeu un d'interessant, si us plau, enllaçeu-lo a aquest document.&lt;br /&gt;
&lt;br /&gt;
== Configuració de php.ini ==&lt;br /&gt;
Hem de tenir activats els següents mòduls a l'arxiu php.ini:&lt;br /&gt;
&lt;br /&gt;
 extension=mysql.so&lt;br /&gt;
 extension=iconv.so&lt;br /&gt;
 extension=gd.so&lt;br /&gt;
&lt;br /&gt;
Ara heu de testejar si el vostre sistema interpreta arxius PHP. Aquí teniu un exemple que podeu crear al DOCUMENT_ROOT '''(generalment  /var/www)''' del vostre servidor web. Si no us funciona reviseu els passos anteriors i consulteu la documentació de la vostra distribució.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuració de fitxers'''&lt;br /&gt;
Per tal de no tenir problemes en la nostra instal·lació de l'entorn de desenvolupament, es necessari realitzar algunes modificacions dins  d'uns fitxers concrets els quals esmentarem per tal de que tot funcioni correctament:&lt;br /&gt;
&lt;br /&gt;
En l'adreça següent:&lt;br /&gt;
/etc/apache2/sites-enabled/&lt;br /&gt;
&lt;br /&gt;
Hi tenim un únic fitxer el qual es diu '000-default'. Bé, mitjançant un editor de text de shell (com pot ser el vi) editarem el fitxer:&lt;br /&gt;
&lt;br /&gt;
$ vi 000-default&lt;br /&gt;
&lt;br /&gt;
Dins del fitxer, hem de buscar el següent text: 'Allow Override None' en tot el text i substituir-lo per 'Allow Override All'. Per realitzar la modificació, mitjançant les fletxes de direcció ens situarem sobre la línia en qüestió i apretarem la tecla 'i' la qual ens permetrà escriure. Si es presenten problemes, sembre es pot sortir del fitxer sense desar mitjançant la tecla 'ESC' seguit de la comanda ':q!' &amp;lt;quit without saving&amp;gt; &amp;lt;&amp;lt; sortir sense guardar.&lt;br /&gt;
&lt;br /&gt;
La nostra web amb drupal necessita fer servir '''Clean URL''' i per tal de que aquestes es puguin aplicar es necessari tenir activat el mòdul '''rewrite'''. Per tal d'activar aquest mòdul, utilitzarem les comandes següents:&lt;br /&gt;
&lt;br /&gt;
$a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
Ens informarà que el mòdul està actiu i que s'haurà de reiniciar el servei, cosa que farem amb la comanda:&lt;br /&gt;
&lt;br /&gt;
$ /etc/init.d/apache2 restart o bé&lt;br /&gt;
$ service apache2 restart&lt;br /&gt;
&lt;br /&gt;
= Descarregant el codi font =&lt;br /&gt;
El codi dels mòduls &amp;quot;drupal-guifi&amp;quot;, &amp;quot;drupal-bugdets&amp;quot; i &amp;quot;theme_guifinet2011&amp;quot; son [[software lliure]], i estan allotjats als [[repositoris]] de Gitorious. Els repositoris son útils per desenvolupament de programari però nosaltres ens limitarem a clonar-los.&lt;br /&gt;
&lt;br /&gt;
== Requisits pel clonatge del repositori drupal-guifi ==&lt;br /&gt;
Viam cóm deuríem procedir per a fer un fork del projecte &amp;quot;drupal-guifi&amp;quot; de cara a realitzar alguna modificació sobre el seu codi font.&lt;br /&gt;
&lt;br /&gt;
* Crear-se una compta a [http://gitorious.org Gitorious].&lt;br /&gt;
* Crear unes claus SSH (ssh-keygen) sense contrasenya, i afegir-las al nostre perfil d'usuari de gitorious. Per exemple:&lt;br /&gt;
 $ ssh-keygen &lt;br /&gt;
 Generating public/private rsa key pair.&lt;br /&gt;
 Enter file in which to save the key (/home/dave/.ssh/id_rsa): &lt;br /&gt;
 Enter passphrase (empty for no passphrase): &lt;br /&gt;
 Enter same passphrase again: &lt;br /&gt;
 Your identification has been saved in /home/dave/.ssh/id_rsa.&lt;br /&gt;
 Your public key has been saved in /home/dave/.ssh/id_rsa.pub.&lt;br /&gt;
&lt;br /&gt;
* Accedir a la pàgina del projecte &amp;quot;[https://gitorious.org/guifi/drupal-guifi drupal-guifi]&amp;quot;.&lt;br /&gt;
* Clonar el projecte. Amb això ja tindrem un fork del projecte sobre el que podem realitzar els nostres canvis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pàginas web a Gitorious dels projectes amb els que anem a treballar:&lt;br /&gt;
* https://gitorious.org/guifi/drupal-guifi&lt;br /&gt;
* https://gitorious.org/guifi/drupal-budgets&lt;br /&gt;
* https://gitorious.org/guifi-web/theme_guifinet2011&lt;br /&gt;
&lt;br /&gt;
= Descarrega, instalació i configuració d'un entorn Drupal =&lt;br /&gt;
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 &amp;quot;drupal-guifi&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Descàrregues ==&lt;br /&gt;
* La darrera versió de Drupal 6.x desde linea de comandes&lt;br /&gt;
  wget http://ftp.drupal.org/files/projects/drupal-6.29.tar.gz&lt;br /&gt;
i habilitar l'accès via web:&lt;br /&gt;
 ln -s /usr/share/drupal6/ /var/www/guifi&lt;br /&gt;
&lt;br /&gt;
* Mòduls de Drupal fonamentals per al nostre entorn drupal : webform, views, i18n, views_slideshow&lt;br /&gt;
* Mòduls de Drupal opcionals: schema, devel, potx, l10n_client, languageicons, language_sections, diff, captcha, captcha_pack, event, cck, fckeditor, image, image_filter&lt;br /&gt;
* Mòduls desenvolupats per la comunitat Guifi.net: budgets, guifi&lt;br /&gt;
* El tema oficial &amp;quot;theme_guifinet2011&amp;quot;&lt;br /&gt;
* La base de dades actual de desenvolupament de la web de guifi.net:&lt;br /&gt;
 $ wget http://www.guifi.net/guifi66_devel.sql.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de Drupal ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Aquests son els passos bàsics per a instal·lar i configurar un site Drupal:&lt;br /&gt;
* Descomprimim el paquet de Drupal que ens hem descarregat i el posem accesible al DOCUMENT_ROOT d'Apache:&lt;br /&gt;
 $ cd /var/www&lt;br /&gt;
 $ tar zxvf drupal-6.29.tar.gz&lt;br /&gt;
 $ ln -s drupal-6.29 guifi&lt;br /&gt;
&lt;br /&gt;
* Iniciem el procés de instalació via web de Drupal accedint a http://&amp;lt;ip_del_teu_servidor&amp;gt;/guifi&lt;br /&gt;
&lt;br /&gt;
exemples:&lt;br /&gt;
&lt;br /&gt;
http://10.138.71.10/guifi&lt;br /&gt;
http://localhost/guifi&lt;br /&gt;
&lt;br /&gt;
* 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:&lt;br /&gt;
&lt;br /&gt;
 [dave@inuik http]$ mysql -u &amp;lt;nomusuari&amp;gt; -p &amp;lt;contrassenya&amp;gt; &amp;lt;&amp;lt; es possible &lt;br /&gt;
  que amb root no fagi falta una password&lt;br /&gt;
&lt;br /&gt;
exemple:&lt;br /&gt;
$ mysql -u root -p &amp;lt;salt de linia&amp;gt;&lt;br /&gt;
Enter password: &amp;lt;escritura_de_la_password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 525&lt;br /&gt;
Server version: 5.5.31-0+wheezy1 (Debian)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000,2013, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.&lt;br /&gt;
&lt;br /&gt;
 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; create database guifi_test;&lt;br /&gt;
 Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; grant all on guifi_test.* to guifi@localhost identified by 'guifinet';&lt;br /&gt;
 Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
Ja podem introduir la informació de connexió a la base de dades per a que Drupal cregui les tables necessàries.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels mòduls de Drupal necessaris per a arrencar l'entorn ==&lt;br /&gt;
Descarregar els mòduls absolutament necessaris per a arrencar el nostre site de Guifi.net&lt;br /&gt;
&lt;br /&gt;
'''ATENCIÓ'''. Fixeu-vos que el mòdul &amp;quot;drupal-guifi&amp;quot; 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'').&lt;br /&gt;
&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/modules&lt;br /&gt;
 $ cd drupal-6.29/sites/all/modules&lt;br /&gt;
 $ git clone git://gitorious.org/guifi/drupal-budgets.git budgets&lt;br /&gt;
 $ # Clonat de MI FORK del mòdul &amp;quot;drupal-guifi&amp;quot; &lt;br /&gt;
 $ git clone git@gitorious.org:~tombatossals/guifi/tombatossalss-drupal-guifi.git guifi (canvia &amp;quot;~tombatossals/guifi/tombatossalss-drupal-guifi.git&amp;quot; pel teu repositori clonat )&lt;br /&gt;
&lt;br /&gt;
És possible (degut a que a mi m'ha passat) que al executar les comandes per a la decàrrega de mòduls el sistema fagi de tot menys el que toca. De ser així, es poden realitzar les comandes sense les opcions '-q' i '-O'.&lt;br /&gt;
&lt;br /&gt;
'''Mòdul WebForm:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/webform-6.x-3.19.tar.gz &lt;br /&gt;
 '''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/webform-6.x-3.19.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views-6.x-2.16.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views-6.x-2.16.tar.gz &lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views_slideshow:''' &lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul i18n &amp;lt;Multi-idioma&amp;gt;:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Dins de l'adreça /var/www/drupal-6.29/sites/all/modules, on tindrem descarregats els nostres mòduls, els descomprimirem mitjançant la ordre:&lt;br /&gt;
&lt;br /&gt;
 $ tar zxvf &amp;lt;nom_del_fitxer_a_descomprimir&amp;gt;&lt;br /&gt;
 $ tar zxvf i18n-6.x-1.10.tar.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de la base de dades de desenvolupament de Guifi.net ==&lt;br /&gt;
Ja tenim una instalació neta de Drupal, almenys en teoria. 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ò:&lt;br /&gt;
&lt;br /&gt;
 $ mysql -u root guifi_test &amp;lt; guifi66_devel.sql; &amp;lt;&amp;lt; recordem que &lt;br /&gt;
   les comandes dins de MySQL s'acaben amb un ';'&lt;br /&gt;
'''&lt;br /&gt;
== Afinant la instalació =='''&lt;br /&gt;
&lt;br /&gt;
Un cop realitzada la instal·lació, s'ha d'editar el fitxer .htaccess, que es troba dins de la carpeta arrel de drupal :&lt;br /&gt;
&lt;br /&gt;
 $ cd /var/www/drupal-6.29&lt;br /&gt;
 $ ls -la &amp;lt;&amp;lt; per mostrar llistats tots els fitxers inclosos els ocults&lt;br /&gt;
&lt;br /&gt;
Ens mostrarà un arxiu ocult anomenat : .htaccess&lt;br /&gt;
L'editarem mitjançant un editor de text:&lt;br /&gt;
&lt;br /&gt;
 $ vi .htaccess&lt;br /&gt;
&lt;br /&gt;
En una linia buida del fitxer, apretarem la 'i' per escriure-hi i afegirem la següent linia: RewriteBase /drupal-6.29&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
L'usuari administrador serà &amp;quot;webmestre&amp;quot; i la contrasenya &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Alguns consells per a refinar la instalació:'''&lt;br /&gt;
* Creeu i comproveu que els directoris &amp;quot;files&amp;quot;, &amp;quot;files/nanostation&amp;quot; i &amp;quot;tmp&amp;quot; del directori de instalació de drupal tenen permisos de escriptura per l'usuari del servidor web (o poseu-los a 777):&lt;br /&gt;
 $ mkdir drupal-6.29/{files,files/nanostation,tmp}&lt;br /&gt;
 $ chmod 777 drupal-6.29/{files,files/nanostation,tmp}&lt;br /&gt;
&lt;br /&gt;
* La carpeta &amp;quot;files/nanostation&amp;quot; contendrà els arxius &amp;quot;unsolclic&amp;quot; de les antenes Ubiquiti que anem consultant o creant.&lt;br /&gt;
&lt;br /&gt;
* Comproveu els possibles errors de instalació de Drupal accedint com usuari &amp;quot;webmestre&amp;quot; a la pàgina de administració i, des d'allà, a la pàgina de &amp;quot;Report Status&amp;quot;. Ex: http://localhost/guifi/ca/admin/reports/status&lt;br /&gt;
&lt;br /&gt;
* Accediu a la secció de configuració de &amp;quot;Performance&amp;quot; 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&lt;br /&gt;
&lt;br /&gt;
== Instalació del tema Guifi.net al Drupal ==&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/themes&lt;br /&gt;
 $ cd drupal-6.29/sites/all/themes&lt;br /&gt;
 $ git clone git://gitorious.org/guifi-web/theme_guifinet2011.git &lt;br /&gt;
&lt;br /&gt;
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'&amp;quot;administració de temes&amp;quot;, &amp;quot;configuració del tema de guifinet2011&amp;quot; i &amp;quot;desar&amp;quot; sense tocar cap opció. El tema per fi estarà activat.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels idiomes ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Descarregueu la traducció de l'idioma de aquí: http://localize.drupal.org/. &lt;br /&gt;
&lt;br /&gt;
Per exemple: http://ftp.drupal.org/files/translations/6.x/drupal/drupal-6.26.ca.po&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
* Indiqueu-li l'idioma de l'arxiu que heu descarregat e importeu-lo. A partir d'aquí ja tindrem l'interfície traduïda.&lt;br /&gt;
&lt;br /&gt;
= Començant a treballar =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Per a fer commit dels nostres canvis:&lt;br /&gt;
&lt;br /&gt;
 $ cd drupal-6.29/site/all/modules/drupal-guifi&lt;br /&gt;
 $ # Fem modificacions a alguns arxius, les enregistrem al nostre repositori i procedirem a pujar-les a gitorious&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
 $ git push&lt;br /&gt;
&lt;br /&gt;
Posteriorment, des de la web de Gitorious podrem fer servir un &amp;quot;Merge request&amp;quot; per notificar als desenvolupadors alguna de les nostres modificacions i que valorin la seva incorporació al repositori principal.&lt;br /&gt;
&lt;br /&gt;
== Actualitzant el nostre repositori amb els canvis del repositori pare ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 # Definim com repositori remot anomenat &amp;quot;upstream&amp;quot; el repositori de &amp;quot;drupal-guifi&amp;quot;&lt;br /&gt;
 $ git remote add upstream git://gitorious.org/guifi/drupal-guifi.git&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del nostre repositori&lt;br /&gt;
 $ git fetch origin -v&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del repositori pare&lt;br /&gt;
 $ git fetch upstream -v&lt;br /&gt;
 &lt;br /&gt;
 # Fem el merge dels canvis obtinguts&lt;br /&gt;
 $ git merge upstream/master&lt;br /&gt;
&lt;br /&gt;
== Referències ==&lt;br /&gt;
{{MM|url=https://lists.guifi.net/pipermail/guifi-webdev/2012-February/001750.html|list=webdev}}&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;br /&gt;
* http://acacha.org/mediawiki/index.php/Entorn_de_desenvolupament_guifi&lt;/div&gt;</summary>
		<author><name>Miquelm</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament</id>
		<title>Preparant l'entorn de desenvolupament</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament"/>
				<updated>2013-12-02T23:05:51Z</updated>
		
		<summary type="html">&lt;p&gt;Miquelm: /* Instalació dels mòduls de Drupal necessaris per a arrencar l'entorn */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introducció =&lt;br /&gt;
Aquest document té com finalitat documentar alguns consells sobre com preparar un entorn de desenvolupament per col·laborar en el desenvolupament de la web de guifi.net. Ens centrarem al mòdul &amp;quot;'''drupal-guifi'''&amp;quot;, 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 &amp;quot;'''theme_guifinet2011'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Instalació de serveis =&lt;br /&gt;
Per a fer funcionar '''Drupal''' a la màquina de desenvolupament cal posar en marxa un servidor web, el mòdul '''PHP''' pel servidor web i un servidor de base de dades ('''MySQL''').&lt;br /&gt;
&lt;br /&gt;
En funció del nostre sistema operatiu i les nostres preferències, la instalació d'aquests serveis es realitzarà d'una manera o d'una altra. A continuació es detalla pels entorns '''Debian/Ubuntu''' amb '''Apache+PHP+Mysql''' i '''Archlinux''' amb '''Nginx+PHP+Mysql'''. Totes dues instalacions són simples.&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
 $ sudo apt-get install mysql-server libapache2-mod-php5 php5-gd php5-mysql&lt;br /&gt;
&lt;br /&gt;
* Archlinux:&lt;br /&gt;
 $ pacman -S nginx mysql php-fpm php-gd&lt;br /&gt;
&lt;br /&gt;
Documentació per a Archlinux: [https://wiki.archlinux.org/index.php/Apache,_PHP,_and_MySQL Apache, PHP and MySQL], [https://wiki.archlinux.org/index.php/Nginx Nginx]&lt;br /&gt;
&lt;br /&gt;
La configuració del servidor web (Apache/lighttpd/nginx) per a fer que funcioni el mòdul de PHP a l'arrel del nostre directori web depèn del nostre sistema. A Google podeu trobar tutorials si no teniu clar com fer-lo. Si en trobeu un d'interessant, si us plau, enllaçeu-lo a aquest document.&lt;br /&gt;
&lt;br /&gt;
== Configuració de php.ini ==&lt;br /&gt;
Hem de tenir activats els següents mòduls a l'arxiu php.ini:&lt;br /&gt;
&lt;br /&gt;
 extension=mysql.so&lt;br /&gt;
 extension=iconv.so&lt;br /&gt;
 extension=gd.so&lt;br /&gt;
&lt;br /&gt;
Ara heu de testejar si el vostre sistema interpreta arxius PHP. Aquí teniu un exemple que podeu crear al DOCUMENT_ROOT '''(generalment  /var/www)''' del vostre servidor web. Si no us funciona reviseu els passos anteriors i consulteu la documentació de la vostra distribució.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuració de fitxers'''&lt;br /&gt;
Per tal de no tenir problemes en la nostra instal·lació de l'entorn de desenvolupament, es necessari realitzar algunes modificacions dins  d'uns fitxers concrets els quals esmentarem per tal de que tot funcioni correctament:&lt;br /&gt;
&lt;br /&gt;
En l'adreça següent:&lt;br /&gt;
/etc/apache2/sites-enabled/&lt;br /&gt;
&lt;br /&gt;
Hi tenim un únic fitxer el qual es diu '000-default'. Bé, mitjançant un editor de text de shell (com pot ser el vi) editarem el fitxer:&lt;br /&gt;
&lt;br /&gt;
$ vi 000-default&lt;br /&gt;
&lt;br /&gt;
Dins del fitxer, hem de buscar el següent text: 'Allow Override None' en tot el text i substituir-lo per 'Allow Override All'. Per realitzar la modificació, mitjançant les fletxes de direcció ens situarem sobre la línia en qüestió i apretarem la tecla 'i' la qual ens permetrà escriure. Si es presenten problemes, sembre es pot sortir del fitxer sense desar mitjançant la tecla 'ESC' seguit de la comanda ':q!' &amp;lt;quit without saving&amp;gt; &amp;lt;&amp;lt; sortir sense guardar.&lt;br /&gt;
&lt;br /&gt;
La nostra web amb drupal necessita fer servir '''Clean URL''' i per tal de que aquestes es puguin aplicar es necessari tenir activat el mòdul '''rewrite'''. Per tal d'activar aquest mòdul, utilitzarem les comandes següents:&lt;br /&gt;
&lt;br /&gt;
$a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
Ens informarà que el mòdul està actiu i que s'haurà de reiniciar el servei, cosa que farem amb la comanda:&lt;br /&gt;
&lt;br /&gt;
$ /etc/init.d/apache2 restart o bé&lt;br /&gt;
$ service apache2 restart&lt;br /&gt;
&lt;br /&gt;
= Descarregant el codi font =&lt;br /&gt;
El codi dels mòduls &amp;quot;drupal-guifi&amp;quot;, &amp;quot;drupal-bugdets&amp;quot; i &amp;quot;theme_guifinet2011&amp;quot; son [[software lliure]], i estan allotjats als [[repositoris]] de Gitorious. Els repositoris son útils per desenvolupament de programari però nosaltres ens limitarem a clonar-los.&lt;br /&gt;
&lt;br /&gt;
== Requisits pel clonatge del repositori drupal-guifi ==&lt;br /&gt;
Viam cóm deuríem procedir per a fer un fork del projecte &amp;quot;drupal-guifi&amp;quot; de cara a realitzar alguna modificació sobre el seu codi font.&lt;br /&gt;
&lt;br /&gt;
* Crear-se una compta a [http://gitorious.org Gitorious].&lt;br /&gt;
* Crear unes claus SSH (ssh-keygen) sense contrasenya, i afegir-las al nostre perfil d'usuari de gitorious. Per exemple:&lt;br /&gt;
 $ ssh-keygen &lt;br /&gt;
 Generating public/private rsa key pair.&lt;br /&gt;
 Enter file in which to save the key (/home/dave/.ssh/id_rsa): &lt;br /&gt;
 Enter passphrase (empty for no passphrase): &lt;br /&gt;
 Enter same passphrase again: &lt;br /&gt;
 Your identification has been saved in /home/dave/.ssh/id_rsa.&lt;br /&gt;
 Your public key has been saved in /home/dave/.ssh/id_rsa.pub.&lt;br /&gt;
&lt;br /&gt;
* Accedir a la pàgina del projecte &amp;quot;[https://gitorious.org/guifi/drupal-guifi drupal-guifi]&amp;quot;.&lt;br /&gt;
* Clonar el projecte. Amb això ja tindrem un fork del projecte sobre el que podem realitzar els nostres canvis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pàginas web a Gitorious dels projectes amb els que anem a treballar:&lt;br /&gt;
* https://gitorious.org/guifi/drupal-guifi&lt;br /&gt;
* https://gitorious.org/guifi/drupal-budgets&lt;br /&gt;
* https://gitorious.org/guifi-web/theme_guifinet2011&lt;br /&gt;
&lt;br /&gt;
= Descarrega, instalació i configuració d'un entorn Drupal =&lt;br /&gt;
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 &amp;quot;drupal-guifi&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Descàrregues ==&lt;br /&gt;
* La darrera versió de Drupal 6.x desde linea de comandes&lt;br /&gt;
  wget http://ftp.drupal.org/files/projects/drupal-6.29.tar.gz&lt;br /&gt;
i habilitar l'accès via web:&lt;br /&gt;
 ln -s /usr/share/drupal6/ /var/www/guifi&lt;br /&gt;
&lt;br /&gt;
* Mòduls de Drupal fonamentals per al nostre entorn drupal : webform, views, i18n, views_slideshow&lt;br /&gt;
* Mòduls de Drupal opcionals: schema, devel, potx, l10n_client, languageicons, language_sections, diff, captcha, captcha_pack, event, cck, fckeditor, image, image_filter&lt;br /&gt;
* Mòduls desenvolupats per la comunitat Guifi.net: budgets, guifi&lt;br /&gt;
* El tema oficial &amp;quot;theme_guifinet2011&amp;quot;&lt;br /&gt;
* La base de dades actual de desenvolupament de la web de guifi.net:&lt;br /&gt;
 $ wget http://www.guifi.net/guifi66_devel.sql.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de Drupal ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Aquests son els passos bàsics per a instal·lar i configurar un site Drupal:&lt;br /&gt;
* Descomprimim el paquet de Drupal que ens hem descarregat i el posem accesible al DOCUMENT_ROOT d'Apache:&lt;br /&gt;
 $ cd /var/www&lt;br /&gt;
 $ tar zxvf drupal-6.29.tar.gz&lt;br /&gt;
 $ ln -s drupal-6.29 guifi&lt;br /&gt;
&lt;br /&gt;
* Iniciem el procés de instalació via web de Drupal accedint a http://&amp;lt;ip_del_teu_servidor&amp;gt;/guifi&lt;br /&gt;
&lt;br /&gt;
exemples:&lt;br /&gt;
&lt;br /&gt;
http://10.138.71.10/guifi&lt;br /&gt;
http://localhost/guifi&lt;br /&gt;
&lt;br /&gt;
* 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:&lt;br /&gt;
&lt;br /&gt;
 [dave@inuik http]$ mysql -u &amp;lt;nomusuari&amp;gt; -p &amp;lt;contrassenya&amp;gt; &amp;lt;&amp;lt; es possible &lt;br /&gt;
  que amb root no fagi falta una password&lt;br /&gt;
&lt;br /&gt;
exemple:&lt;br /&gt;
$ mysql -u root -p &amp;lt;salt de linia&amp;gt;&lt;br /&gt;
Enter password: &amp;lt;escritura_de_la_password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 525&lt;br /&gt;
Server version: 5.5.31-0+wheezy1 (Debian)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000,2013, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.&lt;br /&gt;
&lt;br /&gt;
 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; create database guifi_test;&lt;br /&gt;
 Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; grant all on guifi_test.* to guifi@localhost identified by 'guifinet';&lt;br /&gt;
 Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
Ja podem introduir la informació de connexió a la base de dades per a que Drupal cregui les tables necessàries.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels mòduls de Drupal necessaris per a arrencar l'entorn ==&lt;br /&gt;
Descarregar els mòduls absolutament necessaris per a arrencar el nostre site de Guifi.net&lt;br /&gt;
&lt;br /&gt;
'''ATENCIÓ'''. Fixeu-vos que el mòdul &amp;quot;drupal-guifi&amp;quot; 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'').&lt;br /&gt;
&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/modules&lt;br /&gt;
 $ cd drupal-6.29/sites/all/modules&lt;br /&gt;
 $ git clone git://gitorious.org/guifi/drupal-budgets.git budgets&lt;br /&gt;
 $ # Clonat de MI FORK del mòdul &amp;quot;drupal-guifi&amp;quot; &lt;br /&gt;
 $ git clone git@gitorious.org:~tombatossals/guifi/tombatossalss-drupal-guifi.git guifi (canvia &amp;quot;~tombatossals/guifi/tombatossalss-drupal-guifi.git&amp;quot; pel teu repositori clonat )&lt;br /&gt;
&lt;br /&gt;
És possible (degut a que a mi m'ha passat) que al executar les comandes per a la decàrrega de mòduls el sistema fagi de tot menys el que toca. De ser així, es poden realitzar les comandes sense les opcions '-q' i '-O'.&lt;br /&gt;
&lt;br /&gt;
'''Mòdul WebForm:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/webform-6.x-3.19.tar.gz &lt;br /&gt;
 '''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/webform-6.x-3.19.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views-6.x-2.16.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views-6.x-2.16.tar.gz &lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views_slideshow:''' &lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul i18n &amp;lt;Multi-idioma&amp;gt;:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Dins de l'adreça /var/www/drupal-6.29/sites/all/modules, on tindrem descarregats els nostres mòduls, els descomprimirem mitjançant la ordre:&lt;br /&gt;
&lt;br /&gt;
 $ tar zxvf &amp;lt;nom_del_fitxer_a_descomprimir&amp;gt;&lt;br /&gt;
 $ tar zxvf i18n-6.x-1.10.tar.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de la base de dades de desenvolupament de Guifi.net ==&lt;br /&gt;
Ja tenim una instalació neta de Drupal, almenys en teoria. 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ò:&lt;br /&gt;
&lt;br /&gt;
 $ mysql -u root guifi_test &amp;lt; guifi66_devel.sql; &amp;lt;&amp;lt; recordem que &lt;br /&gt;
   les comandes dins de MySQL s'acaben amb un ';'&lt;br /&gt;
'''&lt;br /&gt;
== Afinant la instalació =='''&lt;br /&gt;
&lt;br /&gt;
Un cop realitzada la instal·lació, s'ha d'editar el fitxer .htaccess, que es troba dins de la carpeta arrel de drupal :&lt;br /&gt;
&lt;br /&gt;
 $ cd /var/www/drupal-6.29&lt;br /&gt;
 $ ls -la &amp;lt;&amp;lt; per mostrar llistats tots els fitxers inclosos els ocults&lt;br /&gt;
&lt;br /&gt;
Ens mostrarà un arxiu ocult anomenat : .htaccess&lt;br /&gt;
L'editarem mitjançant un editor de text:&lt;br /&gt;
&lt;br /&gt;
 $ vi .htaccess&lt;br /&gt;
&lt;br /&gt;
En una linia buida del fitxer, apretarem la 'i' per escriure-hi i afegirem la següent linia: RewriteBase /drupal-6.29&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
L'usuari administrador serà &amp;quot;webmestre&amp;quot; i la contrasenya &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Alguns consells per a refinar la instalació:'''&lt;br /&gt;
* Creeu i comproveu que els directoris &amp;quot;files&amp;quot;, &amp;quot;files/nanostation&amp;quot; i &amp;quot;tmp&amp;quot; del directori de instalació de drupal tenen permisos de escriptura per l'usuari del servidor web (o poseu-los a 777):&lt;br /&gt;
 $ mkdir drupal-6.26/{files,files/nanostation,tmp}&lt;br /&gt;
 $ chmod 777 drupal-6.26/{files,files/nanostation,tmp}&lt;br /&gt;
&lt;br /&gt;
* La carpeta &amp;quot;files/nanostation&amp;quot; contendrà els arxius &amp;quot;unsolclic&amp;quot; de les antenes Ubiquiti que anem consultant o creant.&lt;br /&gt;
&lt;br /&gt;
* Comproveu els possibles errors de instalació de Drupal accedint com usuari &amp;quot;webmestre&amp;quot; a la pàgina de administració i, des d'allà, a la pàgina de &amp;quot;Report Status&amp;quot;. Ex: http://localhost/guifi/ca/admin/reports/status&lt;br /&gt;
&lt;br /&gt;
* Accediu a la secció de configuració de &amp;quot;Performance&amp;quot; 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&lt;br /&gt;
&lt;br /&gt;
== Instalació del tema Guifi.net al Drupal ==&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/themes&lt;br /&gt;
 $ cd drupal-6.29/sites/all/themes&lt;br /&gt;
 $ git clone git://gitorious.org/guifi-web/theme_guifinet2011.git &lt;br /&gt;
&lt;br /&gt;
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'&amp;quot;administració de temes&amp;quot;, &amp;quot;configuració del tema de guifinet2011&amp;quot; i &amp;quot;desar&amp;quot; sense tocar cap opció. El tema per fi estarà activat.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels idiomes ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Descarregueu la traducció de l'idioma de aquí: http://localize.drupal.org/. &lt;br /&gt;
&lt;br /&gt;
Per exemple: http://ftp.drupal.org/files/translations/6.x/drupal/drupal-6.26.ca.po&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
* Indiqueu-li l'idioma de l'arxiu que heu descarregat e importeu-lo. A partir d'aquí ja tindrem l'interfície traduïda.&lt;br /&gt;
&lt;br /&gt;
= Començant a treballar =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Per a fer commit dels nostres canvis:&lt;br /&gt;
&lt;br /&gt;
 $ cd drupal-6.29/site/all/modules/drupal-guifi&lt;br /&gt;
 $ # Fem modificacions a alguns arxius, les enregistrem al nostre repositori i procedirem a pujar-les a gitorious&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
 $ git push&lt;br /&gt;
&lt;br /&gt;
Posteriorment, des de la web de Gitorious podrem fer servir un &amp;quot;Merge request&amp;quot; per notificar als desenvolupadors alguna de les nostres modificacions i que valorin la seva incorporació al repositori principal.&lt;br /&gt;
&lt;br /&gt;
== Actualitzant el nostre repositori amb els canvis del repositori pare ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 # Definim com repositori remot anomenat &amp;quot;upstream&amp;quot; el repositori de &amp;quot;drupal-guifi&amp;quot;&lt;br /&gt;
 $ git remote add upstream git://gitorious.org/guifi/drupal-guifi.git&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del nostre repositori&lt;br /&gt;
 $ git fetch origin -v&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del repositori pare&lt;br /&gt;
 $ git fetch upstream -v&lt;br /&gt;
 &lt;br /&gt;
 # Fem el merge dels canvis obtinguts&lt;br /&gt;
 $ git merge upstream/master&lt;br /&gt;
&lt;br /&gt;
== Referències ==&lt;br /&gt;
{{MM|url=https://lists.guifi.net/pipermail/guifi-webdev/2012-February/001750.html|list=webdev}}&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;br /&gt;
* http://acacha.org/mediawiki/index.php/Entorn_de_desenvolupament_guifi&lt;/div&gt;</summary>
		<author><name>Miquelm</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament</id>
		<title>Preparant l'entorn de desenvolupament</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament"/>
				<updated>2013-12-02T23:04:37Z</updated>
		
		<summary type="html">&lt;p&gt;Miquelm: /* Instalació dels mòduls de Drupal necessaris per a arrencar l'entorn */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introducció =&lt;br /&gt;
Aquest document té com finalitat documentar alguns consells sobre com preparar un entorn de desenvolupament per col·laborar en el desenvolupament de la web de guifi.net. Ens centrarem al mòdul &amp;quot;'''drupal-guifi'''&amp;quot;, 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 &amp;quot;'''theme_guifinet2011'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Instalació de serveis =&lt;br /&gt;
Per a fer funcionar '''Drupal''' a la màquina de desenvolupament cal posar en marxa un servidor web, el mòdul '''PHP''' pel servidor web i un servidor de base de dades ('''MySQL''').&lt;br /&gt;
&lt;br /&gt;
En funció del nostre sistema operatiu i les nostres preferències, la instalació d'aquests serveis es realitzarà d'una manera o d'una altra. A continuació es detalla pels entorns '''Debian/Ubuntu''' amb '''Apache+PHP+Mysql''' i '''Archlinux''' amb '''Nginx+PHP+Mysql'''. Totes dues instalacions són simples.&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
 $ sudo apt-get install mysql-server libapache2-mod-php5 php5-gd php5-mysql&lt;br /&gt;
&lt;br /&gt;
* Archlinux:&lt;br /&gt;
 $ pacman -S nginx mysql php-fpm php-gd&lt;br /&gt;
&lt;br /&gt;
Documentació per a Archlinux: [https://wiki.archlinux.org/index.php/Apache,_PHP,_and_MySQL Apache, PHP and MySQL], [https://wiki.archlinux.org/index.php/Nginx Nginx]&lt;br /&gt;
&lt;br /&gt;
La configuració del servidor web (Apache/lighttpd/nginx) per a fer que funcioni el mòdul de PHP a l'arrel del nostre directori web depèn del nostre sistema. A Google podeu trobar tutorials si no teniu clar com fer-lo. Si en trobeu un d'interessant, si us plau, enllaçeu-lo a aquest document.&lt;br /&gt;
&lt;br /&gt;
== Configuració de php.ini ==&lt;br /&gt;
Hem de tenir activats els següents mòduls a l'arxiu php.ini:&lt;br /&gt;
&lt;br /&gt;
 extension=mysql.so&lt;br /&gt;
 extension=iconv.so&lt;br /&gt;
 extension=gd.so&lt;br /&gt;
&lt;br /&gt;
Ara heu de testejar si el vostre sistema interpreta arxius PHP. Aquí teniu un exemple que podeu crear al DOCUMENT_ROOT '''(generalment  /var/www)''' del vostre servidor web. Si no us funciona reviseu els passos anteriors i consulteu la documentació de la vostra distribució.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuració de fitxers'''&lt;br /&gt;
Per tal de no tenir problemes en la nostra instal·lació de l'entorn de desenvolupament, es necessari realitzar algunes modificacions dins  d'uns fitxers concrets els quals esmentarem per tal de que tot funcioni correctament:&lt;br /&gt;
&lt;br /&gt;
En l'adreça següent:&lt;br /&gt;
/etc/apache2/sites-enabled/&lt;br /&gt;
&lt;br /&gt;
Hi tenim un únic fitxer el qual es diu '000-default'. Bé, mitjançant un editor de text de shell (com pot ser el vi) editarem el fitxer:&lt;br /&gt;
&lt;br /&gt;
$ vi 000-default&lt;br /&gt;
&lt;br /&gt;
Dins del fitxer, hem de buscar el següent text: 'Allow Override None' en tot el text i substituir-lo per 'Allow Override All'. Per realitzar la modificació, mitjançant les fletxes de direcció ens situarem sobre la línia en qüestió i apretarem la tecla 'i' la qual ens permetrà escriure. Si es presenten problemes, sembre es pot sortir del fitxer sense desar mitjançant la tecla 'ESC' seguit de la comanda ':q!' &amp;lt;quit without saving&amp;gt; &amp;lt;&amp;lt; sortir sense guardar.&lt;br /&gt;
&lt;br /&gt;
La nostra web amb drupal necessita fer servir '''Clean URL''' i per tal de que aquestes es puguin aplicar es necessari tenir activat el mòdul '''rewrite'''. Per tal d'activar aquest mòdul, utilitzarem les comandes següents:&lt;br /&gt;
&lt;br /&gt;
$a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
Ens informarà que el mòdul està actiu i que s'haurà de reiniciar el servei, cosa que farem amb la comanda:&lt;br /&gt;
&lt;br /&gt;
$ /etc/init.d/apache2 restart o bé&lt;br /&gt;
$ service apache2 restart&lt;br /&gt;
&lt;br /&gt;
= Descarregant el codi font =&lt;br /&gt;
El codi dels mòduls &amp;quot;drupal-guifi&amp;quot;, &amp;quot;drupal-bugdets&amp;quot; i &amp;quot;theme_guifinet2011&amp;quot; son [[software lliure]], i estan allotjats als [[repositoris]] de Gitorious. Els repositoris son útils per desenvolupament de programari però nosaltres ens limitarem a clonar-los.&lt;br /&gt;
&lt;br /&gt;
== Requisits pel clonatge del repositori drupal-guifi ==&lt;br /&gt;
Viam cóm deuríem procedir per a fer un fork del projecte &amp;quot;drupal-guifi&amp;quot; de cara a realitzar alguna modificació sobre el seu codi font.&lt;br /&gt;
&lt;br /&gt;
* Crear-se una compta a [http://gitorious.org Gitorious].&lt;br /&gt;
* Crear unes claus SSH (ssh-keygen) sense contrasenya, i afegir-las al nostre perfil d'usuari de gitorious. Per exemple:&lt;br /&gt;
 $ ssh-keygen &lt;br /&gt;
 Generating public/private rsa key pair.&lt;br /&gt;
 Enter file in which to save the key (/home/dave/.ssh/id_rsa): &lt;br /&gt;
 Enter passphrase (empty for no passphrase): &lt;br /&gt;
 Enter same passphrase again: &lt;br /&gt;
 Your identification has been saved in /home/dave/.ssh/id_rsa.&lt;br /&gt;
 Your public key has been saved in /home/dave/.ssh/id_rsa.pub.&lt;br /&gt;
&lt;br /&gt;
* Accedir a la pàgina del projecte &amp;quot;[https://gitorious.org/guifi/drupal-guifi drupal-guifi]&amp;quot;.&lt;br /&gt;
* Clonar el projecte. Amb això ja tindrem un fork del projecte sobre el que podem realitzar els nostres canvis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pàginas web a Gitorious dels projectes amb els que anem a treballar:&lt;br /&gt;
* https://gitorious.org/guifi/drupal-guifi&lt;br /&gt;
* https://gitorious.org/guifi/drupal-budgets&lt;br /&gt;
* https://gitorious.org/guifi-web/theme_guifinet2011&lt;br /&gt;
&lt;br /&gt;
= Descarrega, instalació i configuració d'un entorn Drupal =&lt;br /&gt;
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 &amp;quot;drupal-guifi&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Descàrregues ==&lt;br /&gt;
* La darrera versió de Drupal 6.x desde linea de comandes&lt;br /&gt;
  wget http://ftp.drupal.org/files/projects/drupal-6.29.tar.gz&lt;br /&gt;
i habilitar l'accès via web:&lt;br /&gt;
 ln -s /usr/share/drupal6/ /var/www/guifi&lt;br /&gt;
&lt;br /&gt;
* Mòduls de Drupal fonamentals per al nostre entorn drupal : webform, views, i18n, views_slideshow&lt;br /&gt;
* Mòduls de Drupal opcionals: schema, devel, potx, l10n_client, languageicons, language_sections, diff, captcha, captcha_pack, event, cck, fckeditor, image, image_filter&lt;br /&gt;
* Mòduls desenvolupats per la comunitat Guifi.net: budgets, guifi&lt;br /&gt;
* El tema oficial &amp;quot;theme_guifinet2011&amp;quot;&lt;br /&gt;
* La base de dades actual de desenvolupament de la web de guifi.net:&lt;br /&gt;
 $ wget http://www.guifi.net/guifi66_devel.sql.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de Drupal ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Aquests son els passos bàsics per a instal·lar i configurar un site Drupal:&lt;br /&gt;
* Descomprimim el paquet de Drupal que ens hem descarregat i el posem accesible al DOCUMENT_ROOT d'Apache:&lt;br /&gt;
 $ cd /var/www&lt;br /&gt;
 $ tar zxvf drupal-6.29.tar.gz&lt;br /&gt;
 $ ln -s drupal-6.29 guifi&lt;br /&gt;
&lt;br /&gt;
* Iniciem el procés de instalació via web de Drupal accedint a http://&amp;lt;ip_del_teu_servidor&amp;gt;/guifi&lt;br /&gt;
&lt;br /&gt;
exemples:&lt;br /&gt;
&lt;br /&gt;
http://10.138.71.10/guifi&lt;br /&gt;
http://localhost/guifi&lt;br /&gt;
&lt;br /&gt;
* 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:&lt;br /&gt;
&lt;br /&gt;
 [dave@inuik http]$ mysql -u &amp;lt;nomusuari&amp;gt; -p &amp;lt;contrassenya&amp;gt; &amp;lt;&amp;lt; es possible &lt;br /&gt;
  que amb root no fagi falta una password&lt;br /&gt;
&lt;br /&gt;
exemple:&lt;br /&gt;
$ mysql -u root -p &amp;lt;salt de linia&amp;gt;&lt;br /&gt;
Enter password: &amp;lt;escritura_de_la_password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 525&lt;br /&gt;
Server version: 5.5.31-0+wheezy1 (Debian)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000,2013, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.&lt;br /&gt;
&lt;br /&gt;
 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; create database guifi_test;&lt;br /&gt;
 Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; grant all on guifi_test.* to guifi@localhost identified by 'guifinet';&lt;br /&gt;
 Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
Ja podem introduir la informació de connexió a la base de dades per a que Drupal cregui les tables necessàries.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels mòduls de Drupal necessaris per a arrencar l'entorn ==&lt;br /&gt;
Descarregar els mòduls absolutament necessaris per a arrencar el nostre site de Guifi.net&lt;br /&gt;
&lt;br /&gt;
'''ATENCIÓ'''. Fixeu-vos que el mòdul &amp;quot;drupal-guifi&amp;quot; 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'').&lt;br /&gt;
&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/modules&lt;br /&gt;
 $ cd drupal-6.29/sites/all/modules&lt;br /&gt;
 $ git clone git://gitorious.org/guifi/drupal-budgets.git budgets&lt;br /&gt;
 $ mv drupal-budgets budgets &amp;lt;&amp;lt; canviem el nom  de drupal-budgets a budgets&lt;br /&gt;
 $ # Clonat de MI FORK del mòdul &amp;quot;drupal-guifi&amp;quot; &lt;br /&gt;
 $ git clone git@gitorious.org:~tombatossals/guifi/tombatossalss-drupal-guifi.git guifi (canvia &amp;quot;~tombatossals/guifi/tombatossalss-drupal-guifi.git&amp;quot; pel teu repositori clonat )&lt;br /&gt;
 $ mv tombatossalss-drupal-guifi guifi &lt;br /&gt;
&amp;lt;&amp;lt; canviem el nom de tombatossalss-drupal-guifi a guifi, això es degut a que quan volquem la base de dades de guifi.net una consulta busca el directori guifi en mòduls, i si no el troba ens dóna errors d'accés i/o interns. '''Es vital''' realitzar aquests canvis de nom.&lt;br /&gt;
&lt;br /&gt;
És possible (degut a que a mi m'ha passat) que al executar les comandes per a la decàrrega de mòduls el sistema fagi de tot menys el que toca. De ser així, es poden realitzar les comandes sense les opcions '-q' i '-O'.&lt;br /&gt;
&lt;br /&gt;
'''Mòdul WebForm:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/webform-6.x-3.19.tar.gz &lt;br /&gt;
 '''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/webform-6.x-3.19.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views-6.x-2.16.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views-6.x-2.16.tar.gz &lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views_slideshow:''' &lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul i18n &amp;lt;Multi-idioma&amp;gt;:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Dins de l'adreça /var/www/drupal-6.29/sites/all/modules, on tindrem descarregats els nostres mòduls, els descomprimirem mitjançant la ordre:&lt;br /&gt;
&lt;br /&gt;
 $ tar zxvf &amp;lt;nom_del_fitxer_a_descomprimir&amp;gt;&lt;br /&gt;
 $ tar zxvf i18n-6.x-1.10.tar.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de la base de dades de desenvolupament de Guifi.net ==&lt;br /&gt;
Ja tenim una instalació neta de Drupal, almenys en teoria. 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ò:&lt;br /&gt;
&lt;br /&gt;
 $ mysql -u root guifi_test &amp;lt; guifi66_devel.sql; &amp;lt;&amp;lt; recordem que &lt;br /&gt;
   les comandes dins de MySQL s'acaben amb un ';'&lt;br /&gt;
'''&lt;br /&gt;
== Afinant la instalació =='''&lt;br /&gt;
&lt;br /&gt;
Un cop realitzada la instal·lació, s'ha d'editar el fitxer .htaccess, que es troba dins de la carpeta arrel de drupal :&lt;br /&gt;
&lt;br /&gt;
 $ cd /var/www/drupal-6.29&lt;br /&gt;
 $ ls -la &amp;lt;&amp;lt; per mostrar llistats tots els fitxers inclosos els ocults&lt;br /&gt;
&lt;br /&gt;
Ens mostrarà un arxiu ocult anomenat : .htaccess&lt;br /&gt;
L'editarem mitjançant un editor de text:&lt;br /&gt;
&lt;br /&gt;
 $ vi .htaccess&lt;br /&gt;
&lt;br /&gt;
En una linia buida del fitxer, apretarem la 'i' per escriure-hi i afegirem la següent linia: RewriteBase /drupal-6.29&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
L'usuari administrador serà &amp;quot;webmestre&amp;quot; i la contrasenya &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Alguns consells per a refinar la instalació:'''&lt;br /&gt;
* Creeu i comproveu que els directoris &amp;quot;files&amp;quot;, &amp;quot;files/nanostation&amp;quot; i &amp;quot;tmp&amp;quot; del directori de instalació de drupal tenen permisos de escriptura per l'usuari del servidor web (o poseu-los a 777):&lt;br /&gt;
 $ mkdir drupal-6.26/{files,files/nanostation,tmp}&lt;br /&gt;
 $ chmod 777 drupal-6.26/{files,files/nanostation,tmp}&lt;br /&gt;
&lt;br /&gt;
* La carpeta &amp;quot;files/nanostation&amp;quot; contendrà els arxius &amp;quot;unsolclic&amp;quot; de les antenes Ubiquiti que anem consultant o creant.&lt;br /&gt;
&lt;br /&gt;
* Comproveu els possibles errors de instalació de Drupal accedint com usuari &amp;quot;webmestre&amp;quot; a la pàgina de administració i, des d'allà, a la pàgina de &amp;quot;Report Status&amp;quot;. Ex: http://localhost/guifi/ca/admin/reports/status&lt;br /&gt;
&lt;br /&gt;
* Accediu a la secció de configuració de &amp;quot;Performance&amp;quot; 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&lt;br /&gt;
&lt;br /&gt;
== Instalació del tema Guifi.net al Drupal ==&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/themes&lt;br /&gt;
 $ cd drupal-6.29/sites/all/themes&lt;br /&gt;
 $ git clone git://gitorious.org/guifi-web/theme_guifinet2011.git &lt;br /&gt;
&lt;br /&gt;
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'&amp;quot;administració de temes&amp;quot;, &amp;quot;configuració del tema de guifinet2011&amp;quot; i &amp;quot;desar&amp;quot; sense tocar cap opció. El tema per fi estarà activat.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels idiomes ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Descarregueu la traducció de l'idioma de aquí: http://localize.drupal.org/. &lt;br /&gt;
&lt;br /&gt;
Per exemple: http://ftp.drupal.org/files/translations/6.x/drupal/drupal-6.26.ca.po&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
* Indiqueu-li l'idioma de l'arxiu que heu descarregat e importeu-lo. A partir d'aquí ja tindrem l'interfície traduïda.&lt;br /&gt;
&lt;br /&gt;
= Començant a treballar =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Per a fer commit dels nostres canvis:&lt;br /&gt;
&lt;br /&gt;
 $ cd drupal-6.29/site/all/modules/drupal-guifi&lt;br /&gt;
 $ # Fem modificacions a alguns arxius, les enregistrem al nostre repositori i procedirem a pujar-les a gitorious&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
 $ git push&lt;br /&gt;
&lt;br /&gt;
Posteriorment, des de la web de Gitorious podrem fer servir un &amp;quot;Merge request&amp;quot; per notificar als desenvolupadors alguna de les nostres modificacions i que valorin la seva incorporació al repositori principal.&lt;br /&gt;
&lt;br /&gt;
== Actualitzant el nostre repositori amb els canvis del repositori pare ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 # Definim com repositori remot anomenat &amp;quot;upstream&amp;quot; el repositori de &amp;quot;drupal-guifi&amp;quot;&lt;br /&gt;
 $ git remote add upstream git://gitorious.org/guifi/drupal-guifi.git&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del nostre repositori&lt;br /&gt;
 $ git fetch origin -v&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del repositori pare&lt;br /&gt;
 $ git fetch upstream -v&lt;br /&gt;
 &lt;br /&gt;
 # Fem el merge dels canvis obtinguts&lt;br /&gt;
 $ git merge upstream/master&lt;br /&gt;
&lt;br /&gt;
== Referències ==&lt;br /&gt;
{{MM|url=https://lists.guifi.net/pipermail/guifi-webdev/2012-February/001750.html|list=webdev}}&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;br /&gt;
* http://acacha.org/mediawiki/index.php/Entorn_de_desenvolupament_guifi&lt;/div&gt;</summary>
		<author><name>Miquelm</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament</id>
		<title>Preparant l'entorn de desenvolupament</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Preparant_l%27entorn_de_desenvolupament"/>
				<updated>2013-12-01T16:18:25Z</updated>
		
		<summary type="html">&lt;p&gt;Miquelm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introducció =&lt;br /&gt;
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 &amp;quot;'''drupal-guifi'''&amp;quot;, 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 &amp;quot;'''theme_guifinet2011'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Instalació de serveis =&lt;br /&gt;
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''').&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
* Debian/Ubuntu:&lt;br /&gt;
 $ sudo apt-get install mysql-server libapache2-mod-php5 php5-gd php5-mysql&lt;br /&gt;
&lt;br /&gt;
* Archlinux:&lt;br /&gt;
 $ pacman -S nginx mysql php-fpm php-gd&lt;br /&gt;
&lt;br /&gt;
Documentació per a Archlinux: [https://wiki.archlinux.org/index.php/Apache,_PHP,_and_MySQL Apache, PHP and MySQL], [https://wiki.archlinux.org/index.php/Nginx Nginx]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Configuració de php.ini ==&lt;br /&gt;
Hem de tenir activats els següents mòduls a l'arxiu php.ini:&lt;br /&gt;
&lt;br /&gt;
 extension=mysql.so&lt;br /&gt;
 extension=iconv.so&lt;br /&gt;
 extension=gd.so&lt;br /&gt;
&lt;br /&gt;
Ara heu de testejar si el vostre sistema interpreta arxius PHP. Aquí teniu un exemple que podeu crear al DOCUMENT_ROOT '''(generalment  /var/www)''' del vostre servidor web. Si no us funciona reviseu els passos anteriors i consulteu la documentació de la vostra distribució.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
'''Configuració de fitxers'''&lt;br /&gt;
Per tal de no tenir problemes en la nostra instal·lació d'un entorn de desenvolupament, es necessari realitzar algunes modificacions dins  d'uns fitxers concrets els cuals esmentarem per tal de que tot funcioni correctament:&lt;br /&gt;
&lt;br /&gt;
En l'adreça següent:&lt;br /&gt;
/etc/apache2/sites-enabled/&lt;br /&gt;
&lt;br /&gt;
Hi tenim un únic fitxer el qual es diu '000-default'. Bé, mitjançant un editor de text de shell (com pot ser el vi) editarem el fitxer:&lt;br /&gt;
&lt;br /&gt;
$ vi 000-default&lt;br /&gt;
&lt;br /&gt;
Dins del fitxer, hem de buscar el següent text: Allow Override None en tot el text i substituir-lo per 'Allow Override All'. Per realitzar la modificació, mitjançant les fletxes de direcció ens situarem sobre la línia en qüestió i apretarem la tecla 'i' la qual ens permetrá escriure. Si es presenten problemes, sembre es pot sortir del fitxer sense guardar mitjançant la tecla 'ESC' seguit de la comanda ':q!' &amp;lt;quit without saving&amp;gt; &amp;lt;&amp;lt; sortir sense guardar.&lt;br /&gt;
&lt;br /&gt;
La nostra web amb drupal necessitarà de l'ús de les '''Clean URL''' i per tal de que aquestes es puguin aplicar es necessari tenir activat el mòdul '''rewrite'''. Per tal d'activar aquest mòdul, emplearem les comandes següents:&lt;br /&gt;
&lt;br /&gt;
$a2enmod rewrite&lt;br /&gt;
&lt;br /&gt;
Ens informarà de que el mòdul estarà actiu i que s'haurà de reiniciar el servei, cosa que farem amb la comanda:&lt;br /&gt;
&lt;br /&gt;
$ /etc/init.d/apache2 restart o bé&lt;br /&gt;
$ service apache2 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Descarregant el codi font =&lt;br /&gt;
El codi dels mòduls &amp;quot;drupal-guifi&amp;quot;, &amp;quot;drupal-bugdets&amp;quot; i &amp;quot;theme_guifinet2011&amp;quot; son [[software lliure]], i estan allotjats als [[repositoris]] de Gitorious. Els repositoris son útils per desenvolupament de programari però nosaltres ens limitarem a clonar-los.&lt;br /&gt;
&lt;br /&gt;
== Requisits pel clonatge del repositori drupal-guifi ==&lt;br /&gt;
Viam cóm deuríem procedir per a fer un fork del projecte &amp;quot;drupal-guifi&amp;quot; de cara a realitzar alguna modificació sobre el seu codi font.&lt;br /&gt;
&lt;br /&gt;
* Crear-se una compta a [http://gitorious.org Gitorious].&lt;br /&gt;
* Crear unes claus SSH (ssh-keygen) sense contrasenya, i afegir-las al nostre perfil d'usuari de gitorious. Per exemple:&lt;br /&gt;
 $ ssh-keygen &lt;br /&gt;
 Generating public/private rsa key pair.&lt;br /&gt;
 Enter file in which to save the key (/home/dave/.ssh/id_rsa): &lt;br /&gt;
 Enter passphrase (empty for no passphrase): &lt;br /&gt;
 Enter same passphrase again: &lt;br /&gt;
 Your identification has been saved in /home/dave/.ssh/id_rsa.&lt;br /&gt;
 Your public key has been saved in /home/dave/.ssh/id_rsa.pub.&lt;br /&gt;
&lt;br /&gt;
* Accedir a la pàgina del projecte &amp;quot;[https://gitorious.org/guifi/drupal-guifi drupal-guifi]&amp;quot;.&lt;br /&gt;
* Clonar el projecte. Amb això ja tindrem un fork del projecte sobre el que podem realitzar els nostres canvis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pàginas web a Gitorious dels projectes amb els que anem a treballar:&lt;br /&gt;
* https://gitorious.org/guifi/drupal-guifi&lt;br /&gt;
* https://gitorious.org/guifi/drupal-budgets&lt;br /&gt;
* https://gitorious.org/guifi-web/theme_guifinet2011&lt;br /&gt;
&lt;br /&gt;
= Descarrega, instalació i configuració d'un entorn Drupal =&lt;br /&gt;
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 &amp;quot;drupal-guifi&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
== Descàrregues ==&lt;br /&gt;
* La darrera versió de Drupal 6.x desde linea de comandes&lt;br /&gt;
  wget http://ftp.drupal.org/files/projects/drupal-6.29.tar.gz&lt;br /&gt;
i habilitar l'accès via web:&lt;br /&gt;
 ln -s /usr/share/drupal6/ /var/www/guifi&lt;br /&gt;
&lt;br /&gt;
* Mòduls de Drupal fonamentals per al nostre entorn drupal : webform, views, i18n, views_slideshow&lt;br /&gt;
* Mòduls de Drupal opcionals: schema, devel, potx, l10n_client, languageicons, language_sections, diff, captcha, captcha_pack, event, cck, fckeditor, image, image_filter&lt;br /&gt;
* Mòduls desenvolupats per la comunitat Guifi.net: budgets, guifi&lt;br /&gt;
* El tema oficial &amp;quot;theme_guifinet2011&amp;quot;&lt;br /&gt;
* La base de dades actual de desenvolupament de la web de guifi.net:&lt;br /&gt;
 $ wget http://www.guifi.net/guifi66_devel.sql.gz&lt;br /&gt;
&lt;br /&gt;
== Instalació de Drupal ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Aquests son els passos bàsics per a instal·lar i configurar un site Drupal:&lt;br /&gt;
* Descomprimim el paquet de Drupal que ens hem descarregat i el posem accesible al DOCUMENT_ROOT d'Apache:&lt;br /&gt;
 $ cd /var/www&lt;br /&gt;
 $ tar zxvf drupal-6.29.tar.gz&lt;br /&gt;
 $ ln -s drupal-6.29 guifi&lt;br /&gt;
&lt;br /&gt;
* Iniciem el procés de instalació via web de Drupal accedint a http://&amp;lt;ip_del_teu_servidor&amp;gt;/guifi&lt;br /&gt;
&lt;br /&gt;
exemples:&lt;br /&gt;
&lt;br /&gt;
http://10.138.71.10/guifi&lt;br /&gt;
http://localhost/guifi&lt;br /&gt;
&lt;br /&gt;
* 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:&lt;br /&gt;
&lt;br /&gt;
 [dave@inuik http]$ mysql -u &amp;lt;nomusuari&amp;gt; -p &amp;lt;contrassenya&amp;gt; &amp;lt;&amp;lt; es possible &lt;br /&gt;
  que amb root no fagi falta una password&lt;br /&gt;
&lt;br /&gt;
exemple:&lt;br /&gt;
$ mysql -u root -p &amp;lt;salt de linia&amp;gt;&lt;br /&gt;
Enter password: &amp;lt;escritura_de_la_password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;
Your MySQL connection id is 525&lt;br /&gt;
Server version: 5.5.31-0+wheezy1 (Debian)&lt;br /&gt;
&lt;br /&gt;
Copyright (c) 2000,2013, Oracle and/or its affiliates. All rights reserved.&lt;br /&gt;
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.&lt;br /&gt;
&lt;br /&gt;
 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; create database guifi_test;&lt;br /&gt;
 Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
 &lt;br /&gt;
 mysql&amp;gt; grant all on guifi_test.* to guifi@localhost identified by 'guifinet';&lt;br /&gt;
 Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
&lt;br /&gt;
Ja podem introduir la informació de connexió a la base de dades per a que Drupal cregui les tables necessàries.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels mòduls de Drupal necessaris per a arrencar l'entorn ==&lt;br /&gt;
Descarregar els mòduls absolutament necessaris per a arrencar el nostre site de Guifi.net&lt;br /&gt;
&lt;br /&gt;
'''ATENCIÓ'''. Fixeu-vos que el mòdul &amp;quot;drupal-guifi&amp;quot; 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'').&lt;br /&gt;
&lt;br /&gt;
 $ mkdir drupal-6.26/sites/all/modules&lt;br /&gt;
 $ cd drupal-6.26/sites/all/modules&lt;br /&gt;
 $ git clone git://gitorious.org/guifi/drupal-budgets.git &lt;br /&gt;
 $ mv drupal-budgets budgets &amp;lt;&amp;lt; canviem el nom  de drupal-budgets a budgets&lt;br /&gt;
 $ # Clonat de MI FORK del mòdul &amp;quot;drupal-guifi&amp;quot; &lt;br /&gt;
 $ git clone git@gitorious.org:~tombatossals/guifi/tombatossalss-drupal-guifi.git &lt;br /&gt;
 $ mv tombatossalss-drupal-guifi guifi &lt;br /&gt;
&amp;lt;&amp;lt; canviem el nom de tombatossalss-drupal-guifi a guifi, això es degut a que quan volquem la base de dades de guifi.net una consulta busca el directori guifi en mòduls, i si no el troba ens dóna errors d'accés i/o interns. '''Es vital''' realitzar aquests canvis de nom.&lt;br /&gt;
&lt;br /&gt;
És possible (degut a que a mi m'ha passat) que al executar les comandes per a la decàrrega de mòduls el sistema fagi de tot menys el que toca. De ser així, es poden realitzar les comandes sense les opcions '-q' i '-O'.&lt;br /&gt;
&lt;br /&gt;
'''Mòdul WebForm:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/webform-6.x-3.14.tar.gz &lt;br /&gt;
 '''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/webform-6.x-3.14.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views-6.x-2.12.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views-6.x-2.12.tar.gz &lt;br /&gt;
&lt;br /&gt;
'''Mòdul Views_slideshow:''' &lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/views_slideshow-6.x-2.4.tar.gz&lt;br /&gt;
&lt;br /&gt;
'''Mòdul i18n &amp;lt;Multi-idioma&amp;gt;:'''&lt;br /&gt;
 $ wget -q -O - http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
'''o'''&lt;br /&gt;
 $ wget http://ftp.drupal.org/files/projects/i18n-6.x-1.10.tar.gz &lt;br /&gt;
&lt;br /&gt;
Dins de l'adreça /var/www/drupal-6.29/sites/all/modules, on tindrem descarregats els nostres mòduls, els descomprimirem mitjançant la ordre:&lt;br /&gt;
&lt;br /&gt;
 $ tar zxvf &amp;lt;nom_del_fitxer_a_descomprimir&amp;gt;&lt;br /&gt;
 $ tar zxvf i18n-6.x-1.10.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Instalació de la base de dades de desenvolupament de Guifi.net ==&lt;br /&gt;
Ja tenim una instalació neta de Drupal, almenys en teoria. 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ò:&lt;br /&gt;
&lt;br /&gt;
 $ mysql -u root guifi_test &amp;lt; guifi66_devel.sql; &amp;lt;&amp;lt; recordem que &lt;br /&gt;
   les comandes dins de MySQL s'acaben amb un ';'&lt;br /&gt;
'''&lt;br /&gt;
== Afinant la instalació =='''&lt;br /&gt;
&lt;br /&gt;
Un cop realitzada la instal·lació, s'ha d'editar el fitxer .htaccess, que es troba dins de la carpeta arrel de drupal :&lt;br /&gt;
&lt;br /&gt;
 $ cd /var/www/drupal-6.29&lt;br /&gt;
 $ ls -la &amp;lt;&amp;lt; per mostrar llistats tots els fitxers inclosos els ocults&lt;br /&gt;
&lt;br /&gt;
Ens mostrarà un arxiu ocult anomenat : .htaccess&lt;br /&gt;
L'editarem mitjançant un editor de text:&lt;br /&gt;
&lt;br /&gt;
 $ vi .htaccess&lt;br /&gt;
&lt;br /&gt;
En una linia buida del fitxer, apretarem la 'i' per escriure-hi i afegirem la següent linia: RewriteBase /drupal-6.29&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
L'usuari administrador serà &amp;quot;webmestre&amp;quot; i la contrasenya &amp;quot;guifi&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''Alguns consells per a refinar la instalació:'''&lt;br /&gt;
* Creeu i comproveu que els directoris &amp;quot;files&amp;quot;, &amp;quot;files/nanostation&amp;quot; i &amp;quot;tmp&amp;quot; del directori de instalació de drupal tenen permisos de escriptura per l'usuari del servidor web (o poseu-los a 777):&lt;br /&gt;
 $ mkdir drupal-6.26/{files,files/nanostation,tmp}&lt;br /&gt;
 $ chmod 777 drupal-6.26/{files,files/nanostation,tmp}&lt;br /&gt;
&lt;br /&gt;
* La carpeta &amp;quot;files/nanostation&amp;quot; contendrà els arxius &amp;quot;unsolclic&amp;quot; de les antenes Ubiquiti que anem consultant o creant.&lt;br /&gt;
&lt;br /&gt;
* Comproveu els possibles errors de instalació de Drupal accedint com usuari &amp;quot;webmestre&amp;quot; a la pàgina de administració i, des d'allà, a la pàgina de &amp;quot;Report Status&amp;quot;. Ex: http://localhost/guifi/ca/admin/reports/status&lt;br /&gt;
&lt;br /&gt;
* Accediu a la secció de configuració de &amp;quot;Performance&amp;quot; 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&lt;br /&gt;
&lt;br /&gt;
== Instalació del tema Guifi.net al Drupal ==&lt;br /&gt;
 $ mkdir drupal-6.29/sites/all/themes&lt;br /&gt;
 $ cd drupal-6.29/sites/all/themes&lt;br /&gt;
 $ git clone git://gitorious.org/guifi-web/theme_guifinet2011.git &lt;br /&gt;
&lt;br /&gt;
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'&amp;quot;administració de temes&amp;quot;, &amp;quot;configuració del tema de guifinet2011&amp;quot; i &amp;quot;desar&amp;quot; sense tocar cap opció. El tema per fi estarà activat.&lt;br /&gt;
&lt;br /&gt;
== Instalació dels idiomes ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Descarregueu la traducció de l'idioma de aquí: http://localize.drupal.org/. &lt;br /&gt;
&lt;br /&gt;
Per exemple: http://ftp.drupal.org/files/translations/6.x/drupal/drupal-6.26.ca.po&lt;br /&gt;
&lt;br /&gt;
* 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&lt;br /&gt;
* Indiqueu-li l'idioma de l'arxiu que heu descarregat e importeu-lo. A partir d'aquí ja tindrem l'interfície traduïda.&lt;br /&gt;
&lt;br /&gt;
= Començant a treballar =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Per a fer commit dels nostres canvis:&lt;br /&gt;
&lt;br /&gt;
 $ cd drupal-6.29/site/all/modules/drupal-guifi&lt;br /&gt;
 $ # Fem modificacions a alguns arxius, les enregistrem al nostre repositori i procedirem a pujar-les a gitorious&lt;br /&gt;
 $ git commit -a&lt;br /&gt;
 $ git push&lt;br /&gt;
&lt;br /&gt;
Posteriorment, des de la web de Gitorious podrem fer servir un &amp;quot;Merge request&amp;quot; per notificar als desenvolupadors alguna de les nostres modificacions i que valorin la seva incorporació al repositori principal.&lt;br /&gt;
&lt;br /&gt;
== Actualitzant el nostre repositori amb els canvis del repositori pare ==&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 # Definim com repositori remot anomenat &amp;quot;upstream&amp;quot; el repositori de &amp;quot;drupal-guifi&amp;quot;&lt;br /&gt;
 $ git remote add upstream git://gitorious.org/guifi/drupal-guifi.git&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del nostre repositori&lt;br /&gt;
 $ git fetch origin -v&lt;br /&gt;
 &lt;br /&gt;
 # Obtenim els darrers canvis del repositori pare&lt;br /&gt;
 $ git fetch upstream -v&lt;br /&gt;
 &lt;br /&gt;
 # Fem el merge dels canvis obtinguts&lt;br /&gt;
 $ git merge upstream/master&lt;br /&gt;
&lt;br /&gt;
== Referències ==&lt;br /&gt;
{{MM|url=https://lists.guifi.net/pipermail/guifi-webdev/2012-February/001750.html|list=webdev}}&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;br /&gt;
* http://acacha.org/mediawiki/index.php/Entorn_de_desenvolupament_guifi&lt;/div&gt;</summary>
		<author><name>Miquelm</name></author>	</entry>

	<entry>
		<id>http://ca.wiki.guifi.net/wiki/Configurar_Repositori_apt_guifi</id>
		<title>Configurar Repositori apt guifi</title>
		<link rel="alternate" type="text/html" href="http://ca.wiki.guifi.net/wiki/Configurar_Repositori_apt_guifi"/>
				<updated>2012-08-26T20:46:29Z</updated>
		
		<summary type="html">&lt;p&gt;Miquelm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Per tal de poguer utilitzar els paquets deb desenvolupats per la comunitat guifi, hem d'afegir el repositori oficial al nostre fitxer de repositoris del nostre sistema basat en Debian (Debian, Ubuntu, Mint, etc.)&lt;br /&gt;
&lt;br /&gt;
= Stable =&lt;br /&gt;
 # vi /etc/apt/sources.list&lt;br /&gt;
 &lt;br /&gt;
 # Repositori oficial de Guifi.net&lt;br /&gt;
 deb http://repo.vic.guifi.net/debian guifi/&lt;br /&gt;
 ## alternativament hi ha un repositori backup per si el primer no funciona per algun motiu.&lt;br /&gt;
 # deb http://serveis.guifi.net/debian guifi/&lt;br /&gt;
&lt;br /&gt;
Un cop afegida aquesta línia, com que el repositori esta firmat, s'ha d'introduïr la clau publica el primer cop que ho feu servir, per fer-ho heu d'executar aquesta comanda:&lt;br /&gt;
 &lt;br /&gt;
 $ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 2E484DAB&lt;br /&gt;
&lt;br /&gt;
Alguns cops aquest &amp;quot;keyserver&amp;quot; no respon, així que si dóna algun error, proveu amb aquest altre:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-key adv --keyserver pgp.rediris.es --recv-keys 2E484DAB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finalment actualitzem el repositori del nostre sistema amb:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
I ja es poden utilitzar els paquets del repositori. Si teniu paquets antics, simplement haureu d'executar la comanda per actualitzar el sistema:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
I si el volem pujar de versió&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Testing =&lt;br /&gt;
S'ha creat una nova branca per als paquets de desenvolupament, com ara el paquet guifi-proxy3, per fer-la servir, cal posar aquesta línia:&lt;br /&gt;
&lt;br /&gt;
 # vi /etc/apt/sources.list&lt;br /&gt;
 &lt;br /&gt;
 # Repositori Oficial de Guifi (Testing)&lt;br /&gt;
 deb http://repo.vic.guifi.net/debian guifi-testing/&lt;br /&gt;
 # alternativament hi ha un repositori backup per si el primer no funciona per algun motiu.&lt;br /&gt;
 # deb http://serveis.guifi.net/debian guifi-testing/&lt;br /&gt;
&lt;br /&gt;
[[es:Configurar Repositorio apt guifi]]&lt;/div&gt;</summary>
		<author><name>Miquelm</name></author>	</entry>

	</feed>