7.2.2.3.5. Foro

Una de las aplicaciones web más recurrentes y utilizadas son los foros que han usurpado en gran medida la función que antiguamente cumplían las listas de correo y las popularmente conocidas news. Hay dos aplicaciones que se usan mayoritariamente:

  • vBulletin, que es software comercial.

  • phpBB, que es software libre y el que instalaremos nosotros.

7.2.2.3.5.1. Preliminares

Como en todos los casos anteriores partimos de un servidor nginx instalado con soporte para contenido dinámico y MySQL. Reservaremos el nombre foro.example.net para phpbb y albergaremos los ficheros de la aplicación bajo /srv/www/foro. Además, requerimos la instalación de otros módulos de PHP:

# apt-get install php-{gd,json,xml,zip,imagick,mbstring}

y una base de datos para para la aplicación:

# mysql
mysql> CREATE DATABASE phpbb;
mysql> GRANT ALL PRIVILEGES ON phpbb.* TO 'usuariocomplicado'@'localhost' IDENTIFIED BY 'contraseñadificil';

Nota

Como para el resto de aplicaciones es conveniente que usuario y contraseña sean largos y complicados, ya que sólo requeriremos recordarlos en el momento de la instalación.

Por último debe descargarse y descomprimirse phpbb en /srv/www/foro:

# mkdir -p /srv/www/foro
# wget -qO - https://www.phpbb.com/files/release/phpBB-3.2.2.tar.bz2 | tar -C /srv/www/foro -jxvf - --strip-component=1
# chown -R root:root /srv/www/foro
# chown -R www-data /srv/www/foro/{config.php,store,cache,files,images/avatars/upload}

Advertencia

Obsérvese que el enlace al software contiene la versión, así que es probable que este número cambie en el momento de su lectura, Compruebe cuál es el enlace en la página de descargas.

Opcionalmente, puede descargarse un módulo de idioma. Esto, sin embargo, lo haremos más adelante.

7.2.2.3.5.2. Configuración en nginx

Basta con que creemos un fichero de sitio con la siguiente configuración:

server {
   listen  80;
   listen 443 ssl;
   server_name foro.example.net;

   include snippets/snakeoil.conf;

   root /srv/www/foro;
   try_files $uri $uri/ =404;
   index index.php index.html index.htm;

   if ($https != "on") {
      return 301 https://$host/$request_uri;
   }

   location ~ \.php$ {
      include snippets/fastcgi-php.conf;
      fastcgi_pass php;
   }

   location /install/app.php {
      try_files $uri $uri/ /install/app.php$is_args$args;
   }

   location ~ /(config\.php|common\.php|cache|files|images/avatars/upload|includes|(?<!ext/)phpbb|store|vendor) {
      internal;
   }

   location ~* \.(gif|jpe?g|png|css)$ {
      expires max;
   }
}

7.2.2.3.5.3. Instalación

Hecho todo lo anterior, basta con visitar con un navegador gráfico la dirección:

http://foro.example.net/install

y contestar a las preguntas. Acaba la instalación, es necesario eliminar el directorio install:

# rm -rf /srv/www/foro/install

Idioma

Adicionalmente, podemos instalar el paquete de idioma para que el foro hable en castellano. Esto paquetes pueden descargarse del sitio de la aplicación, aunque desgraciadamente sólo está en formato zip por lo que requeriremos:

# apt-get install unzip

Hecho lo cual y descargado el paquete, podemos descomprimirlo dentro de /srv/www/foro[1]:

# ln -s foro /srv/www/spanish_formal_honorifics_3_2_2
# unzip -d /srv/www spanish_formal_honorifics_3_2_2.zip
# rm -f spanish_formal_honorifics_3_2_2

Esta operación, sin embargo, no completa la instalación, ya que hay que instalarlo de forma efectiva en el Panel de Administración. Para ello, hay que dirigirse a Customise>Language packs:

../../../../_images/instalar_idioma.png

y hacer efectiva la instalación del paquete de idioma, que debe aparecer en la lista después de haber hecho la descopresión. A continuación puede hacerse que tal idioma sea la lengua por defecto en General>Board Settings:

../../../../_images/idioma_defecto.png

Esto es independiente de que cada usuario en su panel de control pueda usar el idioma que más le convenga (en nuestra instalación sólo podrá elegir entre inglés o castellano, porque no hemos instalado otros). De hecho, el panel de administración lo seguimos viendo en inglés, porque el administrador sigue con este idioma como su idioma preferido. Si vamos a su panel de control (para lo cual hay que salir del panel de administración), veremos cómo cambiarlo:

../../../../_images/idioma_admin.png

Advertencia

Si tras la instalación comprueba que el foro no funciona bien (no puede iniciar sesión, no puede hacer ningún registro de usuario, etc.), asegúrese de borrar totalmente las cookies.

Notas al pie