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 popen should 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:
    1. Create an account with a transactional email provider
    2. Obtain SMTP credentials (server address, port, username, password)
    3. Configure UNA settings (Studio > Settings > Email)
    4. 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:
    1. Create a OneSignal account
    2. Create a new app in OneSignal
    3. Add a Web Platform in OneSignal settings
    4. Configure your Web Platform with your site URL
    5. Get the OneSignal App ID
    6. Configure UNA settings (Studio > Settings > PUSH Notifications)
    7. Choose default enabled notifications

Location Services

For maps, location search, and geolocation features:

  • Map Provider: Google Maps or OpenStreetMaps
  • Setup Process:
    1. Choose your preferred map provider
    2. For Google Maps: Obtain a Google Places API key from Google Cloud Platform
    3. Configure UNA settings (Studio > Settings > Location)
    4. 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:
    1. Create an AWS account
    2. Set up an S3 bucket
    3. Configure bucket permissions
    4. Enable Remote Storage in UNA (Studio > Settings > Storage)
    5. 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:
    1. Obtain reCAPTCHA API keys from Google
    2. Configure UNA settings (Studio > Settings > CAPTCHA)
    3. 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
On This Page