Install Open Journal Systems (OJS) 3.3 on Ubuntu 22.04: A Step-by-Step Tutorial
Open Journal Systems (OJS) stands as a testament to the evolving landscape of academic publishing. Developed by the Public Knowledge Project (PKP), OJS is an open-source software designed to facilitate the management and publication of scholarly journals. This platform has gained widespread recognition for its role in democratizing access to research and streamlining the editorial process.
Before the advent of OJS, academic publishing was often characterized by cumbersome workflows, limited accessibility, and high costs. Traditional publishing models restricted access to valuable research, hindering the dissemination of knowledge. Recognizing the need for a more inclusive and efficient system, PKP introduced OJS in 2001, aiming to empower academic institutions, scholars, and publishers.
Key Features
OJS offers a range of features that make it a powerful tool for journal management and publication. These include:
- User-Friendly Interface: OJS provides an intuitive and user-friendly interface for authors, editors, and reviewers. This accessibility enhances collaboration and ensures a seamless workflow.
- Editorial Workflow Management: The system facilitates a structured editorial workflow, from submission and peer review to final publication. Editors can easily manage submissions, assign reviewers, and make informed decisions based on the feedback received.
- Open Access Support: OJS is a champion of the open access movement, allowing journals to provide free and unrestricted access to their content. This fosters a more equitable distribution of knowledge, benefiting researchers and the public alike.
- Customization and Flexibility: Journals using OJS have the flexibility to customize their website’s appearance and functionalities. This adaptability ensures that the platform can cater to the unique needs of different journals and disciplines.
- Indexing and Archiving: OJS supports indexing services, ensuring that published content is discoverable through major academic databases. Additionally, the system facilitates long-term archiving, preserving scholarly work for future generations.
Impact on Academic Publishing
The adoption of OJS has led to a transformative shift in academic publishing. Journals using this system have experienced increased efficiency in managing submissions and conducting peer review processes. Moreover, the open-access model supported by OJS has contributed to a broader dissemination of knowledge, fostering a more collaborative and interconnected global research community.
About this tutorial
If you’re looking to set up OJS 3.3 on Ubuntu 22.04, this step-by-step tutorial will guide you through the installation process. Follow these instructions to ensure a smooth installation and get your academic journal up and running.
Tutorial Environment
- Vultr Cloud Server: 1 CPU, 1 GB RAM, 32 GB Storage
- Operating System: Ubuntu 22.04 LTS
- Subdomain: journal.aminlabs.my.id
- SSL: Let’s Encrypt
- Web Server: Apache
- PHP: PHP v8.1
- Database: MariaDB v10.6
- OJS: OJS v3.3.0–16
Note: Register here to get $100 free credit from Vultr.
Step 1: Update system packages
Connect to your server and ensure your system packages are up-to-date:
1 2 | apt update apt upgrade -y |
Note: This tutorial uses the root user.
Step 2: Install dependencies
Install the required dependencies for OJS, Apache web server, PHP, and MariaDB database:
1 | apt install apache2 libapache2-mod-php php php-cli php-common php-mbstring php-gd php-intl php-xml php-mysql php-zip php-curl php-tidy php-imagick php-bcmath mariadb-server -y |
Step 3: Create a Database
Login to MariaDB:
1 | mysql |
Creating a database for OJS:
1 2 3 4 | CREATE DATABASE journal_aminlabs; GRANT ALL PRIVILEGES ON journal_aminlabs.* TO 'journal_aminlabs'@'localhost' IDENTIFIED BY 'secretpassword'; FLUSH PRIVILEGES; exit |
Step 4: Download OJS
Download OJS v3.3 from pkp.sfu.ca/ojs/download:
1 | wget https://pkp.sfu.ca/ojs/download/ojs-3.3.0-16.tar.gz |
Extract ojs-3.3.0–16.tar.gz
:
1 | tar xzvf ojs-3.3.0-16.tar.gz |
Move the ojs-3.3.0–16
directory to /var/www/journal.aminlabs.my.id/ojs-app
:
1 2 | mkdir -p /var/www/journal.aminlabs.my.id/ojs-data mv ojs-3.3.0-16 /var/www/journal.aminlabs.my.id/ojs-app |
Change user-group and permissions for the journal.aminlabs.my.id
directory:
1 2 | chown -R www-data:www-data /var/www/journal.aminlabs.my.id chmod -R 755 /var/www/journal.aminlabs.my.id |
Step 5: Configure Virtual Host
Create a virtual host configuration for the subdomain journal.aminlabs.my.id
:
1 | nano /etc/apache2/sites-available/journal.aminlabs.my.id.conf |
Insert the following virtual host configuration:
1 2 3 4 5 6 7 8 9 10 11 | <VirtualHost *:80> ServerName journal.aminlabs.my.id DocumentRoot /var/www/journal.aminlabs.my.id/ojs-app <Directory /var/www/journal.aminlabs.my.id/ojs-app> Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> ErrorLog /var/log/apache2/journal.aminlabs.my.id_error.log CustomLog /var/log/apache2/journal.aminlabs.my.id_access.log combined </VirtualHost> |
Enable the rewrite module, virtual host, and restart Apache:
1 2 3 | a2enmod rewrite a2ensite journal.aminlabs.my.id systemctl restart apache2 |
Check the status of the UFW firewall:
1 2 3 4 5 6 7 | ufw status Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) |
If UFW is active, allow HTTP and HTTPS ports:
1 2 | ufw allow http ufw allow https |
Browse the subdomain to test whether OJS is accessible:
Step 6: Configure HTTPS using Let’s Encrypt SSL
Install certbot:
1 | apt install certbot python3-certbot-apache -y |
Requesting an SSL certificate for the subdomain:
1 | certbot --non-interactive -m admin@aminlabs.my.id --agree-tos --no-eff-email --apache -d journal.aminlabs.my.id --redirect |
Example message displayed when the SSL certificate request is successful:
1 2 3 4 5 6 7 8 9 10 11 12 | Requesting a certificate for journal.aminlabs.my.id Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/journal.aminlabs.my.id/fullchain.pem Key is saved at: /etc/letsencrypt/live/journal.aminlabs.my.id/privkey.pem This certificate expires on 2024-04-03. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. Deploying certificate Successfully deployed certificate for journal.aminlabs.my.id to /etc/apache2/sites-available/journal.aminlabs.my.id-le-ssl.conf Congratulations! You have successfully enabled HTTPS on https://journal.aminlabs.my.id |
Browse the subdomain to test the results of the HTTPS configuration:
Step 7: Web installation
Continue the installation in the web browser.
Create an administrator account. Enter Username
, Password
, and Email
.
Directory for uploads, enter /var/www/journal.aminlabs.my.id/ojs-data
:
Database settings, Database driver
select MySQLi
, enter Username
, Password
, and Database name
.
Finally click Install Open Journal Systems
:
Installation of OJS has completed successfully:
Congratulations! We have successfully installed Open Journal Systems 3.3 on Ubuntu 22.04. We can now start using OJS to manage our scholarly journal, streamline editorial workflows, and contribute to the open-access movement in academic publishing.
If you found this article helpful and would like to support my work, consider making a donation through PayPal. Your support helps me continue creating useful content and tutorials. Thank you!
Donate via PayPal: https://paypal.me/musaamin