Lo los pasos que se describen en este manual són de aplicación general, però las instrucciones que muestran, asumen que se trabaja bajo un entorno GNU/Linux (debian like) tal que:
Truco: Antes de empezar con una nueva instalación o una actualización descarga este manual y adapta las instrucciones a tu contexto.
Instalación en servidor:
Instalación en pruebas:
Instalación sobre docker:
$ sudo tasksel install lamp-server
Read more: https://www.rosehosting.com/blog/configure-system-locale-on-debian-9/
¿Seguro que funciona?
Antes de seguir, añade un archivo texto en la raiz de tu web (pe: test.php) con una llamada a phpinfo() y comprueba con el navegador que el LAMP funciona correctamente y que cumples con todas las dependencias:
- apache2-ssl apache2-utils php7-apache2 php7-zlib php7-json php7-phar php7-openssl php7-curl php7-mcrypt php7-pdo_mysql php7-ctype php7-zip php7-gd php7-xml php7-dom php7-iconv php7-mysqli php7-mbstring php7-session).
$ cd /var/www
$ wget http://pkp.sfu.ca/ojs/download/ojs-3.1.2-1.tar.gz
$ tar xvzf ojs-3.1.2-1.tar.gz
$ mkdir /srv/ojs
IMPORTANTE:
Por motivos de seguridad, los directorios con datos privados no deben estar en un directorio mapeado por el servidor web (Pe: en vez de /var/www, usar /srv/ojs)
- /var/www/html/ojs/
- config.inc.php
- public
- cache
- t_cache
- t_config
- t_compile
- _db
- /srv/ojs
$ chown www-data:www-data /var/www/html/ojs /srv/ojs -R
$ chmod +x config.inc.php public cache -R
IMPORTANTE:
El usuario de apache ("www-data" en el ejemplo) puede ser distinto en otras distribuciones o sistemas operativos.
# firefox http://yourdomain.com/path/to/ojs/
O si lo prefieres, usa el instalador desde línea de comandos:
$ php tools/install.php
Más opciones de configuración en la plantilla del archivo:
https://github.com/pkp/ojs/blob/master/config.TEMPLATE.inc.php
Existen tareas que OJS debe realizar con cierta periodicidad (enviar correos, analizar estadísticas…). Para ello, el método recomendado es la creación de una tarea programada (en el ejemplo, se ejecutarà cada hora):
# crontab -e www
0 * * * * php /path/to/ojs/tools /runScheduledTasks.php
Si tu hosting no te permite configurar el cron, canvia de hosting. Si no es posible, usa el plugin de "Acron" que implementa la técnica del "poor man's cron".
¿Quieres saber cómo actualizar a OJS3?
OJS UPGRADE:
PKP Docs:
PKP Guide - 5 Steps to OJS 3: Upgrade Planning for Service Providers
PKP Vídeo
Actualización con docker:
Guía rápida y muy resumida:
La cópia ha de incluir el contenido de 2 directorios y la BD:
- Código ejectuable: /var/www/ojs
- Incluye los archivos públicos en: /var/www/ojs/public
- Archivos privados: /srv/ojs
Así pues:
$ mysqldump -u root -p --single-transaction --quick --lock-tables=false ojsDbName > ojs-database-$(date +%F).sql
$ tar cvzf ojs-code-public-%date%.tgz /var/www/ojs
$ tar cvzf ojs-private-%date%.tgz /srv/ojs
Old dog tip:
Se han dado reportado casos en los que la actualización no ha funcionado correctamente (BD inconsistentes, timeouts…). La actualización a OJS3 realiza cambios importantes en la BD y en los ficheros, por lo que la única manera de volver atrás es la cópia de seguridad. En serio, es esencial hacerla y confirmar que está en buen estado.
Se recomienda una máquina virtual o de un HW independiente para hacer las pruebas pero si lo prefieres, puedes utilizar un subdirectorio distinto en el mismo servidor de producción i con ello ahorrarte tener que sincronizar las versiones de LAMP.
Personalmente, soy partidario de docker, pues garantiza que las dependencias son exactamente las mismas.
¿No sabes cómo montar un servidor LAMP?
No hay problema: vuelve a la casilla 1 del Manual de Instalación
Confirma que tu servidor de producción y el de pruebas cumplen con todos los requisitos SW y HW:
$ php -v
$ mysql -V
$ apache2 -v
$ uname -a
Old dog tip:
Confirmar las versiones te ahorrará muchos problemas.
$ wget http://pkp.sfu.ca/ojs/download/ojs-3.1.2-1.tar.gz
$ cd /var/www
$ wget http://pkp.sfu.ca/ojs/download/ojs-3.1.2-1.tar.gz
$ tar xvzf ojs-3.1.2-1.tar.gz
$ mv ojs-3.1.2-1 ojs-test
Asumiendo que ls backup se encuentran en /srv/backup:
$ cd /var/www/ojs-test
$ mkdir public
$ tar xvzf /srv/backup/ojs-code-public-%date%.tgz public
$ cd /srv/ojs
$ mkdir ojs-test
$ cd ojs-test
$ tar cvzf /srv/backup/ojs-files-%date%.tgz
$ cd /var/www/ojs-test
$ tar xvzf ojs-code-%date%.tgz ./config.inc.php
$ cd /var/www/html/ojs-test
$ chmod +x config.inc.php public -R
$ chown www-data:www-data /var/www/html/ojs-test /srv/ojs-test -R
Old dog tip:
Muchos de los problemas reportados en el foro son fruto de unos permisos incorrectos sobre los directorios de OJS.
Este paso es muy importante por dos motivos:
Las variables que debes confirmar son:
Comprueba primero que todo es correcto:
$ php tools/upgrade.php check
Y luego ejecuta el ugrade:
$ php tools/upgrade.php upgrade
Y luego… paciencia, pues si el OJS es grande, puede tardar 2-3 horas en terminar el proceso.
SELECT a.article_id FROM articles a LEFT JOIN sections s ON (a.section_id = s.section_id) WHERE s.section_id IS NUL;
# Alternativamente:
SELECT * FROM a.articles WHERE section_id IS NULL;
Fuente: https://forum.pkp.sfu.ca/t/upgrade-from-ojs-2-4-7-to-3-0-1-fails/27716/18
Explicación: https://translate.google.com/translate?hl=en&sl=auto&tl=es&u=https%3A%2F%2Finfointerativa.com%2Fblog%2Fatualizacao-do-ojs-2-4-8-para-3-0-1%2F
Grantiza que no hay entradas duplicadas en la tabla "review_round"
Problemas con el charset:
Revisa los warinings del proceso de upgrade.
Faltan datos de nuestra revista (Logo, Pié de página, Privacidad, hoja estilo, favicon…)
$ php tools/rebuildSearchIndex.php” (5 horas )
Servei de publicacions de la UAB
PKP's technical committee (at large member)