Overview
This guide covers installing OpenEyes for production use. For development environments, see the Quick Start Guide.System Requirements
Server Requirements
- Operating System
- Hardware
- Network
- Recommended: Ubuntu 20.04 LTS or 22.04 LTS
- RHEL/CentOS 7/8 (with adjustments)
- Debian 10/11
Software Requirements
Based oncomposer.json specifications:
php-jsonphp-domphp-xml/php-libxmlphp-opensslphp-soapphp-mysqlorphp-mysqliphp-gdphp-curlphp-mbstring
- MySQL 5.7+ or MariaDB 10.3+
- InnoDB storage engine
- 128MB+
innodb_log_file_size - 128MB+
max_allowed_packet
- Apache 2.4+ with mod_rewrite
- OR Nginx 1.18+
Installation Steps
Install System Dependencies
Configure MySQL Database
/etc/mysql/mysql.conf.d/mysqld.cnf:Clone OpenEyes Repository
Install PHP Dependencies
--no-dev flag excludes development dependencies for production.Configure Database Connection
/etc/openeyes/db.conf.Option 1: Environment Variables (Recommended for Docker/containerized deployments)Set in your environment or systemd service:/etc/openeyes/db.conf:protected/config/core/common.php:Run Database Migrations
Set File Permissions
Configure Apache Virtual Host
/etc/apache2/sites-available/openeyes.conf:Configure SSL/TLS
- Obtain SSL certificate
- Configure Apache for HTTPS
- Set up automatic renewal
/etc/apache2/sites-available/openeyes-ssl.conf:Configure Application Settings
protected/config/core/common.php:Create Initial Admin User
Verify Installation
-
Access the application:
- Navigate to
https://openeyes.example.com - You should see the OpenEyes login page
- Navigate to
-
Check PHP configuration:
-
Verify database connection:
Should report “No new migrations found.”
-
Review logs:
Post-Installation Configuration
Authentication Setup
- LDAP Authentication
- SAML SSO
- OpenID Connect
Cron Jobs
Set up scheduled tasks:Backup Strategy
Implement regular backups:Security Hardening
Firewall Configuration
Firewall Configuration
PHP Security
PHP Security
/etc/php/8.1/apache2/php.ini:Database Security
Database Security
- Use strong passwords
- Restrict database user to localhost only
- Enable binary logging for point-in-time recovery
- Regular security updates
File Integrity Monitoring
File Integrity Monitoring
Performance Optimization
PHP OpCache
Enable and configure OpCache in/etc/php/8.1/apache2/php.ini:
MySQL Tuning
Optimize MySQL configuration:Apache MPM
Configure Apache MPM prefork:Monitoring and Maintenance
Application Monitoring
Health Checks
Create a monitoring script:Troubleshooting
White Screen / 500 Error
White Screen / 500 Error
- Database connection failure
- File permission issues
- Missing PHP extensions
Database Migration Errors
Database Migration Errors
Session Issues
Session Issues
Performance Issues
Performance Issues
Upgrading OpenEyes
Backup Current Installation
Pull Latest Code
Update Dependencies
Run Migrations
Clear Cache
Getting Support
GitHub Issues
Wiki Documentation
Professional Services
Contact
- SSL/TLS certificate configured
- Firewall rules applied
- Database backups automated
- Cron jobs configured
- Monitoring enabled
- Security hardening completed
- Admin users created
- Authentication configured (LDAP/SAML/OIDC)
- Clinical safety assessment performed
- Support contract in place
- Disaster recovery plan documented