Requirements
This guide outlines all requirements for successfully running UNA CMS, including server specifications, software dependencies, and additional services needed for optimal operation.
Hosting Requirements
Server Requirements
- Operating System: Linux-based OS (Ubuntu 20.04 LTS or newer recommended)
- Processor: 2+ CPU cores (4+ recommended for medium to large communities)
- Memory: Minimum 2GB RAM (4GB+ recommended for medium to large communities)
- Storage: Minimum 20GB (SSD recommended for better performance)
- Bandwidth: Depends on expected traffic and media usage (minimum 1TB/month recommended)
PHP Requirements
- PHP Version: 8.1 or higher
- PHP Configuration:- memory_limit: Set to at least 192MB for optimal performance
- allow_url_fopen: Must be enabled to allow PHP to access remote files through URLs
- allow_url_include: Must be disabled to prevent security risks from including remote files
- short_open_tag: Must be enabled for short PHP opening tags
- disable_functions: Functions like- shell_exec,- eval,- assert,- phpinfo,- getenv,- ini_set,- fsockopen,- chmod,- parse_ini_file,- readfile,- escapeshellcmd,- fput, and- popenshould not be disabled
 
Required PHP Modules
The following PHP modules must be enabled for UNA:
- curl
- gd
- mbstring
- json
- fileinfo
- zip
- openssl
- exif
Database Requirements
- MySQL: Version 5.5.3 or higher is required, with MySQL 8 supported
- Compatible Databases: MariaDB and other MySQL-compatible databases can be used
Web Server Requirements
- Recommended: Apache-compatible or Nginx web servers are recommended
- Other Web Servers: Other web servers may require special configurations for rewrite rules
- SSL Certificate: Required for secure connections (Let's Encrypt or commercial SSL)
Additional Server Requirements
- FFmpeg Binary: Essential for media processing, must be separately installed (on other than Linux OS) and allowed to run on the server
- Cron Jobs: The server must be capable of setting up cron jobs with a one-minute interval for scheduled tasks
- File Permissions: Proper file permissions must be set for UNA directories and files
Additional Services
Email Services
For reliable email delivery, a transactional email provider is recommended:
- Transactional Email Provider: Services like SendPulse are recommended over basic SMTP
- Setup Process:- Create an account with a transactional email provider
- Obtain SMTP credentials (server address, port, username, password)
- Configure UNA settings (Studio > Settings > Email)
- Test email delivery to ensure proper configuration
 
Push Notification Services
To enable push notifications for real-time user engagement:
- Push Notification Provider: OneSignal is recommended
- Setup Process:- Create a OneSignal account
- Create a new app in OneSignal
- Add a Web Platform in OneSignal settings
- Configure your Web Platform with your site URL
- Get the OneSignal App ID
- Configure UNA settings (Studio > Settings > PUSH Notifications)
- Choose default enabled notifications
 
Location Services
For maps, location search, and geolocation features:
- Map Provider: Google Maps or OpenStreetMaps
- Setup Process:- Choose your preferred map provider
- For Google Maps: Obtain a Google Places API key from Google Cloud Platform
- Configure UNA settings (Studio > Settings > Location)
- Save settings and test functionality
 
Storage Solutions
For media storage, especially for sites with significant photo and video content:
- Local Storage: Sufficient for small communities with limited media
- Object Storage: Recommended for larger communities (AWS S3, Google Cloud Storage, etc.)
- Setup Process for AWS S3:- Create an AWS account
- Set up an S3 bucket
- Configure bucket permissions
- Enable Remote Storage in UNA (Studio > Settings > Storage)
- Enter AWS S3 credentials (access key, secret key, bucket name)
 
Authentication Services
For secure user authentication and login options:
- Standard Authentication: Email/password (built-in)
- Two-Factor Authentication (2FA): Available via Twilio
- Mobile Phone Authentication: Available via Twilio
- Single Sign-On (SSO): Support for:- Facebook Connect
- Google Connect
- LinkedIn Connect
- X (Twitter) Connect
- Custom OAuth or LDAP SSO
 
CAPTCHA Services
To prevent spam and bot registrations:
- CAPTCHA Provider: Google reCAPTCHA
- Setup Process:- Obtain reCAPTCHA API keys from Google
- Configure UNA settings (Studio > Settings > CAPTCHA)
- Test on forms requiring CAPTCHA verification
 
Deployment Options
Virtual Private Server (VPS)
- Requirements: Full root access is essential
- Not Suitable: Shared hosting, web hosting, or managed hosting without root access
Dedicated Server
- Options: Managed dedicated, bare metal, or co-located dedicated servers
- Benefits: Best performance-per-dollar value for medium to large communities
- Considerations: Requires server management knowledge
Cloud Hosting
- Options: DigitalOcean, AWS, Google Cloud, etc.
- Benefits: Easy scalability, built-in backup solutions, complementary services
- Considerations: Most expensive option at scale, but offers flexibility
Docker Deployment
- Benefits: Containerized deployment for easier management and scaling
- Requirements: Docker and Docker Compose knowledge
Scaling Considerations
For growing communities with increasing user base and content:
- Database Scaling: MySQL cluster or replication for read-heavy operations
- Web Server Scaling: Load balancing across multiple web servers
- Media Storage: Object storage solutions (AWS S3, etc.) for media files
- CDN Integration: Content Delivery Network for static assets and media
- Caching: Redis or Memcached for performance optimization
Compliance and Security
- SSL/TLS: Required for secure connections and data protection
- Data Protection: Features for GDPR and other privacy regulations compliance
- Backup Strategy: Regular automated backups of database and files
- Security Updates: Regular system and UNA updates
- Firewall Configuration: Proper server-level security measures
Monitoring and Maintenance
- Performance Monitoring: Server resource usage, database performance
- Error Logging: PHP and application error monitoring
- Regular Updates: Core system and module updates
- Database Maintenance: Regular optimization and cleanup
- Backup Verification: Testing backup restoration periodically