Inicialment vàrem instal·lar el servidor de fòrums phpBB2. Posteriorment va sortir una nova versió de Debian GNU/Linux que incorporava phpBB3, però com que la feina ja estava feta, vàrem optar per mantenir la versió phpBB2. Però quan la placa base del nou servidor va petar, ens va semblar que era l'excusa perfecte per actualitzar-nos a phpBB3, i així ho vàrem fer.
No m'agrada la idea de tenir un programa instal·lat per duplicat al servidor, però sembla ser que és la forma recomanada per phpBB per tenir més d'un butlletí per servidor (inclosos els servidors virtuals d'Apache). L'alternativa és aplicar les modificacions esmentades més avall que són específiques de Debian i fan més lent el procés d'actualització del programari, alhora que en algun moment podrien deixar de ser correctes o ser insuficients per permetre tenir múltiples butlletins en un mateix servidor.
Així doncs, en comptes de fer servir la versió distribuïda per Debian i els canvis esmentats més avall, instal·laré dues còpies de la versió original i les configuraré perquè serveixin als dos butlletins de notícies que hi ha al servidor.
Miquel Cabañas - 2011-04-29 13:37
Tanmateix, la versió phpBB3 tenia un petit defecte de disseny: la carpeta de cache és única, de forma que es mesclen fitxers de diferents fòrums, fet que es tradueix en comportaments estrany,
Per resoldre aquest problema, ens varen instal·lar uns pedaços (patches) disponibles als enllaços anteriors. Els següents enllaços expliquen l'ús dels programes diff
i patch
per la generació i aplicació de pedaços,
Per més informació consultar la documentació al fitxer Readme.multiboard (v. 3.0.7-PL1-4).
El programa s'ha instal·lat al nou servidor del servei (encara en procés de posta en funcionament) i serà accessible a través del corresponent hoste virtual del SeRMN.
Les instruccions d'instal·lació i configuració de cadascuna de les versions les trobareu a l'enllaç corresponent,
README.multisite
per tal de poder tenir més d'un butlletí de notícies amb un únic conjunt de fitxers.Aquest és el llistat de MOD que es varen instal·lar en alguna versió anterior del phpBB. Abans d'instal·lar-les a la versió actual caldrà comprovar si són necessàries i/o compatibles amb la versió actual.
Incloure només aquells MOD[ifications] que es probable que s'acabin instal·lant.
Aquestes són les llistes actualment en funcionament al SeRMN i que caldrà convertir en fòrums,
sermn.uab.cat
sermn.uab.cat
Avanç de res s'ha de tindre en compte que:
mailbox
.Subject
de les respostes comenci per Re: i que el títol sigui exactament igual al original.m2f_message_hash
, m2f_message_hash_seq
, m2f_message_id
.
Si es troba en alguna d'aquestes taules vol dir que el missatge ja s'habia importat avanç, o bé, que el id està repetit. Aquest error no ens el notifica l'opció Force import
del modul m2f.
Per a porder importar els mails de les antigues llistes de correu, s'ha de seguir els següents pasos:
mailinglistname
Force import
del panell d'administrador.
Per crear la primera base de dades editem el fitxer /etc/dbconfig-common/phpbb3.conf
, i amb la comanda dpkg-reconfigure phpbb3
generem la base de dades i el fitxer de configuració /etc/phpbb3/config.php
corresponent.
<?php ## ## database access settings in php format ## automatically generated from /etc/dbconfig-common/phpbb3.conf ## by /usr/sbin/dbconfig-generate-include ## Tue, 25 Aug 2009 10:04:36 +0100 ## ## by default this file is managed via ucf, so you shouldn't have to ## worry about manual changes being silently discarded. *however*, ## you'll probably also want to edit the configuration file mentioned ## above too. ## $dbuser='phpbb3'; $dbpass='CFwBcuOi3BPM'; $basepath=''; $dbname='phpbb3'; $dbserver='localhost'; $dbport=''; $dbtype='mysql'; ?>
En aquest punt, la base de dades ja ha estat creada però encara no conté dades.
Per cadascun dels virtual hosts, hi ha una base de dades i el seu corresponent fitxer de configuració, però abans de procedir a crear un segon tauler de discussió, haurem d'aplicar els pedaços (patch files) esmentats més amunt,
Per corregir el Bug #437836 (phpbb3: Multiple installations are not supported due to caching functionality) aplicarem els pedaços disponibles,
sermnserver:/usr/share/phpbb3# patch --backup --dry-run --strip=4 < ./phpbb3_cache.diff missing header for unified diff at line 4 of patch patching file www/cron.php missing header for unified diff at line 18 of patch patching file www/includes/acm/acm_file.php missing header for unified diff at line 37 of patch patching file www/includes/acp/acp_styles.php Hunk #4 succeeded at 1002 with fuzz 1. missing header for unified diff at line 129 of patch patching file www/includes/functions_messenger.php missing header for unified diff at line 145 of patch patching file www/includes/template.php patch unexpectedly ends in middle of line Hunk #2 succeeded at 69 with fuzz 1. sermnserver:/usr/share/phpbb3# patch --backup --strip=4 < ./phpbb3_cache.diff missing header for unified diff at line 4 of patch patching file www/cron.php missing header for unified diff at line 18 of patch patching file www/includes/acm/acm_file.php missing header for unified diff at line 37 of patch patching file www/includes/acp/acp_styles.php Hunk #4 succeeded at 1002 with fuzz 1. missing header for unified diff at line 129 of patch patching file www/includes/functions_messenger.php missing header for unified diff at line 145 of patch patching file www/includes/template.php patch unexpectedly ends in middle of line Hunk #2 succeeded at 69 with fuzz 1.
i
sermnserver:/usr/share/phpbb3# patch --backup --strip=4 < ./phpbb3_store.diff missing header for unified diff at line 4 of patch patching file www/includes/acp/acp_database.php Hunk #1 FAILED at 26. Hunk #4 FAILED at 530. 2 out of 4 hunks FAILED -- saving rejects to file www/includes/acp/acp_database.php.rej missing header for unified diff at line 45 of patch patching file www/includes/acp/acp_styles.php missing header for unified diff at line 71 of patch patching file www/includes/functions_compress.php missing header for unified diff at line 110 of patch patching file www/includes/functions_transfer.php
on haurem d'editar el fitxer www/includes/acp/acp_database.php
i fer a mà els canvis rebutjats. Finalment, actualitzem el fitxer amb instruccions breus sobre com tenir diferents taulers de noticies al mateix servidor,
sermnserver:/usr/share/doc/phpbb3# patch --backup < ./README.multiboard.diff patching file README.multiboard
i comprovem que els fitxers següents s'hagin modificat correctament (la comanda patch
ha fet una còpia de seguretat dels fitxers originals, té el mateix nom i l'extensió .original
).
phpbb3_cache.diff
/usr/share/phpbb3/www/cron.php
/usr/share/phpbb3/www/includes/acm/acm_file.php
/usr/share/phpbb3/www/includes/acp/acp_styles.php
/usr/share/phpbb3/www/includes/functions_messenger.php
/usr/share/phpbb3/www/includes/template.php
phpbb3_store.diff
/usr/share/phpbb3/www/includes/acp/acp_database.php
/usr/share/phpbb3/www/includes/acp/acp_styles.php
/usr/share/phpbb3/www/includes/functions_compress.php
/usr/share/phpbb3/www/includes/functions_transfer.php
README.multiboard.diff
/usr/share/doc/phpbb3/README.multiboard
La instalació del forum crea un fitxer de configuració apache.conf
enllaçat desde <path>/apache/conf.d
Donat que volem una configuració per dominis, eliminem l'enllaç i possem les dades de configuració al virtualhost corresponent:
#### PHPBB2 FORUM #### <Directory <path>/phpbb2/site/> <IfModule mod_php5.c> php_flag register_globals off </IfModule> Options -Indexes +FollowSymlinks DirectoryIndex index.php AllowOverride None Order allow,deny Allow from all ... </Directory> <Directory "<path>/phpbb2/avatars2"> Options -Indexes Order allow,deny Allow from all ... </Directory> <Location /forum> php_value auto_prepend_file <path>/config2.php </Location> Alias /forum/images/avatars <path>/phpbb2/avatars2 Alias /forum <path>/phpbb2/site
El directori <path>/phpbb2/avatars2
ha de ser creat. Hi ha d'haver un per cada domini.
Recordar també, modificar els permisos de tots el fitxers i carpetes implicats en la configuració per a que siguin el més restrictius possible.
Per canviar la data d'un post cal actualitzar el la data del post al camp timestamp
de la taula phpbb_posts
de la base de dades del tauler d'anuncis (board). El timestamp de la nova data i hora es pot obtenir a UNIX Timestamp Converter & Calculator (lloc preferit). Altres llocs són Online Tools: Unix Timestamp Converter (actualment dóna un error), Epoch converter, Unix Time Stamp.com, o Timeanddate.com.
En el cas dels posts que són alhora topics (és a dir, que són el primer post d'una (possible) sèrie de posts, i no “pengen” de cap altre post) també s'ha d'actualitzar el contingut del camp timestamp
a la taula phpbb_topics
.
A principis de 2011 vàrem comprovar que el solapament entre la llista d'usuaris subscrits a la llista de correu del SeRMN i la llista d'usuaris amb accés al programa de reserves era mínima. És a dir, un gran nombre d'usuaris del servei no rebien les notícies i avisos del SeRMN destinats a ells. Per tal de redreçar aquesta situació, vàrem prendre la decisió de fer obligatòria la subscripció dels usuaris actius del SeRMN 1) al fòrum d'Anuncis generals (antigament u-sermn).
Per fer-ho, cal afegir a la taula forums_watch un registre per cada subscripció d'un usuaris (users_id) a un fòrum (forum_id), deixant la variable notifiy_status a zero (0
indica que cal notificar a l'usuari, 1
indica ja ha estat notificat). Per fer-ho es pot emprar el següent codi esmentat al fòrum [3.0.x] MOD Requests
Re: Auto Subscribe to forum Postby tomvdp » Thu Nov 11, 2010 2:46 pm
Here is the sql I used to subsribe all my users to all the forums:
SELECT ALL INSERT INTO forums_watch (user_id, forum_id, notify_status) SELECT u.user_id, f.forum_id, 0 notify_status FROM users u, forums f WHERE u.user_type=0 AND NOT EXISTS (SELECT 1 FROM forums_watch fw WHERE fw.user_id=u.user_id AND fw.forum_id=f.forum_id)Note that you may have to add a prefix to the table names per your setup. (forums_watch, users, forums)
Per tal de poder comprovar els permisos dels usuaris registrats als fòrums del servei, he creat tres usuaris amb username:
Reg User
,Reg User PI
, iReg User SeRMN
que tenen la mateixa clau d'accés (53r….) i idèntica adreça d'email (miquel.cabanas@uab.cat). Accedint al fòrum com aquests usuaris es pot comprovar si els permisos són els correctes.
Potser caldrà bloquejar els comptes dels usuaris i IP per evitar que puguin modificar la subscripció als fòrums de notícies del SeRMN…
Aquesta és una llista de possibles millores o canvis a valorar,
Hi ha 410 contribucions … serà un camí llarg i dur, caldrà tenir paciència i perseverança… Les categories marcades amb ja han estat examinades:
i aquestes són les MODs preseleccionades,