User Tools

Site Tools


sermn_wiki:userpages:marta:servidor_forums_phpbb3

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,

  • phpBB3 v. 3.0.2-4 - Instal·lada a partir del paquet disponible a GNU/Debian Lenny, amb les modificacions esmentades al fitxer README.multisite per tal de poder tenir més d'un butlletí de notícies amb un únic conjunt de fitxers.
  • phpBB3 v. 3.0.8 - Instal·lada a partir del fitxer de distribució oficial. S'instal·la per duplicat a dos directoris diferents (un per butlletí de notícies) i així no cal cap modificació especial per poder tenir més d'un butlletí de notícies amb un únic conjunt de fitxers.

MOD[ifications] - Extensions i millores

Instruccions d'instal·lació de MOD i MODX

  • Installing a modification. Once you have opened the installation file you may be faced with some actions that are unfamiliar. The actions you will be required to know to install your desired MOD are explained below.
  • phpBB QuickInstall is a tool written by evil<3 and tumba25 that allows users to quickly set up multiple installations of phpBB3 with one mouse click. It is most useful for MOD authors wishing to create separate test boards for their modifications.
  • How to install a MODX Modification. This article intended to give you a simple tutorial about using the new XML modification format: MODX.
  • [Tutorial] How to install a MOD. The tutorial illustrates the MOD installation process by using the Attachment MOD install file and the topic description MOD install file. The same process should be applicable to all other MOD.

Instal·lades i actives

  • Digests MOD. Sends customized email digests of forum posts to subscribers of a phpBB Version 2.x and Version 3.0.x forums. Daily or weekly digests can be sent (monthly digests are a feature of the phpBB 3 version). This modification is “lightweight” in that it does not heavily modify phpBB. Actualitzat a la versió 2.2.16

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.

  • Memberlist Access. With this MOD admin can decide who gets to view the memberlist. Options include: All, registered users, moderators, admins. Options are settable from the ACP.
  • Expire Unactivated Users by Timeframe. Deletes unactivated users from the forum memberlist based on a timeframe since their unactivated registration. Designed to eliminate spammers.
  • Easy assign user to groups. This mod allows the admin to assign a user to any combination of groups from a single page by using the usual manage user page in the ACP.
  • Admin Userlist. This MOD lets you view all of your members and various information about them in the Admin Control Panel. From the list, you can perform various actions on multiple users. Delete, Ban, Unban, Add to Usergroup, etc…
  • View Topic Name While Posting. This will allow you to see what topic you are replying to when you are posting a reply.
  • Stop Spambot Registration. This MOD stops spambots that provide Profile Information during registration in spite of a message saying “leave the Profile Information blank”. An e-mail notification will be send every time there was a spambot registration attempt. NOTE: the e-mail notification can easily be left out if you wish.
  • List watched Topics. This MOD will allow you to easily see all topics you are watching. It uses search.php for this.
  • Send mail to user on admin (de-)activate. Normally when a user's status (active yes/no) has been changed through the ACP, the user isn't notified of this change. If the board requires admin/user activation and the user is activated by the admin he/she therefore has no way of knowing that the activation has taken place already. Similarly is the user has been deactivated he/she will not know this until they next try to login and then they often will not understand what's going on. This mod fixes that. If the board requires admin/user activation and the user is activated through the ACP the activation key (if exists and is not for password change) will be deleted and the user notified by email. If then at a later stage the user is de-activated and/or activated again through the ACP the user is notified of this by email as well.
  • Forum membership benefits. This mod allows for members of admin-specified groups to have the ability to send/recive PMs, have an avatar, and have a signature. A member also have the words “Site Member” below their user name on each post.
  • Security Question. Add a security question and hide profile fields during registration.
  • Attachment mod. This Mod adds the ability to attach files in phpBB2.
  • Clone posts. Allows a user to clone a post to a new topic that can be placed in any forum. This is especially useful for cloning non-standard posts like posts with polls in them (or even better, posts with surveys in them created using my tabulated survey at topic head mod), since those posts are not so easy to copy without a mod like this.

En procés d'instal·lació

  • Cap actualment

Altres extensions d'interès

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

  • AntiSpam Mod. Protects your forum from automatically dispatched spam.
  • Primehalo's phpBB3 MODs. Like “Notify:” Inserts the content of a post or private messages into the notification e-mail, and many more.
  • (Beta) Mass email HTML MOD. This mod allow you to send mass emails with html code. It allows saving the sent e-mails and provide an frontend user interface to display them.

Seguretat i privacitat: SPAM, bots, ...

Altres assumptes tècnics

  • m2f, formally mail2forum, is a PHP application which links internet-based communities. The current release works as a bridge between email mailing lists and phpBB 2 forums. Links phpBB 2 forums with email mailing lists. Either use an existing mailing list or create a new one from within m2f. Posts to the forum are emailed to the list, emails to the list are posted to the forum.
  • Cóm importar ''flat files'' dins phpBB.

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,

  • i-sermn
    • hoste virtual sermn.uab.cat
    • llista tancada - sense autosubscripció
    • llista unidireccional - els subscriptors no poden enviar missatge a la llista
    • arxiu de missatges privat - no visible sense login
  • u-sermn
    • hoste virtual sermn.uab.cat
    • llista oberta - amb autosubscripció
    • llista unidireccional - els subscriptors no poden enviar missatge a la llista
    • arxiu de missatges públic - visible sense login

Captura de pantalla

Import mails from old mailing lists

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

  • Els mails han de ser en un fitxer amb format mailbox.
  • Els usuaris que envien el mail han de estar registrats al fòrum i tenir permís d'escriptura (com a mínim al fòrum on s'importarà el mail).
  • La llista a d'estar activada però l'opció de notificació ne nous missatges ha de estar desactivada, sense configuració o am una configuració errònia; per tal que no s'enviïn mails a tots el usuaris.
  • Per encadenar mails d'un mateix fil de discussió cal que el Subject de les respostes comenci per Re: i que el títol sigui exactament igual al original.
  • Permetre totes les extensions dels attachments que hi hagi als missatges.
  • L'id del missatge de correu no ha de ser a cap de les tres taules: 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:

  • Complir les condicions anterios.
  • Copiar els missatges al fitxer corresponent, /var/mail/mailinglistname
  • Activar la llista corresponent al forum on s'introduiran els missatges.
  • Clicar l'opció Force import del panell d'administrador.

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

  • diferències al fitxer phpbb3_cache.diff
    1. /usr/share/phpbb3/www/cron.php
    2. /usr/share/phpbb3/www/includes/acm/acm_file.php
    3. /usr/share/phpbb3/www/includes/acp/acp_styles.php
    4. /usr/share/phpbb3/www/includes/functions_messenger.php
    5. /usr/share/phpbb3/www/includes/template.php
  • diferències al fitxer phpbb3_store.diff
    1. /usr/share/phpbb3/www/includes/acp/acp_database.php
    2. /usr/share/phpbb3/www/includes/acp/acp_styles.php
    3. /usr/share/phpbb3/www/includes/functions_compress.php
    4. /usr/share/phpbb3/www/includes/functions_transfer.php
  • diferències al fitxer README.multiboard.diff
    1. /usr/share/doc/phpbb3/README.multiboard

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:

  • Reg User,
  • Reg User PI, i
  • Reg 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.

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

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:

  • Cosmetic: 109 Contributions
  • Tools: 104 Contributions
  • :+: Security: 16 Contributions
  • :+: (3 de 4 pàgines) Communication: 87 Contributions. Continuar a 4a pàgina
  • :+: Profile/User Control Panel: 77 Contributions
  • Add-ons: 229 Contributions
  • :+: Anti-Spam: 27 Contributions
  • :+: Entertainment: 20 Contributions
  • :+: Miscellaneous: 28 Contributions

i aquestes són les MODs preseleccionades,

1)
aquells amb compte actiu al programa de reserves
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
sermn_wiki/userpages/marta/servidor_forums_phpbb3.txt · Last modified: 2020/08/07 13:18 by sermnadmin