This Open Journal Systems (OJS) installation guide covers what journal editors and technical managers need for a production-ready OJS 3.4 site — server requirements, database setup, secure configuration, and the steps that most often cause failed installs.
If you prefer a done-for-you setup, see our OJS installation service or managed OJS hosting.
OJS server requirements (3.4)
Install OJS 3.4 from the official Public Knowledge Project (PKP) release — not a development branch. Typical production requirements:
- PHP 8.1+ with extensions commonly needed by OJS (intl, mbstring, xml, zip, gd or imagick, and PDO MySQL)
- MySQL 5.7+ / MariaDB 10.3+ with a dedicated database user and strong password
- HTTPS with a valid TLS certificate before you invite authors or reviewers
- A files directory outside the web root so submissions are not publicly downloadable by URL guessing
- Reliable outbound email (SMTP) — see fixing OJS SMTP
Step-by-step OJS installation
- Create a DNS record (and preferably the TLS certificate) for your journal hostname
- Upload and extract the official OJS package on the host
- Create the MySQL/MariaDB database and least-privilege user
- Set writable permissions for
cache,public, and the private files path - Run the web installer and complete locale, admin account, and database settings
- Configure SMTP so password resets and review invitations actually deliver
- Set
base_url(and related config) to HTTPS and force SSL at the web server - Create your journal, roles, and submission workflow before opening submissions
Security and production hardening
- Keep
config.inc.phpunreadable to the public and outside version control with secrets - Restrict directory listing; do not expose the files directory under the document root
- Schedule database + files backups from day one — see the OJS backup guide
- Plan upgrades; avoid unmaintained custom themes that break on OJS minor releases
After install: make the journal indexing-ready
A working installer is not the same as a journal ready for DOAJ, Crossref, or discovery services. Complete:
- Editorial workflows and role permissions
- Author guidelines, privacy, and open access policy pages
- DOI / Crossref and ORCID configuration where required — see plugins & integrations
- The full OJS 3.4 production checklist
- DOAJ policy visibility using the DOAJ application guide
Common OJS install failures
- Blank pages after install — PHP version mismatch or missing extensions
- Cannot write cache/files — incorrect ownership or SELinux/AppArmor restrictions
- Email never arrives — shared hosting mail blocked; use authenticated SMTP with SPF/DKIM
- Mixed content / broken assets —
base_urlstill on HTTP after enabling SSL
Need help implementing this?
Galleys.pub installs, hosts, and configures publishing systems for academic journals. Reply within 24 hours.
Get a quote Contact us