Instalar Open Journal System en Ubuntu 20.04

En este tutorial te enseño como Instalar Open Journal System en Ubuntu 20.04 y auto alojar así tu propio sistema de edición de revistas electrónicas

Instalar Open Journal System en Ubuntu 20.04

OJS es un sistema de gestión y publicación de revistas y sitios web. Abarca todos los aspectos de la publicación de revistas en línea, desde la creación de un sitio web de la revista hasta las tareas operativas, como el proceso de presentación de los autores, la revisión por pares, la edición, la publicación, el archivo y la indexación de la revista.

OJS también ayuda a gestionar los aspectos personales de la organización de una revista, incluido el seguimiento del trabajo de los editores, revisores y autores, la notificación a los lectores y la asistencia a la correspondencia.

Instalar Open Journal System en Ubuntu 20.04

Preparación para la la instalación

La instalación de OJS (Open Journal System) requiere un entorno LMAP para funcionar:


Después de instalar LAMP Stack, haz lo siguiente

sudo systemctl reload apache2 && sudo systemctl restart apache2

Crear un directorio en la raiz web de apache, el nombre del directorio puede ser ojs

sudo mkdir /var/www/html/ojs

Navega al directorio ojs

cd /var/www/html/ojs/

Descarga de la apliación

Descarga el último archivo de OJS desde la página oficial sitioweb ojs

 
sudo wget https://pkp.sfu.ca/ojs/download/ojs-3.3.0-7.tar.gz

Extrae el archivo

sudo tar -xvzf ojs-3.3.0-3.tar.gz

Navega hasta una carpeta atrás

cd ..

Mueve directorios enteros y archivos ocultos al directorio ojs

sudo mv /var/www/html/ojs/ojs-3.3.0-3/* /var/www/html/ojs/

Proporciona permiso de escritura a los siguientes directorios y archivos

cd /ojs 
sudo chown -R www-data config.inc.php public/ cache/


Navega al directorio /var/www y crea un directorio para subir archivos y dale los permisos adecuados

cd /var/www
sudo mkdir files
sudo chmod -R 777 files/
 

Crear un host virtual Apache para OJS

Crea un archivo nextcloud.conf en el directorio /etc/apache2/sites-available/, con un editor de texto de línea de comandos como Nano.

sudo nano /etc/apache2/sites-available/ojs.conf

Copia y pega el siguiente texto en el archivo. Sustituye nextcloud.example.com por tu subdominio preferido. No olvides crear un registro DNS A para este subdominio en tu editor de zonas DNS. Si no tienes un nombre de dominio real, te recomiendo ir a NameCheap para comprar uno. El precio es bajo y dan protección de privacidad whois gratis de por vida.

<VirtualHost *:80>
    ServerName ojs.tu-dominio.com
    ServerAlias ojs.tu-dominio.com
    DocumentRoot "/var/www/html/ojs"

   ErrorLog ${APACHE_LOG_DIR}/ojs_error.log
   CustomLog ${APACHE_LOG_DIR}/ojs_access.log combined
</VirtualHost>

Guarda y cierra el archivo. (Para guardar un archivo en el editor de texto Nano, pulsa Ctrl+O, y luego pulsa Enter para confirmar. Para salir, pulse Ctrl+X).

A continuación, habilita este host virtual.

sudo a2ensite ojs.conf

A continuación, prueba la configuración de Apache.

sudo apache2ctl -t

If the syntax is OK, reload Apache for the changes to take effect.

sudo systemctl restart apache2

Crear una base de datos, un usuario y una contraseña

sudo mysql -uroot -p  
create database ojs;
grant all privileges on ojs.* to 'ojs'@'localhost' identified by 'tu-contraseña';
flush privileges;
quit;

Reiniciar apache

sudo systemctl reload apache2 && sudo systemctl restart apache2

Como proteger el sitio web con SLL

Instalación del cliente Let’s Encrypt (Certbot) en Ubuntu

Ahora es el momento de ensuciarse las manos. A partir de Ubuntu 16.04, el cliente de Let’s Encrypt (Certbot) está incluido en el repositorio de Ubuntu, así que puedes instalarlo con el siguiente comando. Python3-certbot-apache es el plugin de Certbot para Apache.

sudo apt install certbot python3-certbot-apache

Para comprobar el número de versión, ejecuta

certbot --version

Muestra de salida:

certbot 0.31.0

Uso del plugin de Apache para habilitar el HTTPS

Si tu sitio web no utiliza el servicio CDN, entonces se recomienda utilizar el plugin de Apache para habilitar HTTPS en el servidor web Apache, ya que puede obtener automáticamente el certificado SSL/TLS y configurarlo por ti. Ejecute el siguiente comando en su servidor Ubuntu.

sudo certbot --apache --agree-tos --redirect --uir --hsts --staple-ocsp --must-staple -d ojs.tu_dominio.com --email tu@correo.com

Explicación:

  • --apache: Utilice el autentificador y el instalador de Apache
  • --agree-tos: Aceptar las condiciones de servicio de Let’s Encrypt
  • --redirect: Redirigir automáticamente todo el tráfico HTTP a HTTPS
  • --uir: Añade la cabecera “Content-Security-Policy: upgrade-insecure-requests” a cada respuesta HTTP.
  • --hsts:Añade la cabecera Strict-Transport-Security a cada respuesta HTTP.
  • --staple-ocsp: Activa el grapado OCSP.
  • --must-staple: Añade la extensión OCSP Must Staple al certificado.
  • -d va seguido de una lista de nombres de dominio, separados por comas. Puedes añadir hasta 100 nombres de dominio.
  • --email: Correo electrónico utilizado para el registro y el contacto de recuperación.

Se te preguntará si quieres recibir correos electrónicos de la EFF (Electronic Frontier Foundation). Tras elegir S o N, se obtendrá y configurará automáticamente tu certificado SSL, lo que se indica en el siguiente mensaje.

La imagen tiene un atributo ALT vacío; su nombre de archivo es image-3.png

Ahora, si visitas tu sitio web, puedes ver que HTTP se redirige automáticamente a la conexión HTTPS.

Recuerda que el cliente de certbot crea /etc/apache2/sites-enabled/tu-dominio.com-le-ssl.conf SSL virtual host al configurar SSL para tu sitio web.

Ya tienes tu aplicación lista para visitarla

https://ojs.tu-dominio.com

Espero que lo encuentres útil y le puedas sacar partido

¡Que tengas un Ingenioso día!

¡que tengas un ingenioso día!

Contrata tu plan Ingenios@ de Sistemas por 5€ al mes y responderé a todas tus preguntas sobre tecnología en el menor tiempo posible. Pasa a formar parte de la comunidad Ingenios@s de Sistemas y disfruta de contenido exclusivo y aprende sobre sistemas Open Source, Blockchain, SmarContract, Web3, Inteligencia Artificial y Reaidad Virtual, súbete al tren de la Revolución 4.0

Si quieres estar al día y no perderte nada Suscribete al Podcast Ingenios@s de Sistemas, un episodio diario que te mantendrá informado y formado en esta vertiginosa carrera.

Deja un comentario

Share to...