Fecha actual Mar Dic 11, 2018 10:44 am

Proceso de Actualización del Foro de phpBB 3.0.12 o 3.0.x a phpBB 3.1.1

Razón de ser de este foro, nuevas características de de alta relevancia y sugerencias o comentarios de los usuarios.


Usuarios leyendo este tema: Ninguno

Proceso de Actualización del Foro de phpBB 3.0.12 o 3.0.x a phpBB 3.1.1

Notapor ~ » Mar Nov 18, 2014 7:09 pm

El siguiente link es el inicio del proceso básico explicado oficialmente, aunque no es suficiente para describir todo en tanto detalle y tan resuelto como en nuestro tema:
https://www.phpbb.com/community/viewtopic.php?f=466&t=2232411#convert3

En este tema describo en orden y en el mayor detalle posible todos los pasos limpios que he dado para actualizar este foro, de la versión actual, 3.0.12 o 3.0.x, a phpBB 3.1.1 o 3.1.x. Este foro, como ya es sabido, está usando una base de datos SQLite3 con pragma journal_mode=WAL para aumentar al máximo posible la estabilidad de las sesiones y de evitar la falla de ingreso o manipulación de datos incluso ante los bloqueos naturales de la base de datos SQLite3 accedida por múltiples instancias.





En este punto, debemos desconectar el foro de Internet. Los puntos siguientes debemos llevarlos a cabo al menos para nuestro propio usuario administrador.

Antes que nada, debemos ir al Panel de Control de Administración, y asegurarnos de forzar que el idioma por defecto sea "British English".

También nos debemos asegurar de forzar que todos los usuarios usen única y exclusivamente el tema "prosilver" (hay una opción para forzar que todos los usuarios utilicen ese tema sin importar su elección actual).

También debemos asegurarnos de desactivar las medidas contra spambots, o elegir uno de los plugins nativos de phpBB.

Todas estas medidas son para evitar errores que ya no nos permitirían ingresar al foro después de actualizar la base de datos y el software, ya que todos los estilos y plugins de phpBB 3.0.12 o 3.0.x, o usar packs de idioma que en luego ya no estarán presentes adecuadamente, hacen fallar casi irremediablemente el funcionamiento del foro (en el caso de los idiomas, eso es así a menos que copiemos la carpeta "/languages/en/" a una carpeta provisonal simplemente copiando y pegando, por ejemplo a "/languages/es_x_tu/" solo para evitar que un pack de idioma adicional esté ausente al finalizar el proceso).






En las pocas horas en las que he logrado convertir la base de datos correctamente a phpBB 3.1.1 e instalar el software del foro en limpio, me he dado cuenta de que las sesiones parecen no cerrarse tanto como en phpBB 3.0.x, aunque al intentar hacer cosas como crear los índices de búsqueda, la base de datos parece fallar miserablemente (aunque al menos aparentemente sin afectar la sesión), así que será necesario agregar nuestro código anterior de reintentos de los comandos de SQLite3 para intentar fortalecer más al software del foro.

Lo primero que haremos será tener en cuenta que la actualización la llevé a cabo a partir de un respaldo del foro actual, en una computadora aparte, para evitar interferir con la ejecución de este foro actual, o cualquier corrupción de base de datos.

Así que está claro que lo primero que hay por hacer es crear un respaldo, tanto de la base de datos de SQLite3, como del foro.

En mi caso, todo el servidor está instalado en el drive D:\, así que el archivo de base de datos de SQLite3 está en:

/devel_no_ip_org_forum.db

Si no lo hemos hecho, antes de hacer el respaldo debemos ejecutar el siguiente comando desde la consola de SQLite3. Esto activará la jornalización y fortalecerá enormemente la estabilidad del foro ante los bloqueos exclusivos:

Código: Seleccionar todo
pragma journal_mode=WAL;

Imagen
IP for hosts file (email udocproject@yahoo.com to get updates if website becomes offline):
Código: Seleccionar todo
190.150.9.244 archefire.org



See what I'm doing in real time:
Main Desktop 1
Main Desktop 2
Avatar de Usuario
~
Site Admin
 
Mensajes: 2875
Registrado: Sab Nov 10, 2012 1:04 pm

Proceso de Actualización del Foro de phpBB 3.0.12 a phpBB 3.1.1 (Borrando Todo y Guardando el archivo config.php)

Notapor ~ » Mar Nov 18, 2014 7:17 pm

Una vez que hayamos detenido el servidor, copiado todo el código del directorio del foro y la base de datos del foro (incluyendo cualquier archivo SHM y WAL de la base de datos), debemos hacer una copia del archivo config.php. En mi caso la copia a usar para la nueva versión del foro se vería como lo siguiente.

Debemos tener en cuenta que la variable $dbms, al usar SQLite3, ahora debe contener el valor "sqlite3", ya que es el único valor que será correctamente reconocido por phpBB 3.1.1 para poder usar SQLite como gestor de base de datos:

Código: Seleccionar todo
<?php
// phpBB 3.0.x auto-generated configuration file
// Do not change anything in this file!
$dbms = 'sqlite3';
$dbhost = '/devel_no_ip_org_forum.db';
$dbport = '';
$dbname = 'devel_no_ip_org_forum.db';
$dbuser = '';
$dbpasswd = '';
$table_prefix = 'phpbb_';
$acm_type = 'file';
$load_extensions = '';
$latest_query="";

@define('PHPBB_INSTALLED', true);
// @define('DEBUG', true);
// @define('DEBUG_EXTRA', true);




Ahora que tenemos un respaldo actualizado de config.php y de todos los demás componentes del foro, debemos borrar absolutamente todo el contenido del directorio de instalación de nuestro foro (ej., D:/domains/devel.no-ip.org/forum/), exeptuando los directorios /images/ (avatares y otras imágenes de los usuarios), /files/ (archivos subidos por los usuarios) y /store/, y pasar a descargar phpBB 3.1.1 (debemos descargar el paquete de instalación de cero):

https://www.phpbb.com/downloads/?mode=install

Ahora debemos descomprimir todo el contenido de ese paquete en el directorio de nuestro foro que por ahora estará vacío, y una vez hecho esto, copiaremos nuestro archivo anteriormente actualizado config.php, en el directorio del foro.

Ahora debemos sobreescribir algunos archivos de PHP pertenecientes a phpBB con el siguiente archivo .ZIP que he preparado. Estos contienen sobre todo mejoras para robustecer el uso de una base de datos de SQLite3. El archivo sqlite3.php agrega código que entra en bucles constantes hasta que una transacción o recuperación de valores de filas tiene éxito. El archivo /search/base.php soluciona un problema específico de SQLite3, por el que el número máximo de componentes de una expresión es 1000 (el cual es excedido al buscar todas las palabras clave de un mensaje demasiado grande), y con esto lo cambiamos aleatoriamente entre 25 y 975 para también intentar balancear la carga del servidor.

ZIP phpBB-3.1.1-ArcheFire-Patch.zip

Ahora deberíamos iniciar el servidor Apache nuevamente, pero deberíamos mantenernos sin conexión a Internet.
Imagen
IP for hosts file (email udocproject@yahoo.com to get updates if website becomes offline):
Código: Seleccionar todo
190.150.9.244 archefire.org



See what I'm doing in real time:
Main Desktop 1
Main Desktop 2
Avatar de Usuario
~
Site Admin
 
Mensajes: 2875
Registrado: Sab Nov 10, 2012 1:04 pm

Proceso de Actualización del Foro de phpBB 3.0.12 o 3.0.x a phpBB 3.1.1 (Actualizando la Base de Datos)

Notapor ~ » Mar Nov 18, 2014 8:39 pm

Ahora debemos ir al script de actualización de la base de datos, por ejemplo:
http://devel.archefire.org/forum/install/database_update.php

En este proceso tendremos que presionar varias veces un botón para continuar paso a paso actualizando la base de datos en bloques.

En algunos de estos bloques de pasos veremos mensajes de error, pero no hay que preocuparse, porque he comprobado, con mensajes improvisados de depuración (guardando en una cadena global cada comando SQL cuando se ejecutan con sql_query y mostrándolos cuando se intentan recuperar los datos con sql_fetchrow), que esos errores son inofensivos, ya que se trata de intentar ejecutar un sql_fetchrow justo después de un comando SQL INSERT INTO, lo cual obviamente no devuelve ningún valor en SQLite3, pero que no tiene ningún efecto nocivo en la integridad de la base de datos.

Una vez finalizado, debemos renombrar el directorio /domains/devel.archefire.org/install/ para que nos deje usar el foro. Una vez hecho esto, necesitamos hacer nuevamente un respaldo de la nueva base de datos actualizada, y del nuevo software de phpBB 3.1.1, porque en este punto comenzaremos a estudiar cómo volver agregar los snippets, temas, código mejorado de SQLite3 y otro, y miniaplicaciones globales externas de PHP en nuestro servidor, a esta versión nueva del foro, pero ahora estando obligados a modularizar más, usando en gran mayoría extensiones, y usar MODs (modificciones al código base del servidor) cuando, como en el caso del driver de SQLite3, necesitamos agregar mayor robustez de raíz.
Imagen
IP for hosts file (email udocproject@yahoo.com to get updates if website becomes offline):
Código: Seleccionar todo
190.150.9.244 archefire.org



See what I'm doing in real time:
Main Desktop 1
Main Desktop 2
Avatar de Usuario
~
Site Admin
 
Mensajes: 2875
Registrado: Sab Nov 10, 2012 1:04 pm


Volver a Sobre el Foro

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 22 invitados


cron