RockRMS from scratch (by a non-MS person)

  • By Chris Go 2 Years Ago

This is a step-by-step (opinionated) guide for those with limited Windows Server experience on how to get RockRMS up and running. This guide can answer questions like "How do I get RockRMS installed, I'm on a Mac" or "I only know Linux".

Note: If you want to just click around a demo site, go to http://rock.rocksolidchurchdemo.com

This guide assumes you have read the excellent Rock guides, specifically
Rock Solid External Hosting

After this guide, you will have a RockRMS server that you and your church can use that is:

  • publicly accessible (externally hosted)
  • semi-secure (https)
  • relatively low-cost (~$30-40/mo)
  • fully-functional

This guide will NOT be a PRODUCTION ready system. For that you will want to have:

  • More robust security (you need a knowledgeable sysadmin)
  • Regular/scheduled backups
  • HA (high availability) setup, this guide runs everything on one server which is prone to SPOF (Single Point Of Failure)

What you need

  • Credit card
  • "Admin" Email address
    • Example: admin@domain.com
  • Domain name or subdomain (optional)
  • Access to DNS records for domain (optional)

Note: I am not affiliated with any of the companies listed below. These are just the most cost-effective way of getting things done

RockRMS Registration

Hosting

The next thing you need is to get a server somewhere that runs Windows Server. After reviewing all the options on the Rock documentation, I selected 3Essentials Windows VPS Pro 2G $29.99/mo at the time of this writing (July 2016)

  • Click on the link above, then select Order Now
  • Use the default values, the Operating System should be Windows 2012 R2 - Includes Plesk 12.5 - 30 domain License
  • Go through the order process and complete the order.
  • You will eventually get a welcome email. This may take up to 24 hours.
  • They are good with Chat if you run into problems. Technical questions are 24/7 as far as I can tell.

Other Services

While waiting for your Welcome Email from 3essentials, you should sign up for some other services that you will need for later

Outbound email (SMTP):

For best results, sign up for Mailgun

  • http://mailgun.com
  • Free 10,000 outgoing emails per month
  • You will want to have access to your DNS records so you can create some TXT records to validate your domain so you can send emails from admin@domain.com

Map/Geocoding: BingMaps

Map/Geocoding: Google Maps

SMS: Twilio (Optional)

  • http://twilio.com
  • The free account will give you a phone number and some sending credits but it will only allow you to send to "verified" phone numbers (meaning the one you signed up with)
  • The minimum you need to spend is $20 and they will charge you $1/mo for a local number and you can send text to any mobile phone number

At this point, you are waiting for your Windows server to be ready. Here are some things you can do:


Hosting Welcome Email

You will be assigned a server that looks like the following format:

  • vserver###.3essentials.com (where ### is a 3-digit number)

Login to your 3essentials.com control panel to get more information like the IP address (example: 66.10.20.30)

The email will also contain 2 important items

Once you get this, you have full control over your new Windows server!

Remote Desktop

Web Server (IIS)

Microsoft Internet Information Server (IIS) is already up and running, note the document root will be at

c:\\Inetpub\\vhosts\\vserver###.3essentials.com\\httpdocs

Microsoft SQL Server (MSSQL)

Microsoft SQL Server is installed but you will need to create a new database

  • Using the Plesk 12 Control Panel at https://vserver###.3essentials.com:8443
    • Click on Databases
    • Click Add Database
    • Type: MSSQL
    • Name: rockrms
    • Username: rockrms
    • Password: needs to be "strong"
    • The database page will display a warning saying dynamic TCP ports not allowed (we will fix this in a minute)

Fixing Dynamic TCP Ports

We need to assign a static IP and non-dynamic port in order to access the MS SQL server.

Allowing Remote Access

Note: This is optional, only do this if you want to access MSSQL from a remote client

  • Using the Plesk 12 Control Panel at https://vserver###.3essentials.com:8443
    • Click on Databases
    • On the list of databases, click on Database Servers on the upper right box
    • Click on the Settings icon
    • Select Allow remote connections from any host
    • Click on Apply
  • Add a TCP rule to the Windows Firewall
    • Using Microsoft Remote Desktop
    • Go Start > Control Panel
    • Click System and Security
    • Click Windows Firewall
    • On the left side, click on Advanced settings, it will open up the Windows Firewall with Advanced Security
    • On the left side, click on Inbound Rules
    • Scroll through the rules, you should see 2 entries that are disabled
    • Click MS SQL over TCP protocol, then click on Enable Rule (right-side menu)
    • Make sure the Green check appears and the Enabled column says 'Yes'

DNS

Go to your DNS provider, usually your Domain Registrar has this (for example: GoDaddy)

Add an A record with the IP address of your server

  • Subdomain: rock (or rock.domain.com)
  • IP Address: 66.10.20.30 (example only)
  • TTL: 1 hour (3600 seconds)

In an hour or so, your RockRMS server should be accessible via http://rock.domain.com

Installing RockRMS

HTTPS

As a good practice against MITM (Man-In-The-middle) attacks, you should make force all traffic to HTTPS. You never know if your church team will put real information in the system!

RockRMS Config

Once you login to the Rock install, it should present you with a checklist


@chrisgo