Table of Contents

phpBB3 Forum software

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.

Enllaços d'interès sobre phpBB3

Instruccions d'instal·lació

Les instruccions d'instal·lació i configuració de cadascuna de les versions les trobareu a l'enllaç corresponent,

MOD[ifications] - Extensions i millores

Instruccions d'instal·lació de MOD i MODX

Instal·lades i actives

A instal·lar

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.

En procés d'instal·lació

Altres extensions d'interès

Incloure només aquells MOD[ifications] que es probable que s'acabin instal·lant.

Seguretat i privacitat: SPAM, bots, ...

Altres assumptes tècnics

Exemples de fòrums

Llistes d'email al SeRMN

Aquestes són les llistes actualment en funcionament al SeRMN i que caldrà convertir en fòrums,

Captura de pantalla

Import mails from old mailing lists

Avanç de res s'ha de tindre en compte que:

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:

Configuració del forum

Bases de dades

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,

Correcció del bug #437836)

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).

Virtual Hosts

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.

Gestió del fòrum

Cóm canviar la data d'un post (o tòpic)

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.

Cóm forçar la subscripció a un fòrum

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)

Usuaris de prova

Per tal de poder comprovar els permisos dels usuaris registrats als fòrums del servei, he creat tres usuaris amb username:

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.

Locking out users

Potser caldrà bloquejar els comptes dels usuaris i IP per evitar que puguin modificar la subscripció als fòrums de notícies del SeRMN…

Suggeriments

Aquesta és una llista de possibles millores o canvis a valorar,

MODs a provar

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,

1)
aquells amb compte actiu al programa de reserves