Newscoop 4 para periodistas y editores

Respaldo y actualización

Antes de actualizar un servidor en funcionamiento con la última versión de Newscoop, se recomienda que hagas una copia de respaldo de la base de datos de tu publicación, las plantillas de temas, las imágenes, los archivos agregados y los archivos de configuración. Primero, ingresa a la interfaz administradora (lee el capítulo Inicio para conocer los detalles). Haz clic en Actions en el menú de navegación principal. En el lado inferior de este menú, haz clic en Backup/Restore.

Crear un respaldo 

En la página Backup/Restore haz clic en Make new backup junto al ícono de suma azul.

A dialog box will ask you if you are sure you want to make the backup.

 

Haz clic en OK y aparecerá una ventana emergente con el progreso de la copia.

 

Cuando la ventana anuncie Backup saved to file: puedes hacer clic en Close link para volver a la interfaz administradora de Newscoop. En la página Backup/Restore, aparecerá listada esta copia junto con los respaldos anteriores.

Haz clic en el ícono de escritorio en la columna Download para guardar el tarball de respaldo (con la extensión .tar.gz) de tu servidor de Newscoop a tu computadora de escritorio.

Restaurar con un respaldo

Para restaurar un respaldo anterior creado en otro sistema de Newscoop, haz clic en Upload backup file, y selecciona el respaldo dentro del sistema de archivos de tu computadora.

Luego haz clic en el ícono de salvavidas para restaurar uno de los respaldos en la lista. Se te advertirá que los datos de temas y de la publicación serán sobreescritos por las versiones en el archivo de respaldo, así que asegúrate de tener una copia de los datos actuales antes de seguir.

 

Al terminar la restauración, debes reiniciar el servidor web Apache, por ejemplo, en Debian o Ubuntu usas el comando:

sudo invoke-rc.d apache2 restart

Al mover datos de Newscoop entre servidores, deberás cambiar el alias predeterminado de la publicación para que coincida con el nuevo nombre de dominio. 

Respaldo de la línea de comandos

Newscoop incluye dos códigos para restaurar y respaldar la línea de comandos en tu servidor. Se encuentran en el subdirectorio bin/ de tu instalación de Newscoop, como /var/lib/newscoop/bin/ o una locación similar. Como estos códigos requieren acceso a los archivos de configuración de Newscoop, deben ejecutarse en el usuario raíz (con sudo en Ubuntu).

Puedes crear un archivo de respaldo con este comando:

sudo /path/to/newscoop/bin/newscoop-backup [--silent] [--default-dir] [--help]

Los argumentos opcionales para el respaldo de comandos de Newscoop son:

  • --silent - no muestra ningún mensaje, exitoso o no
  • --default-dir - guarda el archivo de respaldo en el directorio /path/to/newscoop/backup ; sin este argumento, el respaldo quedará en el directorio corriente
  • --help - muestra información de uso

La salida de los comandos debería parecerse a este ejemplo:

sudo /var/lib/newscoop/bin/newscoop-backup --default-dir

Newscoop Backup Utility
-----------------------
Backup script version: 4.0
Backing up newscoop

Available disk space is 4.34 GiB.
The actual necessary space depends mostly on size of your database and multimedia files.
If the backup does not succeed, try to create more free space, please.

 * Backing up the database...done.
 * Backing up the themes...done.
 * Backing up images...done.
 * Backing up file attachments...done.
 * Backing up configuration files...done.
 * Creating tarball...done.
 * Cleaning up...done.

Backup saved to file:
  /var/lib/newscoop/backup/backup-newscoop-2012-04-03-14-29-41.tar.gz

El nombre del archivo es backup-newscoop-[date_time].tar.gz y su tarball contiene toda la instancia de Newscoop: base de datos, plantillas de tema, archivos adjuntos y archivos de configuración. Puedes hallar el tamaño del archivo de respaldo con el comando ls -lh, por ejemplo:

ls -lh /var/lib/newscoop/backup
total 26M
-rw-r--r-- 1 root root 26M 2011-06-22 16:21 backup-newscoop-2011-06-22-16-21-12.tar.gz

Para restaurar un archivo de respaldo específico, usa el comando:

sudo newscoop-restore -b backup_file [-t destination_database_name] [-e] [-c charset] [-s] [-l] [-f] [-h]

El argumento -b backup_file sirve para proveer un camino completo o relativo al tarball creado por el código newscoop-backup. Por ejemplo:

sudo /var/lib/newscoop/bin/newscoop-restore -b /var/lib/newscoop/backup/backup-newscoop-2011-06-22-16-21-12.tar.gz

Newscoop Restore Utility
------------------------
 * Initializing...
   * Temp directory: backup-newscoop-2011-06-22-16-21-12
   * Initialization done.
 * Extracting files into temp directory...done.
 * Backup database name is 'newscoop'.
 * Destination database name (to be replaced) is 'newscoop'.

 All files in the following directories will be deleted.
 (The backup files will be copied to these locations)
    /var/lib/newscoop/templates
    /var/lib/newscoop/images
    /var/lib/newscoop/files
    /var/lib/newscoop/templates_cache
 Are you sure you want to continue? (y/N) y
 * Removing files in /var/lib/newscoop/templates...done.
 * Removing files in /var/lib/newscoop/images...done.
 * Removing files in /var/lib/newscoop/files...done.
 * Removing files in /var/lib/newscoop/templates_cache...done.
 * Restoring templates...done.
 * Restoring images...done.
 * Restoring file attachments...done.
done.
 * Upgrading templates...done.
 * Restoring the database newscoop...done.
 * Upgrading (if necessary)...
    * Upgrading the database from version 3.5.x...done.
 * Updating plugins (if necessary)...   done.
 * Cleaning up...done.

IMPORTANT!
You must restart the apache server for the changes to take effect!

Los argumentos opcionales para el código newscoop-restore son:

  • [-t destination_database_name] Si está provisto, el código usará el nombre de base de datos especificado en lugar del que incluye el archivo de respaldo. Esto es útil para transderir de una publicación de Newscoop a otro servidor, donde los nombres de las bases de datos pueden variar.
  • [-e] Usa los archivos de configuración existentes en lugar de los de respaldo. Los archivos de configuración en la instalación actual no serán reemplazados. Este argumento se basa en el argumento -t; si ambos argumentos se usan juntos, el nombre de la base de datos se leerá en el archivo de configuración existentem no en el argumento -t.
  • [-c charset] convierte datos de charset a UTF-8.
  • [-s] convierte datos del servidor al set de caracteres UTF-8.
  • [-l] lista todos los juegos de caracteres disponibles y sus salidas.
  • [-f] no confirma, sino que responde "sí" en todas las preguntas.
  • [-h] muestra información del uso.

El código newscoop-restore reemplazará los códigos existentes con el archivo de respaldo. Debes ejecutar el código en el directorio al cual tienes acceso de escritura, porque el código creará un directori temporal. Nota que la base de datos de respaldo y los archivos son actualizados automáticamente si son posteriores a la versión instalada de Newscoop.

Primero, reinicia Apache como sugiere el mensaje del código newscoop-restore.

sudo /etc/init.d/apache2 restart
 * Restarting web server apache2
 ... waiting                                                  [ OK ]

Con muchas instalaciones de Newscoop en el mismo servidor, deberán ejecutar el código newscoop-restore en la instalación donde deseas restaurar los datos existentes. Por ejemplo, si has instalado Newscoop en dos locaciones, /var/www/newscoop1 y /var/www/newscoop2. Para restaurar los datos de la instalación newscoop1, debes ejecutar /var/www/newscoop1/bin/newscoop-restore en lugar del código /var/www/newscoop2/bin/newscoop-restore.

Ejecutar el código de actualización

Al terminar un respaldo exitoso, actualiza tu instalación de Newscoop con el método manual o el automático que describen los siguientes capítulos. Si usas el método de instalación manual para actualizar, los archivos en la carpeta Apache DocumentRoot (como /var/lib/newscoop/) no deben eliminarse, a menos que desees realizar una instalación limpia con contenido de una nueva base de datos.

Cualquier cambio a los temas de muestra que trae Newscoop quedará grabado en la actualización. Por eso, debes renombrar el tema en el archivo theme.xml antes de actualizar si deseas mantener esos cambios. Lee el manual técnico Newscoop Cookbook para aprender sobre cómo crear más temas.

Cuando los nuevos archivos se copien a la instalación de Newscoop, tus publicaciones automáticamente quedarán descargadas, y un mensaje de mantenimiento aparecerá para tus lectores.

Luego, revisa el archivo .htaccess en la carpeta DocumentRoot, en especial si haz hecho modificaciones personalizadas en este archivo antes de instalar. Al actualizar de Newscoop 3.5.x a 4.0.0 o posteriores, deberás modificar la línea:

RewriteCond %{REQUEST_URI} !/+templates

con la línea:

RewriteCond %{REQUEST_URI} !/+themes

porque el directorio templates se renombra themes. También debes revisar la línea:

RewriteCond %{REQUEST_URI} !(/+plugins/[^/]*)?/+javascript

que debe ser reemplazada por:

RewriteCond %{REQUEST_URI} !(/+plugins/[^/]*)?/+js

porque el nombre de directorio javascript cambia a js en la versión 3.5.3.

Luego debes ejecutar el código upgrade.php en tu navegador, por ejemplo:

http://www.example.com/upgrade.php

Al finalizar la actualización, tus publicaciones volverán a aparecer en línea automáticamente.