Installation & Requirements
Server Requirementsโ
Before installing OJS 3.5+, ensure your server meets the following minimum requirements:
Softwareโ
| Component | Minimum | Recommended |
|---|---|---|
| PHP | 8.1 | 8.2+ |
| MySQL | 8.0 | 8.0+ |
| PostgreSQL | 14 | 15+ |
| Apache | 2.4 | 2.4+ |
| Nginx | 1.20 | latest stable |
PHP Extensions Requiredโ
mbstring, xml, json, zip, gd, intl, curl, mysqli or pgsql
Recommended Serverโ
- RAM: 2 GB minimum (4 GB+ for busy journals)
- Disk: 10 GB+ (depends on article file volumes)
- HTTPS: Required (SSL/TLS certificate)
Downloading OJSโ
- Go to https://pkp.sfu.ca/software/ojs/download/
- Download the latest OJS 3.5.x stable release
- Verify the checksum:
sha256sum ojs-3.5.x.tar.gz
Installation Stepsโ
1. Extract Filesโ
tar -xzf ojs-3.5.x.tar.gz
mv ojs-3.5.x /var/www/html/ojs
2. Create Databaseโ
CREATE DATABASE ojs CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'ojsuser'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON ojs.* TO 'ojsuser'@'localhost';
FLUSH PRIVILEGES;
3. Set File Permissionsโ
chown -R www-data:www-data /var/www/html/ojs
chmod -R 755 /var/www/html/ojs
mkdir -p /var/www/ojs-files
chown -R www-data:www-data /var/www/ojs-files
4. Configure config.inc.phpโ
Copy the sample config and edit key values:
cp config.TEMPLATE.inc.php config.inc.php
Key settings to update:
; Application base URL
base_url[default] = "https://yoursite.com"
; Database
driver = mysqli
host = localhost
username = ojsuser
password = strongpassword
name = ojs
; Files directory (must be outside webroot)
files_dir = /var/www/ojs-files
5. Run the Web Installerโ
Navigate to https://yoursite.com in a browser and follow the installer wizard:
- Confirm settings from
config.inc.php - Set administrator username, email, and password
- Click Install Open Journal Systems
6. Post-Install Checksโ
- Remove or restrict
install.php(OJS does this automatically) - Enable HTTPS and redirect HTTP โ HTTPS
- Set up a cron job for scheduled tasks
- Configure email (SMTP or sendmail)
- Take an initial backup
Cron Jobโ
Add the following to your crontab (crontab -e as www-data):
0 * * * * php /var/www/html/ojs/lib/pkp/tools/scheduler.php run >> /dev/null 2>&1
Next Stepsโ
Further Readingโ
- PKP Admin Guide โ Getting Started โ Installation walkthrough
- OJS Releases โ Download the latest OJS release
- Requirements & Installation โ Server requirements checklist