-
-
Notifications
You must be signed in to change notification settings - Fork 8
Actualizar de 1.2
Desde el directorio del sitio (digamos sitios/miorg
) editar conf.php
y antes de global $modulos;
agregar:
/** Evita edición de casos
* @global bool $GLOBALS['no_permite_editar']
*/
$GLOBALS['no_permite_editar'] = true;
Se dejará como copia histórica.
Ingresar al directorio del sitio y ejecutar:
../../bin/pgdump.sh
Sacar copia del volcado que genera (verá el nombre cuando ejecute la orden anterior), por ejemplo:
cp /var/www/resbase/miorg-dump-Wed.sql-s /var/www/resbase/miorg-dump-Wed-migra.sql
Clonar o copiar SIVeL2 en un directorio usable por el servidor web, por ejemplo
cd ~/tmp/
git clone https://github.com/pasosdeJesus/sivel2
cd /var/www/htdocs/sivel2_miorg
cp ~/tmp/sivel2/* .
git pull
rm -rf log/*
Por ejemplo si desde el web se verá en miorg/sivel2
:
Editar config/initializers/punto_montaje.rb
Sivel2::Application.config.relative_url_root = '/miorg/sivel2'
Sivel2::Application.config.assets.prefix = '/miorg/sivel2'
Editar config/routes.rb
y continuación de
Rails.application.routes.draw do
agregar:
scope 'miorg/sivel2' do
Y al final antes del primer mount
, agregar
end
Cambiar los mount
para que en lugar de "/"
digan "miorg/sivel2"
Editar config/application.rb
config.relative_url_root = "/miorg/sivel2"
Configurar nombres, usuario y clave de base de datos en ```config/database.yml"
Crear base de desarrollo en blanco con:
rake db:setup
Preparar para pruebas:
bin/rails db:environment:set RAILS_ENV=test
Inicializar base de producción y copiar allí los datos volcados de 1.2:
RAILS_ENV=production rails db:create
RAILS_ENV=production rails dbconsole
...
miorg_prod=# \i /var/www/resbase/miorg-dump-Wed-migra.sql
Aplicar migraciones para convertir base de datos de 1.2 a 2 (no puede devolverse):
RAILS_ENV=production rails db:migrate
Si este procedimiento llega a fallar debe examinar errores y arreglar los datos o eventualmente arreglar las migraciones del motor sivel2_gen
.
Elegir un puerto único para el socket de unicorn que manejará la aplicación y establecerlo en config/unicorn.conf.minimal.rb
listen 2025
En /etc/nginx.conf en la sección http agregar (cambiar 2025 por el mismo puerto de config/unicorn.conf.minimal.rb
):
upstream unicornsivel2miorg {
server 127.0.0.1:2025 fail_timeout=0;
}
Dentro de la sección server con ssl que corresponda agregar:
location /miorg/sivel2 {
try_files $uri @unicornsivel2miorg;
}
location @unicornsivel2miorg {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicornsivel2miorg;
error_page 500 502 503 504 /500.html;
keepalive_timeout 10;
}
location ^~ /miorg/sivel2/assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
root /var/www/htdocs/sivel2_miorg/public/;
}
location ^~ /miorg/sivel2/images/ {
gzip_static on;
expires max;
add_header Cache-Control public;
root /var/www/htdocs/sivel2_miorg/public/;
}
Reiniciar nginx con:
doas sh /etc/rc.d/nginx -d restart
Copiar bin/u.sh.plantilla:
cp bin/u.sh.plantilla bin/u.sh
Crear un archivo de ordenes para el arranque por ejemplo /etc/rc.d/sivel2miorg
con algo como (cambiar miusuario por el usuario con el que arrancará unicorn, así como la llave de SECRET_KEY_BASE y como la ruta del sistema):
#!/bin/sh
servicio="USUARIO_AP=miusuario DIRAP=/var/www/htdocs/sivel2_miorg SECRET_KEY_BASE=ef47b44c7aa973b369592de28c1a7f5dd847cab1da17c149a0f099a7e4c79f278bbdf0c1ee6ef0118a48c1432a8765f4d0afc118b6ff061926bcac163b1ec795 /var/www/htdocs/sivel2_miorg/bin/u.sh"
. /etc/rc.d/rc.subr
rc_check() {
ps axw | grep "[r]uby.*unicorn_rails.*sivel2_miorg" > /dev/null
}
rc_stop() {
p=`ps axw | grep "[r]uby.*unicorn_rails.*master.*sivel2_miorg" | sed -e "s/^ *\([0-9]*\) .*/\1/g"`
kill $p
}
rc_cmd $1
Iniciar el servicio con
doas sh /etc/rc.d/sivel2miorg -d start
Probar que el sitio sea visible de acuerdo a la configuración hecha en nginx.
Asegurar arranque junto con el del equipo con:
rcctl enable sivel2miorg