How to Install OJS (Open Journal Systems) on Ubuntu

OJS (Open Journal Systems) is a web-based application used for management and publication of scientific journals with a free software license (GNU GPL). OJS has been implemented by many universities in the world.

*0. The software used*

Tutorial ini menggunakan:

· OS: Ubuntu 20.04 · Web Server: Apache 2.4 · PHP Runtime: PHP 7.4 · Database: MariaDB 10.3 · Subdomain: · SSL: Let’s Encrypt · OJS: OJS 3.2

*1. Install Apache*

Install Apache web server.


1 apt install apache2 -y

Create a virtual host for the subdomain


1 nano /etc/apache2/sites-available/

The contents of the virtual host configuration file.


1 2 3 4 5 6 7 8 9 10 11     ServerName     DocumentRoot /var/www/              Options Indexes FollowSymLinks MultiViews         AllowOverride All         Require all granted          ErrorLog /var/log/apache2/ojs.ilhamdi.com_error.log     CustomLog /var/log/apache2/ojs.ilhamdi.com_access.log combined

Create a document root folder.


1 2 mkdir /var/www/ echo “open journal system” > /var/www/

Enable virtual host and Apache module.


1 2 3 4 a2ensite a2enmod rewrite systemctl restart apache2 systemctl status apache2

Test browse **.

*2. Install SSL*

Install certbot Let’s Encrypt.


1 snap install –classic certbot


1 certbot –apache -d

Test browse **.

*3. Install PHP*

Install PHP and its extensions.


1 apt install php libapache2-mod-php php-cli php-common php-mbstring php-gd php-intl php-xml php-mysql php-zip php-json -y

Restart Apache service.


1 2 systemctl restart apache2 systemctl status apache2

Create a phpinfo file.


1 echo “” > /var/www/

Test browse **

*4. Install MariaDB*

Install MariaDB database.


1 apt install mariadb-server mariadb-client -y

Secure MariaDB installation.


1 mysql_secure_installation

Answer the question.


1 2 3 4 5 6 Enter current password for root (enter for none): ENTER Set root password? [Y/n] y Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y

Create database and user for OJS.


1 2 3 4 5 6 7 mysql -u root -p   CREATE DATABASE ojs; CREATE USER ‘ojsuser’@’localhost’ IDENTIFIED BY ‘ojspass’; GRANT ALL PRIVILEGES ON ojs.* TO ‘ojsuser’@’localhost’; FLUSH PRIVILEGES; EXIT;

Download OJS.


1 wget -c

Delete the document root folder that was created earlier because you want to replace it with the extracted OJS folder.


1 2 3 4 rm -rf /var/www/ tar xzvf ojs-3.2.1.tar.gz mv ojs-3.2.1 /var/www/ chown -R www-data:www-data /var/www/

Create an ojs-files folder.


1 2 mkdir /var/www/ojs-files chown -R www-data:www-data /var/www/ojs-files

Browse **.

Check the system whether the prerequisites for OJS installation are met.

System requirements

Create an administrator account.

Administrator account

Directory for uploading files.

Directory for uploads

Configure the database, choose *MySQLi* database drivers, username, password, and database. Uncheck *Create new database* because a database has been created.

Database connection

Repository identifier, match the subdomain that is used. Then click * Install Open Journal Systems *.

Repository identifier

The OJS installation is complete.

Installation completed

Administrator login URL at **.

Administrator page

OJS front page view.

Site page

Good luck 🙂

Leave a Reply

Your email address will not be published.

scroll to top