miércoles, 13 de diciembre de 2017

Quiero actualizar mi Redmine y no perdar datos en el intento

Problema: Quiero actualizar mi redmine v2.5.3 a v.3.4.3 y no perder mis datos en el intento...

Solución: Esta solución se plantea instalando desde cero un Redmine v.3.4.3 (nuevo) y luego migro la información de mi Redmine v.2.5.3 (viejo). Para esto necesito instalar todo desde cero...

Instalo Apache2 + MySQL + Ruby + Passenger + Redmine + tools

1. Actualizo paquetes del servidor a la última versión.
sudo apt-get update && sudo apt-get upgrade

2. Instalo paquetes necesarios y otros útiles para trabajar más cómodo.
sudo apt-get install apache2 mysql-server mysql-client libmysqlclient-dev gcc build-essential zlib1g zlib1g-dev zlibc ruby-zip libssl-dev libyaml-dev libcurl4-openssl-dev ruby gem libapache2-mod-passenger apache2-dev libapr1-dev libxslt1-dev checkinstall libxml2-dev ruby-dev vim libmagickwand-dev imagemagick

3. Descargar redmine, en este momento será el siguiente link:
wget http://www.redmine.org/releases/redmine-3.4.3.tar.gz

4. Crear directorio para extraer redmine y lo configuro:
sudo mkdir -p /opt/redmine && sudo cp redmine-3.4.3.tar.gz /opt/redmine/. && cd /opt && sudo chown -R $your_user redmine
tar xzf redmine-3.4.3.tar.gz
cd redmine-3.4.3

5. Acceder a mysql y crear base de datos y usuario (definir contraseña en 'my_password'):

mysql -u root -p 'mysql_root_password'

CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

6. Copiamos archivo de configuración:
cp config/database.yml.example config/database.yml

7. Editar el archivo config/database.yml agregando la contraseña definida en el punto anterior.
nano config/database.yml

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: my_password

8. Instalar bundler.
sudo gem install bundler
bundle install --without development test
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data

9. Configuración de Apache2.
sudo chown -R www-data files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
sudo chown www-data:www-data Gemfile.lock
sudo ln -s /opt/redmine/redmine-X.X.X/public/ /var/www/html/redmine

10. Agregar Location para redmine en 000-default.conf:
sudo nano /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
ServerAdmin admin@example.com
Servername hostname
DocumentRoot /var/www/html/
        <Location /redmine>
                RailsEnv production
                RackBaseURI /redmine
                Options -MultiViews
        </Location>
</VirtualHost>

11. Agregar línea al final del archivo passenger.conf.
sudo nano /etc/apache2/mods-available/passenger.conf

PassengerUser www-data

12. Habilitar Passenger.
sudo a2enmod passenger

13. Reiniciar Apache2.
sudo /etc/init.d/apache2 restart

14. Desde un navegador web abrir la URL http://IP/redmine.

15. El usuario por defecto es "admin" con clave "admin".

16. Realizo backup de la base de datos de Redmine viejo.
/usr/bin/mysqldump --user=redmine --password='redmine_password' --skip-extended-insert $DATABASE > redmine.sql

17. Eliminar las tablas de la BBDD redmine nueva. Utilizando PhpMyAdmin se eliminan las tablas.

18. Importar la base de datos de Redmine viejo en Redmine Nuevo.
/usr/bin/mysql --user=redmine --password='redmine_password' redmine < redmine.sql

19. Aplicar migración, el directorio en el que se debe ejecutar el comando es /opt/redmine/redmine-3.4.3/.
rake db:migrate RAILS_ENV=production

20. Copiar desde el Redmine viejo el directorio 'files' al Redmine nuevo.




No hay comentarios:

Publicar un comentario