Open Journal Systems (OJS) is the world’s most widely used open-source platform for managing and publishing scholarly journals. Developed by the Public Knowledge Project (PKP), it powers tens of thousands of journals across the globe. But while OJS is free to download, installing it correctly—on the right server, with the right configuration—is where most publishers run into trouble.
This guide walks you through the entire OJS installation process, covers the common pitfalls, and explains when it makes sense to bring in expert help.
What Is OJS and Why Does Installation Matter?
OJS is a journal management and publishing system that handles the full editorial workflow: submissions, peer review, copyediting, production, and online publication. The current stable branch is OJS 3.x, with version 3.5 introducing significant improvements to the editorial interface, accessibility, and metadata handling.
A clean installation matters because OJS sits at the foundation of everything else you’ll do—indexing applications to Scopus, DOAJ, and Web of Science, DOI registration through Crossref, and long-term archiving all depend on a properly configured system. A rushed or misconfigured install creates problems that surface months later, often at the worst possible time.
System Requirements Before You Begin
Before installing OJS, confirm your hosting environment meets these minimum requirements:
- PHP 8.1 or higher (OJS 3.5 requires PHP 8.1+; check the release notes for your exact version)
- Database: MySQL 8.0+ or MariaDB 10.4+ / PostgreSQL 12+
- Web server: Apache 2.4+ or Nginx
- Memory: At least 256MB PHP memory limit (512MB recommended)
- Disk space: 1GB minimum for the application, plus room for uploaded files
- Required PHP extensions:
mysqli(orpgsql),gd,mbstring,curl,xml,zip, andintl
Shared hosting can work for small journals, but a VPS or dedicated server is strongly recommended for anything serious—especially if you plan to host multiple journals or expect meaningful traffic.
Step 1: Download OJS
Always download OJS from the official PKP source rather than third-party mirrors. Get the latest stable release package, which comes bundled with all required libraries. Avoid the GitHub repository version for production unless you intend to build dependencies yourself, as it does not include the bundled libraries.
Step 2: Upload and Extract Files
Upload the OJS package to your server and extract it into your web root (or a subdirectory if you’re running OJS alongside other applications). Using SSH access, extraction with a command like tar -xzf is far faster and more reliable than uploading thousands of individual files over FTP.
Step 3: Create the Database
Create a dedicated MySQL/MariaDB database and a database user with full privileges on that database. Note down the database name, username, and password—you’ll need them during the web-based installation. Keep this user scoped to only the OJS database for security.
Step 4: Set Directory Permissions
OJS needs write access to specific directories. Set appropriate permissions on:
- The
cache/directory and its subdirectories - The
public/directory - A
files/directory created outside your web root (this is critical for security—submission files should never be publicly accessible)
The files directory location is one of the most common configuration mistakes. Placing it inside the web root exposes unpublished manuscripts and reviewer documents to the public internet.
Step 5: Run the Web Installer
Navigate to your OJS URL in a browser. The installation wizard will guide you through:
- Selecting your language and locale settings
- Confirming the file directory path
- Entering your database connection details
- Creating the administrator account
- Configuring the security and cryptographic settings
Once submitted, OJS builds the database schema and finalizes the setup. This usually takes under a minute.
Step 6: Post-Installation Configuration
The installer gets you running, but several important steps remain:
- Disable installation mode in
config.inc.phpby settinginstalled = On - Configure email/SMTP so submission and review notifications actually deliver
- Set up cron jobs for scheduled tasks like sending review reminders and processing usage statistics
- Enable HTTPS and force secure connections
- Configure your base URL correctly to avoid mixed-content and redirect issues
Common OJS Installation Problems
Even experienced administrators hit snags. The most frequent issues include white screens caused by PHP version mismatches or missing extensions, database connection failures from incorrect credentials or socket paths, permission errors that block file uploads, and email delivery failures because SMTP was never configured. Many of these stem from the hosting environment rather than OJS itself, which is why server choice matters so much.
Should You Install OJS Yourself or Hire an Expert?
If you’re comfortable with server administration, PHP, and databases, the official PKP documentation will get you through a basic installation. For a single small journal on a forgiving host, doing it yourself is entirely reasonable.
The calculation changes when you’re launching a journal you intend to get indexed in Scopus or Web of Science, running multiple journals from one installation, migrating existing content, or building a custom-branded theme. In those cases, installation is only the first step—the configuration around DOI registration, metadata standards, JATS XML, and indexing compliance is where the real expertise lives. Mistakes here can delay indexing applications by months.
Get Professional OJS Installation and Support
At DigitalBisht, OJS installation and journal management is what we do. With roughly a decade of experience, we’ve launched 100+ journals worldwide, with 30+ achieving Scopus indexing. Our work spans OJS installation and hardening, custom theme development, DOI/Crossref integration, JATS XML production, and full indexing support for DOAJ, Scopus, and Web of Science.
Whether you need a clean installation on a properly configured server, a migration from an older OJS version, or end-to-end support taking your journal from launch to indexing, we can help you avoid the costly mistakes that derail so many self-installed journals.
Ready to launch your journal the right way? Get in touch with DigitalBisht for professional OJS installation and academic publishing services.
Frequently Asked Questions
Is OJS free to install? Yes. OJS is free, open-source software released by the Public Knowledge Project. You only pay for hosting and, if you choose, professional installation or support services.
Which PHP version does OJS need? OJS 3.5 requires PHP 8.1 or higher. Always check the release notes for your specific version, as requirements increase with each major release.
Can I install OJS on shared hosting? You can, and it works for small journals, but shared hosting often lacks the PHP configuration control, memory, and SSH access needed for a smooth installation. A VPS is recommended for serious or growing journals.
How long does OJS installation take? The web installer itself runs in under a minute. A complete production-ready setup—including SMTP, cron jobs, HTTPS, security hardening, and theme configuration—typically takes a few hours of work.
Where should the OJS files directory be located? Outside your web root. This prevents public access to submission files, reviewer documents, and other sensitive uploads. It is one of the most important security decisions during installation.