Server Requirements

  • Server Operating System

    Jamroom requires a UNIX like operating system such as:

    Linux
    macOS
    FreeBSD

    Jamroom is primarily developed on macOS and Linux.
  • Jamroom does not run on Windows! A Linux/Unix like Operating system is required!
  • Supported Database Servers

    Jamroom 7+ requires a supported Database server:

    - MySQL 5.7+
    - MariaDB 5.5+ (10.1+ recommended)
    - Percona Server for MySQL
  • Web Server

    Jamroom requires either the Apache Web Server or Nginx:

    - Apache Web Server 2.4+
    - Nginx with PHP-FPM
    For Apache Jamroom requires the "mod_rewrite" module to be enabled and allowed in your hosting config.
  • PHP version 7.2 or newer

    Jamroom requires PHP 7.2 or newer:

    - PHP 7.2 - minimum
    - PHP 8.0+ - supported

    The following PHP extensions are required:

    - MySQLi (mysql improved) extension
    - GD (graphics manipulation)
    - Multibyte string extension (-enable-mbstring)

    The following PHP configuration is recommended:

    - memory_limit: 64M (recommended PHP config allows Jamroom to specify memory use with ini_set)
    - upload_file_size: 128m (or more)
    - system function must be enabled (used for doing media conversions and some background tasks)
  • A note about Jamroom's .htaccess file for Apache

    Question: Why is the following section in Jamroom's .htaccess file?

    Options +FollowSymLinks
    Options -MultiViews -Indexes -ExecCGI
    

    Answer:

    Options +FollowSymLinks
    

    This line tells Apache you want to support SymLinks - Jamroom uses symlinks for module versioning and updates - this is required for Jamroom to function properly.

    Options -MultiViews -Indexes -ExecCGI
    

    These control how the web server works. These options are not required, and can be commented out, however they help make your Jamroom more secure and it is recommended to leave them enabled if you can.
  • Sample Nginx Configuration File

    The following is an example Nginx configuration file taken from an Ubunut 14.04 install that can be used to enable "clean URLs" in Jamroom when using Nginx.
    server {
            listen 80 default_server;
            listen [::]:80 default_server ipv6only=on;
            client_max_body_size 256M;
            root /usr/share/nginx/html;
            server_name yourdomain.com;
            access_log /var/log/nginx/access.log;
            error_log /var/log/nginx/error.log;
    
            location @rewrite {
                rewrite ^(.*)$ /modules/jrCore/router.php?_uri=$1 last;
            }
    
            location / {
                autoindex on;
                index sitemap.xml /modules/jrCore/router.php;
                try_files $uri $uri/ @rewrite;
            }
            location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            }
    }
    

Tags