User login


Guia per fer una còpia local de comesfa.org + subversion


Aquesta és una guia ràpida per instal·lar una còpia de comesfa.org/guifi.net en un servidor web local de manera que estigui sincronitzada amb el subversion del bandoler, amb l'objectiu de fer-hi modificacions fàcilment.

1) Instal·lem els paquets següents: apache, mysql-server-5.0, php5, php5-mysql, libapache2-mod-php5, subversion

ATENCIÓ: Ens hem trobat que amb la branca 5.2 del php aquesta versió del drupal no gestiona correctament l'autenticació d'usuaris (a l'entrar amb el vostre nom d'usuari i contrasenya l'aplicació us deslogueja al següent clic que feu). Amb php 5.1 sembla que sí que funciona tot bé.

2) Descarreguem el CMS drupal. http://drupal.org/files/projects/drupal-4.6.3.tar.gz

3) Descomprimim els continguts del paquet en el DocumentRoot del nostre servidor (el podem veure al fitxer httpd.conf de l'apache). Suposant que és /var/www:

tar -zxvf drupal-4.6.3.tar.gz
mv drupal-4.6.3/* /var/www

Això s'ha de fer com a usuari apache o www-data, depenent dels permisos que tingui el directori /var/www.

4) Eliminem els directoris "themes" i "modules" de la instal·lació del drupal.

cd /var/www
rm -rf modules
rm -rf themes

5) Seguint al directori arrel del drupal (/var/www), fem un checkout dels directoris "themes" i "modules"

svn checkout --username anonymous https://svn.projectes.lafarga.cat/svn/guifi/comesfa_drupal46/modules modules/ (sense contrasenya)
svn checkout --username anonymous https://svn.projectes.lafarga.cat/svn/guifi/comesfa_drupal46/themes themes/ (sense contrasenya)

Això també s'ha de fer tenint permisos d'escriptura sobre el directori, per tant com a usuari apache o www-data altre cop.

6) Creem una base de dades i un usuari al servidor mysql pel CMS. Primer escrivim al shell:  mysql. Des de la línia de comandes del mysql escrivim:

create database drupal;
grant all privileges on drupal.* to username@localhost identified by 'userpassword';

On "username" i "userpassword" són respectivament el nom d'usuari i la contrasenya del CMS.

7) Editem les variables següents de sites/default/settings.php en funció del lloc sobre el que vulguem treballar:
$db_url = 'mysql://username:userpassword@localhost/drupal';
$base_url = 'http://localhost/';

Per treballar amb el comesfa sencer:
$db_prefix = '';

Per treballar només amb guifi.net, escrivim:
$db_prefix = array(
    'default'   => '',
    'blocks'    => 'guifi_',
    'permission' => 'guifi_',
);

8 ) Editem el fitxer httpd.conf de l'apache. Ens hem d'assegurar principalment del següent:

  1. Que el DocumentRoot estigui al directori /var/www o bé allà on haguem descomprimit el drupal.
  2. Que a la directiva AllowOverride dins del bloc <Directory /var/www> ... </Directory> estigui a "All" (per defecte està a "None")
  3. Que el DirectoryIndex contingui, entre d'altres, index.php.

9) Modifiquem els paràmetres de la configuració del php5. Hem d'editar php.ini i canviar
post_max_size=20M
memory_limit=64M
max_execution_time=30


10)
Apliquem un pegat al codi del drupal pel mòdul d'internacionalització:

cd /var/www/includes
patch < ../modules/i18n/patches/i18n_includes.patch

11) Creem l'estructura de la base de dades. Com que actualment sembla ser que hi ha estructura de la base de dades que no s'exporta en els bolcats diaris, la manera de fer-ho ara mateix és:

  1. Crear una nova estructura escrivint, als directoris "database" del drupal i de tots els mòduls:
    mysql drupal < database/database.mysql
    mysql drupal < modules/guifi/database/guifi.sql
    mysql drupal < modules/i18n/i18n.mysql

    etc..
  2. Importar una còpia de la base de dades del comesfa obtinguda amb mysqldump: (la podeu baixar de http://www.comesfa.org/cef.sql.gz i descomprimir-la)
    mysql drupal < cef.sql
  3. Netejar la cache del drupal escrivint delete from cache; a la línia de comandes del mysql (gràcies Carles! ;-))

Ara per ara no sembla possible de fer una instal·lació neta del mòdul sense fer primer això i després eliminar els continguts del CMS, ja que les estructures dels fitxers mysql no estan actualitzades.

12) Ens assegurem que l'apache tingui el mod_rewrite disponible. Per fer-ho, executem
a2enmod. Ens apareixerà un llistat de mòduls; escrivim "rewrite". Fent un ls /etc/apache2/mods-enabled ens hauria d'aparèixer, entre d'altres, un enllaç simbòlic cap a "/etc/apache2/mods-available/rewrite".

13) Reiniciem el servidor web amb /etc/init.d/./apache restart, o httpd restart. A http://localhost hauríem de tenir una còpia funcional de la pàgina web. Podem editar directament sobre "modules" i "themes" i mantenir-los sincronitzats amb el subversion del bandoler, discutir millores i enviar pegats a guifi-rd, etc...

Per poder fer un login de manera simple, l'md5 de "password" és 5f4dcc3b5aa765d61d8327deb882cf99

Nota: malgrat que el procediment descrit intenta ser el més exhaustiu possible, és possible que hi falti algun pas. Si teniu problemes o en descobriu algun, fóra bo que m'ho féssiu saber ;-)

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

M'ha sigut molt útil

M'ha sigut molt útil aquesta guia.
Només remarcaria que cal fer el "delete from cache" si es carrega del mysqldump, ja que no m'hi vaig fixar bé i després la cosa no anava fina.

Ara els repositoris de SVN estan a la farga

svn co https://svn.projectes.lafarga.cat/svn/guifi/comesfa_drupal46/modules modules/
svn co https://svn.projectes.lafarga.cat/svn/guifi/comesfa_drupal46/themes themes/

self-wiki

tot i que per l'aparença no convidi tan com un wiki, el drupal i el seu contingut és com un wiki, o sigui que si hi ha dades que dius que estan desfasades tu mateix les pots editar (i si no pots per permisos, just ask Eye-wink

entre tots hem de mantenir-ho tot el màxim d'actualitzat i correcte, i com en les connexions de la xarxa, si una part no funciona bé és "mèrit" de tots Smiling

knoppix's picture

error mysql

mysql> $db_url = 'mysql://username:userpassword@localhost/drupal'; aquet es el error que tinc ara jeje tot i posar el username i el userpassword ERROR 1064 (42000): You have an error in your SQL syntax; check the manual thatcorresponds to your MySQL server version for the right syntax to use near '$db_url = 'mysql://username:userpassword@localhost/drupal'' at line 1 disculpeu la meva ignorancia pero tinc de fer que funcioni per fer un servidor de graficas
 be gracies

no ho has de posar aqui.

Aquesta és una linia que va a la configuració del drupal.
No és pas una instrucció a executar des del prompt del mysql

No acaba de rutllar

Algú dels que hi heu estat treballant ha pogut descobrir per quin motiu quan l'usuari es registra en la còpia local i clica qualsevol enllaç, automàticament, se'l fa fora ???

Proves fetes fins ara

Per si algú s'hi vol entretenir, al meu portàtil això no passava...

Vam fer proves amb el portàtil del Ramon i amb la mateixa base de dades i el mateix settings.php (i en principi el mateix codi), rewrites activats, mateix htaccess i mateixos directoris, etc... a mi m'anava i a ell no. L'única diferència rellevant que hi vaig saber veure és que jo tenia php 5.1.2 i ell tenia la 5.2... Així ho he deixat escrit al document.

Estaria bé que algú que tingui accés a les dues versions (i temps i interès per mirar-s'ho!) veiés si es tracta d'això o no. També vaig apujar el nivell de verbositat del logging del php i al 5.2 no semblava queixar-se de res en concret, però seria una bona manera d'esbrinar quin és el problema...

settings.php

(de memòria)
Hi ha un paràmetre al settings.php que es diu "base_url" que fa aquesta funció (especificar el "hostname" amb el que estem actualment treballant). Com que treballeu amb una còpia, heu d'especificar allí les variables particulars de cada site en concret. Es fa servir un settings.php o un altre en funció del nom de host que ja actualment estiguem fent servir (i.e. proves.guifi.net, proves.elserrat.guifi.net, guifi.net, comesfa.org....)