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
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.
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.