In the modern academic world, research publication is no longer a manual process. Efficiency, transparency, and accessibility are the primary keys. Open Journal Systems (OJS) has become the gold standard for educational institutions and research agencies worldwide to manage scientific journals professionally.
If you plan to build a credible scientific publication platform, this article will guide you step-by-step through installing OJS using the LAMP stack (Linux, Apache, MariaDB, PHP) on an Ubuntu server.
What is OJS?
Open Journal Systems (OJS) is an open-source journal management and publishing application developed by the Public Knowledge Project (PKP). OJS is designed to streamline the entire scientific publishing workflow, from manuscript submission and peer-review to editing, archiving, and online journal indexing.
Key Features of OJS
- Integrated Workflow: Manages manuscripts from authors to editors and reviewers until publication.
- Extensive Indexing: Supports metadata protocols like OAI-PMH to facilitate indexing in Google Scholar or DOAJ.
- Multi-Journal Management: A single OJS installation can be used to manage multiple journals simultaneously.
- Notification System: Automatic email delivery to all parties involved in the publishing process.
- Flexible Plugins: Supports various plugins for statistics, citations, and themes.
System Prerequisites
Before starting, ensure your Ubuntu LTS server meets the following specifications:
- RAM: Minimum 2GB.
- Web Server: Apache or Nginx.
- Database: MariaDB or MySQL.
- PHP: Version 8.3.
Step 1: Server Preparation
First, we need to update the system and install the basic web server components.
Update the system:
sudo apt update
sudo apt upgrade -yInstall Apache and Certbot:
sudo apt install apache2 certbot python3-certbot-apache -yInstall the ondrej/php repository:
sudo add-apt-repository ppa:ondrej/php -y
sudo apt upgrade -yInstall PHP 8.3 and OJS supporting extensions:
sudo apt install libapache2-mod-php8.3 php8.3 php8.3-cli php8.3-common \
php8.3-apcu php8.3-mbstring php8.3-gd php8.3-intl \
php8.3-xml php8.3-soap php8.3-bcmath php8.3-mysql php8.3-zip \
php8.3-curl php8.3-tidy php8.3-imagick -yInstall MariaDB:
sudo apt install mariadb-server -yStep 2: Creating the Database
Log in to MariaDB:
sudo mysqlCreate the database and user:
CREATE DATABASE ojs_db;
CREATE USER 'ojs_user'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON ojs_db.* TO 'ojs_user'@'localhost';
FLUSH PRIVILEGES;
exitStep 3: Download and Prepare OJS Files
We will download the stable version of OJS 3.3:
wget https://pkp.sfu.ca/ojs/download/ojs-3.3.0-22.tar.gzExtract the file:
tar xzvf ojs-*.tar.gzCreate the working directory and move the files:
sudo mkdir -p /var/www/journal.yourdomain.com/files
sudo mv ojs-3.3.0-22 /var/www/journal.yourdomain.com/ojsSet directory ownership:
sudo chown -R www-data:www-data /var/www/journal.yourdomain.comStep 4: Configure Apache Virtual Host
This step is crucial so the server knows which folder to open when the domain journal.yourdomain.com is accessed.
Create the virtual host configuration file:
sudo nano /etc/apache2/sites-available/journal.yourdomain.com.confEnter the following configuration:
<VirtualHost *:80>
ServerName journal.yourdomain.com
DocumentRoot /var/www/journal.yourdomain.com/ojs
<Directory /var/www/journal.yourdomain.com/ojs>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/journal.yourdomain_error.log
CustomLog /var/log/apache2/journal.yourdomain_access.log combined
</VirtualHost>Enable the configuration and restart Apache:
sudo a2ensite journal.yourdomain.com
sudo systemctl restart apache2Step 5: SSL Installation (HTTPS)
Install the SSL certificate to secure the connection:
sudo certbot --non-interactive \
-m [email protected] \
--agree-tos \
--no-eff-email \
--apache -d journal.yourdomain.com \
--redirectStep 6: Web Installation Wizard
Open your browser and access https://journal.yourdomain.com. You will see the OJS installation page. Fill in the following sections:
- Administrator Account: Create a username, password, and admin email address.
- Directory for uploads: Enter the path
/var/www/journal.yourdomain.com/files. - Database Settings:
- Database driver: MySQLi
- Username: ojs_user
- Password: strongpassword
- Database name: ojs_db
- Click Install Open Journal Systems.
The OJS installation is now complete.
Conclusion
Congratulations! Your scientific journal platform is now active using Open Journal Systems on an Ubuntu server. With OJS, you have laid a strong foundation for professional, credible journal management that is ready to compete on an international stage. The next step is to customize the appearance through the Appearance menu and start inviting editors and authors to join your journal. Happy publishing!




