Actualizando la instalación

Nightly o GNU social 1.1.x a GNU social 1.2.x

Si se sigue el repositorio git de GNU social, se recomienda usar la rama «master» (o la nightly si se quiere tener las últimas características) y seguir el procedimiento:

  1. Primero de todo, hay que hacer una copia de seguridad. Las discusiones sobre las actualizaciones de StatusNet de más abajo dan algunas guías para las copias de seguridad de las bases de datos y los archivos (mysqldump y rsync).

  2. Hay que parar el demonio de colas (se puede ejecutar esta orden aunque no se use):

    $ bash scripts/stopdaemons.sh
    
  3. Hay que ejecutar la siguiente orden para coger el código fuente más reciente:

    $ git pull
    
Si no se está usando git se recomienda seguir las siguientes ordenes para actualizar de StatusNet 1.1.x a GNU social 1.2.x ya que son muy similares.
  1. Hay que ejecutar el script de actualización:

    $ php scripts/upgrade.php
    

    El script de instalación es probable que tarde bastante, ya que actualizará las tablas a otra codificación y hará algunas actualizaciones automáticas. Hay que asegurarse de que termina sin errores. Si se tienen errores, es aconsejable abrir un hilo en la página del proyecto GNU social.

  1. Hay que iniciar el queue daemons otra vez (se puede ejecutar esta orden aún si no se usa queue daemons):

    $ bash scripts/startdaemons.sh
    
  2. Reportar errores en https://git.gnu.io/gnu/gnu-social/issues

Si se usa claves ssh para iniciar sesión en el servidor, se puede hacer este paso bastante indoloro (asumiendo que se tienen las copias de seguridad automatizadas). Hay que asegurarse de que se hace «cd» en el directorio adecuado (en este caso «htdocs») y usar el combo «login@hostname» correcto.

ssh social@domain.example 'cd htdocs \
   && bash scripts/stopdaemons.sh \
   && git pull \
   && time php scripts/upgrade.php \
   && bash \
   scripts/startdaemons.sh'

Por hacer

quitar el href de login@hostname

StatusNet 1.1.x a GNU social 1.2.x

No se puede soportar la migración de otra versión de StatusNet que no sea la 1.1.1. Si alguien usa una versión menor que esta, se recomienda actualizar a esta versión siguiendo los procedimientos adecuados.

Una vez acutalizado a StatusNet 1.1.1 ya se puede migrar a GNU social 1.2.x. Hay que tener cuidado con los cambios mínimos requeridos de PHP y los módulos necesarios, por lo que hay que revisar el archivo INSTALL (php5-intl es una nueva dependencia, por ejemplo).

Antes de empezar: Hay que hacer copias de seguridad. Siempre hay que hacer copias de seguridad. Tanto de los directorios como de la base de datos. Todas las tablas. Todas los datos. Todo.

  1. Hay que hacer copia de seguridad de todo. Para hacer copia de la base de datos, se puede usar una variante del siguiente comando (se te preguntará por la contraseña de la base de datos):

    $ mysqldump -u dbuser -p dbname > social-backup.sql
    
  2. Hay que parar el queue daemons.

    $ bash scripts/stopdaemons.sh
    
No todo el mundo usa queue daemons, pero la orden de arriba no hará daño.
  1. Hay que descomprimir el código GNU social en un directorio nuevo. Se puede hacer esto clonando el repositorio git:

    $ git clone https://git.gnu.io/gnu/gnu-social.git gnusocial
    
  2. Hay que sincronizar los archivos locales con el directorio de GNU social. Estos serán los archivos locales como los avatates, ficheros de configuración y demás:

  • acatar/*
  • file/*
  • local/*
  • .htaccess
  • config.php

Esta orden indica como hacerlo:

$ rsync -avP statusnet/{.htaccess,avatar,file,local,config.php} gnusocial/
  1. Ahora hay que reemplazar el directorio antiguo de StatusNet con el nuevo directorio de GNU social en el servidor web.

  2. Hay que ejecutar el script de actualización:

    $ php scripts/upgrade.php
    
El script de instalación es probable que tarde bastante, ya que actualizará las tablas a otra codificación y hará algunas actualizaciones automáticas. Hay que asegurarse de que termina sin errores. Si se tienen errores, es aconsejable abrir un hilo en la página del proyecto GNU social.
  1. Y se reinicia queue daemons:

    $ bash scripts/startdaemons.sh
    
  2. Reportar errores en https://git.gnu.io/gnu/gnu-social/issues