Rock Solid External Hosting

Everything you need to know about external hosting and Rock.

Download PDF
Current Version: McKinley 8.0
Note: A newer version of this book is available. Use the version dropdown to switch to the newest version.

Updates for McKinley 8.0

No updates made.

Updates for McKinley 1.0

No updates made.

Updates for McKinley 2.0

No updates made.

Updates for McKinley 3.0

Below is a summary of the updates for this version.

  • Updated text to reflect multiple hosting partners.

Updates for McKinley 4.0

No updates made.

Updates for McKinley 5.0

No updates made.

Updates for McKinley 6.0

No updates made.

Updates for McKinley 7.0

No updates made.

Updates for McKinley 9.0

No updates made.

Introduction

For some organizations, the prospect of managing servers is daunting. Fortunately, traditional hosting companies offer an affordable alternative. Picking the right vendor and package is critical to your success. We've made the recommendations below based on our direct experiences with hosting Rock in their environments.

Just So You Know...

We do not have any relationship with, nor are we recommending, any specific web hosting companies. We have only tested and confirmed that Rock can be installed on the services in this book. It is up to each organization to choose its service wisely.

PCI Can Be Difficult

PCI is a set of rules governing websites that process credit cards. This can affect the organizations using Rock's online giving tools. We're in the process of defining some recommendations in this area, though ultimately it will be each organization's responsibility to ensure that they are meeting all PCI audit requirements. Note that hosting recommendations and requirements could change based on the output of our research.

Understanding Web Hosting

Before we jump into our recommendations, we believe it's important for you to understand the basics of the web hosting market. This will help you understand the differences between the various vendors and packages.

As you shop for a web host, keep two points in mind:

  • Rock should be a strategic part of your organization. It makes sense to invest in a quality home for it that will not only support your current needs, but also help you grow to the next level.
  • Rock isn't your mother's recipe site, it's a sophisticated application using the latest technology. It also needs to crank through large amounts of data to drive its relationship management tools.

Density

In the end it all comes down to how many websites are packed onto a single server. You'll see packages that start for as little as $5/month. This tells you that you can expect hundreds of sites to be packed onto one server. Others may be two to ten times as much. Yep, you guessed it, fewer sites per server. And fewer sites mean more resources for your website. As you can see, price alone isn't a good measure of a hosting company.

Hosting Models

There are a couple of different hosting models to be aware of as you determine the perfect place to host. We cover each of these models below:

Shared Hosting

In a shared hosting model, several websites (many times hundreds) are run together on the same server. While there are rules put in place to help limit a single site from using all the server's resources, there isn't enough space for all the sites to be busy at the same time. In the end, it's always a bit of a battle for resources. How fierce the battle is depends on the number and size of the sites on the server. Think of shared hosting as a family. In a large family, brothers often have to fight each other for that last dinner roll at the table.

Knowing the limits put on your site is important. The resource monitor is commonly called the AppPool on a Windows host. The AppPool is limited to a maximum amount of memory and CPU. We recommend a base of 300MB of memory and 20% limit on CPU. Note that this level of hosting might let Rock run, but likely not with acceptable results for any but the smallest of churches... and even then it might struggle with things like upgrades.

Virtual Private Server (VPS)

On a VPS plane, one physical server is divided into several smaller server slices that each act as their own virtual server environment. This gives you dedicated resources you won't need to fight for. In return, you will pay more, but you can expect consistent performance as your destiny is in your hands.

VPS servers also come with limits. While their memory and CPU levels are much higher than their shared cousins, the VPS server must also run its own version of Windows in that space. Because of this, we recommend at least 2GB of RAM and at least one CPU core.

Cloud Hosting

Cloud hosting takes the VPS model one step further. In this model, your virtual server can run in a clustered environment (Tech Translation: across more than one physical server). This often adds additional reliability - but at a cost.

Recommended resources for a cloud server are the same as those of a VPS server - a minimum of 2GB of RAM and 1 CPU core.

Dedicated Server

The dedicated server is the largest and most expensive route. With it, you are given the complete resources of the physical server. It's all yours - anything goes! One gotcha to this approach is that it's harder to add more resources to a dedicated server than it is a VPS or cloud option.

Our Recommendations

We believe in choices, hence we've outined several hosting options below. However we highly recommend that you consider hosting with a Rock partner for the reasons below.

  • They have the capability to help with a wide range of Rock services including paid support, implementation and custom development.
  • Their hosting includes the installation of Rock.
  • They know Rock.

Base Requirements

No matter what host or package you choose, it must meet the following requirements:

  • Windows: This will be the largest filter for vendors. Do they provide Windows web hosting?
  • IIS 8: Ensure your vendor supports IIS 8 with full-trust.
  • ASP.Net: Version 4.5.1 (or better)
  • SQL Server 2012/2014: Be sure that the package you select is for Microsoft SQL Server (not MySql) and that it provides enough space for your database (recommendations below).

Small (100 - 2,500 records)

For small organizations, we recommend one of the options below. Be sure to think about growth. If your budget can manage a larger account, you won't regret having the additional resources. "This website is too fast," said no one...

Medium (2,501 - 5,000 records)

For medium-sized organizations, we've outlined the options below. Again, purchase what your budget allows.

Large (5,001 - 10,000 records)

At this size, your organization is starting to bridge between different hosting models. Hopefully, though, your budget allows you to move into these new tiers.

Extra Large (10,001 - 100,000 records)

With this size, you should definitely be looking at larger cloud or dedicated plans. Below are some ideas of where to start.

Determining Record Counts:

For churches, we find that a good rule of thumb for determining record counts is to take your weekly attendance and multiply it by 10.

Determining Disk Size:

While a smaller size may do the trick for your database, please be conscious of back-up best practices. Backups will require additional space, and it's better to have a bit more than you need rather than a bit less. In our experience, a good schedule for backups might be to keep a daily for 3 days, a weekly for 4 weeks, and monthly for 12 months. However, some people will prefer more, and others less. Please do keep in mind how much backups space you'll need as you select your server size.

Preparing for Rock

Some Things To Know

Here are some things to consider before you install Rock:

Domain Name: If you decide to purchase a domain name (i.e. www.rocksolidchurchdemo.com) for Rock, we recommend getting one from your same hosting provider. In most cases, hosting providers make it easy to connect your domain to your Web site and hide the mess of dealing with DNS settings. If you decide not to, that's great! Rock will work just fine.

Email: Depending on your email needs, you might need to leverage a cloud-based email service like MailJet to be able to send thousands of emails without complications. You'll want to explore this when you pick a hosting provider.

Things You'll Need During Installation

To prevent you from running into any "surprises" during installation, here are some things you should have handy:

  • Email settings from your email server.
  • Internal and external web addresses from your organization.
  • An email address to send exception messages to.

Other Considerations

Certificates
As you configure Rock, make sure you purchase and configure an SSL certificate before making it available at a publicly accessible domain. Prices range from $9–$100+ per year, and while the setup may seem daunting, there are plenty of helpful tutorials that walk you through the setup process. Also, you can check with your current domain registrar to see if they offer SSL Certificates. If you're new to SSL, Google provides a detailed list of best practices.

3 Essentials

3 Essentials is a vendor that specializes in Dot Net Nuke (DNN) which shares a similar architecture with Rock RMS. Their VPS plans are a good choice for Medium to Large sized organizations. We recommend using one of the Pro series Managed ASP.Net plans. After signing up you will receive an email with all of your login information. These steps below take it from there.

The Site Manager

Below is the 3 Essentials Plesk Site Manager. This is where we will setup our environment.

Site Manager

Creating The Database

From the site manager select the Databases button.

Click Add New Database button.

Database List Screen

Enter in the database name, login and password for the database. Press OK when done.

Add Database

You'll now see the database you entered. During the install be sure to use the database server name of 'localhost'.

Database List

Uploading The Install File

With the database complete we next need to upload the Start.aspx file from the install package. That's easily accomplished under the Files menu. You'll want to delete all of the items in the httpdocs directory first.

Database List Screen

Once these files are removed use the Upload Files button to place the Start.aspx file on the server.

Add Database

Setting Permissions

The last step is to set permissions on the website to allow Rock to write files. To do this follow the steps below:

  1. Select the Virtual Directories option from the website panel homepage.
  2. Next, click the Diectory Access Permissions button.
  3. From the next screen select the Application pool group
  4. Enable 'Full Control', 'Modify' and 'Write' permissions for this group. Your settings should look like the screen below.
Database List Screen

DNS Configuration

3 Essentials does not provide a temporary URL for accessing your website via the browser. You will need to ensure your DNS is set correctly before you can access the site. The steps for DNS configuration is highly dependent on your DNS provider and the names you want to use for Rock. The basic steps are discussed below.

From the control panel homepage select the Add New Domain Alias button at the top of the screen.

Add New Domain Alias

Next you'll see the Add a Domain Alias screen shown below. Simply provide your alias name and then enable only the Web Service. When complete click the OK button.

Add New Domain Alias

Once you've made this change you'll need to point the alias you defined to the IP address that 3 Essentials provided to you. (This IP address is listed on the control panel homepage). If you run into trouble 3 Essentials technical support can help you get up and running.

Ready to Install!

Now that our foundation is set, we can get the Rock installer going. Open up a web browser and go to http://"yourdomain.com"/Start.aspx. Head over to the chapter Installing Rock for detailed instructions on how to install Rock.

Installing Rock

Now that our foundation is set, we can begin the best part - installing Rock!

The first thing we need to do is to download the Rock installer, which you can find at rockrms.com/Rock/GetStarted. Place the Start.aspx file from the installer package in the root of the web folder. By default, the web root folder will be located here: C:\inetpub\wwwroot.

Open up a web browser and go to http://localhost/Start.aspx to begin the installation process.

Rock Installer

Now we will enter in the SQL server information. If the SQL server is installed on this server, you can type in "localhost" in the Database Server box. If you are using another server for SQL, you can enter the server name instead.

Next, enter in a name for the Rock Database (e.g. "Rock") and enter in the username and password we created earlier in the SQL Chapter. Click Next.

Database Configuration

Now the Rock installer will run some checks to make sure the environment is ready for use. If everything checks out, you will see the Pass! screen. Click Next.

Environment Checks

The next screen will allow us to create an admin username and password for Rock. This will be the default admin account for Rock. Click Next.

Note:

We recommend using a general or organization account, not a personal one. You can create your own login after the install.

Admin Account Setup

Now you'll need to enter in your organization URLs.

  • Internal URL: The web address you'll use to to connect to Rock internally. (Example: http://admin.rocksolidchurchdemo.com)
  • Public URL: The public facing website for your organization. (Example: http://www.rocksolidchurchdemo.com)

Note:

Don't worry if these addresses aren't configured to point to your new server yet. These addresses are intended to be the ones you'll use once you're ready to go live.

Hosting Configuration

Now let's enter in your Organization Information.

  • Organization Name: The name of your organization
  • Organization Default Email Address: The default email sending address for Rock
  • Organization Phone Number: The main phone number of your organization
  • Organization Website: The website of your organization

Note:

Don't worry, these settings can be changed later under Admin Tools > General Settings > Global Attributes

Organization Information

Now that you have all of your organization's information entered into Rock, click Next to begin the Rock installation.

Installation Progress

Rock will begin downloading the needed files onto the webserver and configuring the database. You can observe this process by clicking on the Show Console button.

Installation Console

When complete, click on the Flip the Switch button. Keep in mind, this loading screen will take the longest to load since Rock is starting up for the first time.

Installation Complete!

Note

If you arrive at the external site instead of the internal login page it could be that the domain name is set to be used as the external site. When Rock isn't provided with a specific page to load in the URL it looks at the domain and finds a site in the database that matches. If this happens to you, you can get to the internal site by this URL: http://{yourserver}/page/12

Now that Rock is installed, you can begin by logging in. Log in with the Rock admin account you created during the installation.

Logon Screen

Once logged in, you'll be taken to the Rock homepage. You will see the Administrator Checklist, which is a list of the recommended first steps to maxmize the potential of Rock at your organization. Don't worry about completing the list today. You can get to it as you become more familar with Rock. The list will disappear once you mark off all the items. It may reappear after updates, if special configurations are needed. Think of it as a friend that only shows up in your time of need.

Rock Home Page

Migrating to Different Hosts

Migrating Rock to another hosting provider may be daunting, but if you're familiar with FTP and SQL Server Management Studio, the steps are pretty simple. If these terms are foreign to you you may want to enlist the help of a Rock consultant or ask your new hosting company if they offer any transition services. If you're up for it below are the steps.

Move the Existing Database

This involves backing up the database from your old hosting provider and restoring it on the new hosting provider. There are two ways of doing this.

  1. Most hosts have a one click export and restore process. If you're unfamiliar with SQL Server Management Studio this is probably your best bet, but you may need some help restoring your database at the new web host. You should definitely talk to the tech support at your new host to ensure that an export from a different server can be imported through their management portal. Often times an export from a different server must be imported for you by one of their tech support representatives (sometimes with an additional cost.)
  2. If you're familiar with SQL Server Management Studio you can create a script of your database schema and data. You can do this by right-clicking the database you wish to export and selecting 'Tasks -> Generate Scripts'. From the 'Set Scripting Options' tab be sure to click the 'Advanced' button and change the 'Types of data to script' to 'Schema and data'.

    When you go to import your script to the new host you'll need to use the 'sqlcmd' tool as the script will most likely be too large to run from within SQL Server Management Studio. You can use the 'sqlcmd' tool by opening up a Windows command prompt and and typing in the following syntax:

    sqlcmd -S <server> -d <database> -i <input file> -o <output file> -U <user> -P <password>

Move the Web Server Files

Next, will be to copy the files from your web folder to the web folder of the new hosting provider. This is normally done via FTP.

Web.Config

Once the database and web files have been copied over, the final step involves updating the web.ConnectionStrings.Config file that is located at the root of the web folder. That way Rock will know where the new database is located at your new host.

Sample web.ConnectionStrings.Config
<?xml version="1.0"?>
            <connectionstrings>
                <add name="RockContext" connectionstring="Data Source=<database address>; Initial Catalog=<database name>; User Id=<database username>; password=<database password>; MultipleActiveResultSets=true" providername="System.Data.SqlClient"></add>
            </connectionstrings>

Note

After the steps above are completed, it would be a good idea to restart your web service and application pool.

Global Attributes

If you are changing the domain during the migration process, you will need to update these global attributes

  • Internal Application Root - e.g. http://rock.rocksolidchurchdemo.org
  • Public Application Root - e.g. http://www.rocksolidchurchdemo.org
  • Organization Web Site - e.g. www.rocksolidchurchdemo.org

Improve