Jamroom Logo Jamroom 5 Core
is now Open Source!
Follow Jamroom on Twitter!

This document applies to Jamroom 2 only!
For current Jamroom 4 Documentation, visit the main Jamroom Documentation section.

What is the Jamroom Cluster Server?

The Jamroom Cluster Server is an add-on software package for Jamroom that allows your Jamroom installation to “span” across many separate servers, yet still offering visitors to your site a seamless experience. The Jamroom Cluster Server software handles all of the “back end” communication between servers that is necessary for it to work, and effectively lets you take advantage of “cheap bandwidth” that comes bundled with server hardware from many web hosting providers.

As many of you may know, “over usage” charges typically range from .50 (USD) to 1.00 (USD) per gigabyte. With a streaming media server such as Jamroom, on a busy system it becomes fairly easy to incur over usage charges that can be several hundred dollars per month. By “clustering” several servers together using the Jamroom Cluster Server software, you effectively combine the aggregate bandwidth of several servers, allowing you to grow your Jamroom without incurring unnecessary costs.

The Jamroom Cluster Server software also provides an easy to use administrative interface for transferring Artist Accounts between servers, as well as “offloads” LOFI Creator processing from your “Master” Jamroom server to the Cluster Server the Artist Account is hosted on. All in all it is a very powerful solution to nearly unlimited growth for your Jamroom.

Installing the Jamroom Cluster Server

Installation of the Jamroom Cluster Server is fairly straight-forward and easy to implement - just make sure and follow all of the steps outlined below and you should have no problem getting your new Jamroom Cluster Server on line. First, please ensure that you have read and fully understand the following Server Requirements section before attempting to install the Jamroom Cluster server:

Server Requirements

  1. PHP version 4.3.0 or newer (the Jamroom Cluster Server was developed on PHP 4.3.10 - for security reasons it is highly recommended that you do not run anything older than PHP 4.3.10 on your new Cluster Server). The Jamroom Cluster server has NOT been extensively tested on PHP 5.0.x, but should work. You do not want to run the Jamroom Cluster Server software with PHP Safe Mode turned on.
  2. MySQL is NOT required on the Jamroom Cluster Server, however, support for connecting to a MySQL database must be compiled into the PHP that will run on the Cluster Server, since it will need to have the ability to connect to the Master Jamroom Server.
  3. A Web Server that supports PHP and allows HTTP copy and write (such as Apache). The Jamroom Cluster server was developed on Apache 1.3, so it is highly recommended that you use the Apache web server.
  4. A valid DNS name for your new Jamroom Cluster Server (i.e. “www2.yourdomain.com”). You want to ensure that you have set this up with your domain registrar or hosting provider before going live with your new Cluster Server.

Things to consider before installation

The following recommendations are not requirements, but will go a long way in helping you make the installation of the cluster server easier, as well as making management of your entire Jamroom easier going forward.

  1. Currently the Jamroom Cluster Solution does not work with the “Imports” of songs turned on. It still functions, but only artists whose Artist Page is located on the Master Server will be able to see the contents of their jamroom/uploads directory. Therefore it is recommended that you do not use the “Show Imports” option from the Jamroom Config.
  2. It is highly recommended that you run the same web server, and version of web server on all of your Jamroom servers, including the Master Server (MySQL database server / web server). The Jamroom Cluster Server was designed and tested on the Apache Web Server, version 1.3.31, and makes an optimal platform for running Jamroom.
  3. It is highly recommended that you run the same version of PHP on all of your Jamroom servers (preferably PHP version 4.3.10 or newer due to security concerns with older versions). Jamroom has been developed on PHP 4.3.10, and tested on PHP 5.0.3.
  4. It is highly recommended that the Master Jamroom Server and the Jamroom Cluster Server(s) be located in the same data center! The Jamroom Cluster Server(s) must be able to send SQL commands to the Jamroom Master Server MySQL installation, and therefore a very low-latency network is recommended to ensure an optimal experience for your visitors.

Installation on the Jamroom Cluster Server

  1. Make sure you have downloaded the latest version of the Jamroom Cluster Server software from the Jamroom Downloads Page. The Jamroom Cluster Server requires Jamroom 2.40 and newer to function properly.
  2. Next, unzip the downloaded Jamroom Cluster Server software, and install the contents of the “CLUSTER” directory into the desired web-accessible directory on the Cluster Server.
  3. Next, you will need to make sure that all of the Artist Themes and Admin Skins that are located in the Jamroom Master’s jamroom/themes and jamroom/styles directories are copied over to the new Cluster Server. 1)
  4. If you are currently using the GETID3 option in your Jamroom, make sure and make an exact copy of the jamroom/getid3 directory over onto the new Cluster Server.
  5. If you are currently using the Jamroom Lofi Creator, make sure and copy the LAME binary over to the cluster directory on the new Cluster Server (or compile a new version on the Cluster Server) as well as the decoder.php script. Also copy over the jamroom/config/decoder.cfg.php file to the cluster config directory. Verify that the settings inside are as you want them.
  6. Next, modify the jamroom/config/settings.cfg.php file and make sure that the settings inside are set EXACTLY like the settings on your Jamroom Master Server. Note however that you will likely need to modify the “jamroom_path” and “jamroom_url” settings at the top of the file to ensure they are set correctly for the Cluster Server you are installing on.
  7. Next, modify the jamroom/config/cluster.cfg.php file. This small config file contains the necessary MySQL database information that is required by the Cluster Server to properly communicate with your Master Jamroom Server. Note that you will need to grant TCP MySQL Access to the user name you enter within this file so the Jamroom Master Server MySQL installation will allow the DB connection coming from your Cluster Server. The easiest way to do this is to use phpMyAdmin, and logged in as the root MySQL user, modify your existing Jamroom database user to allow the connection (IP Address) from the new Jamroom Cluster Server. Within this file you will also need to add entries for the Jamroom Master Server URL and the Jamroom Master Server IP Address. Enter all appropriate values and save the file.

Installation on the Jamroom Master Server

Installing the necessary script on the Jamroom Master Server is very easy:

  1. Copy the “cluster_admin.php” and “forward.php” scripts that are located inside the “MASTER” directory in the Jamroom Cluster Server download in to the Jamroom directory on your server - i.e. jamroom/cluster_admin.php and jamroom/forward.php .
  2. Make sure the .htaccess file located in the MASTER/bands directory of the Cluster Server download gets copied in to the jamroom/bands directory of your Jamroom Master server.
  3. Next, log in to your Jamroom as the Master Admin, and go in to the “Jamroom Config” section. Near the top you will see an entry for Cluster Server User and Cluster Server Key. Enter here the User and Code you received when you purchased your Jamroom Cluster Server. (Note - if you are adding an additional Cluster Server to an existing network, just enter the new Cluster Key you received in place of the old Cluster Key). Save the changes to the Jamroom Config.
  4. Now, within the Admin Menu you will see a new option for “JCServers”. This is the section where you will Create and Modify your Cluster Server(s), as well as Move Artists between servers.

Using the Jamroom Cluster Server Admin Interface

Now that you have your new Jamroom Cluster Server installed and ready to go, The next step in the process is to become familiar with the new choices you will see in your Jamroom Admin Menu.

The new JCServers Menu

After logging in to your Master Jamroom installation as the Admin User, you will see a new set of options in your Admin menu 2) (near the top) that says “JC Servers”. This menu can grow to include the following features:

  • Create Server - Selecting this option will take you to the create server form, where you can enter information about and configure a new Jamroom Cluster Server. NOTE: This option will not be available unless your Jamroom Cluster Server license still has room for another server in it. For example - if you have purchased a 3 server Jamroom Cluster Server license, then you will only see the “Create Server” choice if you have less than 3 Cluster Servers configured.
  • Modify Server - After you have already created a Jamroom Cluster Server, this is where you can come to modify information about this Cluster Server.
  • Delete Server - Selecting this option will allow you to delete a Jamroom Cluster Server. NOTE: You cannot delete a Jamroom Cluster Server until all artist accounts have either been deleted or moved from the server.
  • Move Artists - Selecting this option will take you in to the Move Artist interface where you can move your Jamroom Artist accounts from server to server.

Creating or Modifying a Jamroom Cluster Server

Both the “Create Server” and “Modify Server” have the same form interface for creating or changing information about your Jamroom Cluster Server:

  • Server Name - This is the name of the server as you want to call it in the Jamroom Interface. This name will appear in the “Move Artists” section of the Admin Menu, as well as other places throughout Jamroom (i.e. several places in the Tools menu). Its best here to choose a descriptive name - i.e. “Server2” to make it easier in the future to know what server this is.
  • Server IP - this needs to be the Server’s IP Address. Jamroom will use this IP Address internally when communicating with the Jamroom Cluster Server.
  • Server URL - this needs to be the full URL to your new Jamroom Cluster Server. You want to ensure that you have set up your new Jamroom Cluster Server with a qualified host name and domain name with your domain registrar or hosting provider in order for the communication between the Jamroom Master Server and the Cluster Server to work.
  • Server Active - this setting allows you to tell Jamroom whether or not this Cluster Server is active. NOTE: Setting this to “no” WILL NOT make this Cluster Server stop working, it will merely make it so it is no longer a choice in the “Move Artists” screen. This in effect becomes an easy way to “lock” a server with a specific number of Artist Pages on it.
  • Default Server - This option allows you to define if this new Cluster Server will be the default Jamroom server when it comes to creating new Artist Accounts. If this is set to “yes”, the any new artist account that is created by the Jamroom Signup System or by the Master Admin will be located on this new Cluster Server. If you already have another Jamroom Cluster Server that is set as the Default Server, by selecting “yes” for a new Cluster Server, the old Default Server will have its setting changed to “no”.

Deleting a Jamroom Cluster Server

Deleting a Jamroom Cluster Server is very easy. Simply select the Jamroom Cluster Server that you would like to delete from the chooser list and press the Delete button. NOTE: A Jamroom Cluster Server will not show up in the list of available servers to delete unless there are ZERO (0) Artist Accounts on the Cluster Server, and it is not designated as the Default Server.

Moving Artist Accounts between Servers

Moving Jamroom Artist Accounts between servers is a very easy and straight-forward process. By selecting the “Move Artists” option from the Jamroom Admin Menu, you are placed in to the Move Artists form. This form gives you everything you need to balance the load on your Jamroom System by moving Artist Pages between your Master Jamroom Server and your Jamroom Cluster Server(s). On the Move Artist page you are presented with a “Filter” box, a List of all of the Artists in your Jamroom, and finally a list of Jamroom Servers that are available for having Artist Pages moved to them (i.e. they are the Master Jamroom Server, or a Cluster Server that is active).

To Move an artist account from one server to another server, simply select the Artist Name from the Choose Artist(s) window, then select the Cluster Server from the list that you would like to move the Artist Page to. Simply press the “Move Artists” button and the account will be moved between servers. Note that you can select more than one artist from the “Choose Artist(s)” window that you would like to move, making it easy to move hundreds of Artist Accounts between servers in one easy step.

You’ll also note that in the “Choose Artist(s)” and “Cluster Server” selection areas, that the Number of Plays is shown for each artist as well as the TOTAL for the entire Server. This can help you “balance” the number of plays between servers so bandwidth usage is more consistent between servers.

Jamroom Cluster Server FAQ (frequently asked questions)

  • How many Artist Accounts can be supported on a Jamroom Cluster server?
  • The number of Jamroom Artist Accounts that can be supported on a single Jamroom Cluster Server varies depending on the power of the hardware you put the Cluster Server on, and the amount of bandwidth available to the Cluster Server. A good recommendation is no more than 5,000 artist accounts on a single Pentium 4 2.0 ghz server with 1 gigabyte of RAM. Depending on how many plays and page views your Artist Pages receive on the Cluster Server, the number of Artist Accounts you can actually host may be lower or higher than this number.
  • Is the communication between the Jamroom Master Server and Cluster Server secure?
  • Yes - Jamroom uses a special “lock and key” method of communicating information between the Jamroom Master Server and a Jamroom Cluster Server. This method ensures that the Cluster Server software will only respond to requests that are initiated by the Jamroom Master Server. Also, the Jamroom Cluster Server software does not require any special “sockets” or “ports” be left open, since all communication is done via HTTP calls using the web server port.
  • Can I move an Artist Account between 2 Cluster Servers?
  • Yes - you can move and Artist Account between 2 servers without issue and in the same way that you would move an Artist Account from your Jamroom Master Server to a Cluster Server. Simply select the Artist Account(s) you want to move from the “Choose Artist(s)” selection box, then select the Cluster Server you want to move them too. Regardless of their current server location, they will be moved to the specified server.

1) The easiest way to do this is to use SCP file transfer between servers.
2) If you do not see these new options in your Admin Menu, please ensure that you have entered the correct Cluster Server User and Cluster Server Key settings in the Jamroom Config, and that the cluster_admin.php and forward.php scripts have been placed in your Master Jamroom directory.
Solutions Products Support Community Company
Social Media Platform
Social Networking Software
Musician Website Manager
Community Builder
Jamroom 5
Jamroom 5 Modules
Jamroom Marketplace
Support Forum
Documentation
Support Center
Contact Support
Community Forum
Member Sites
Developers
About Us
Contact Us
Privacy Policy
©2003 - 2017 The Jamroom Network