Hosting an Open Source Tendenci Website on the Linode Cloud

In the last post, I walked through the steps to install Tendenci on the Rackspace OpenStack cloud hosting environment.  This week, I want to share my experience  with installing Tendenci on the Linode Cloud, another great option for hosting Tendenci websites.

Translating the ‘Geek Speek’ of Linode

It seems like each of the hosting providers have their own terminology for the different pieces involved in web app cloud hosting. For example, I setup a “cloud server” on Rackspace which runs and managed your Tendenci website application.  The equivalancy to a Rackspace “cloud server” is the “linode“, which stands for “Linux Node” when you host with Linode.com.

Think of a “linode” as your own web application server (computer) that comes with your CPU, RAM, disc storage, and a Linux-based operating system.  For Tendenci websites, we use the Ubuntu O/S which is a version of Linux.

Linode’s Hosting Options

Linode provides a “Do-It-Yourself”  cloud hosting environment and has a pretty straight-forward pricing plan based on hardware specifications for things like memory (RAM) and the amount of disk storage space included.  Tendenci requires a minimum of 256MB of RAM, and because Linode’s minimum plan begins at 512MB, any plan you choose will give you enough to get started and you can upgrade your plan with Linode as your site grows.

Linode Cloud Hosting Plans

Is Linode Right for Your Association?

Linode has great documentation and I was able to figure out how to get Tendenci up and running with only one quick call to my programming team to find out if I wanted a 32bit or 64bit O/S.  Linode wants you to learn how to do manage these services for your cloud applications, and tries to give you the training and support you need to learn how.

Linode’s hosting plans give you full control over your association’s hosting environment, but I felt like the process was a little more challenging for me since I’m not that familiar with Linux. Particular challenges for me included customizing the DNS, setting up FTP access, and figuring out how to manage server back-ups.  These are all things you’ll need to be able to do in order to keep your website and server running properly.

I would recommend Linode as a great option to consider for associations who have in-house staff or outside IT and developer support that are familiar with Linux and managing servers.  Linode offers a great value with its plans, and is a very affordable option for hosting small to mid-size open source Tendenci websites.

However, if you’re like most nonprofit staff members, then you don’t have the time to manage these things, or even the time to learn how to do it yourself and you may want to seek out a more “full-service” hosting option. Linode may prove to be more costly via time consumption or just too challenging to maintain if you don’t have the IT support available to you.

Steps to Get Tendenci Live in the Linode Cloud

The total time for me to get Tendenci hosted on Linode where I could view the website in a browser probably took about 2 hours and I estimate about an hour of that was reading the getting started guide.  The other hour or so included creating a new account, setting up my Linode Distribution (server), and installing Tendenci.

Sign-Up and Create an Account

If you don’t already have an account with Linode, then you’ll need to first signup and select your plan. Linode does require a credit card to activate your account, and the entire process took me about 5 minutes. If you already have an account with Linode, you can skip this section.

Here’s the steps I took with screenshots for creating a new account with the basic $19.95/month plan:

1) Select the username and password for your account

Fill out the signup form’s fields with your name and billing information.

2) Select your plan

The cheapest option begins at around $20 per month, and has enough storage and RAM to support a small to mid-sized Tendenci website installation. If you’re wondering what size cloud environment your Tendenci website needs, send us an email at support@tendenci.com and someone from our support team will help you out!

linode select your plan

3) Select your payment terms

Linode offers month-t0-month, or discounted plans if you prepay for 1 or 2 years worth of services. After you submit the signup form, you’ll have a chance to review your order before your credit card is charged and you receive your account login information.

linode complete your order

* Don’t forget to check the box next to the Terms of Service agreement before clicking “Complete Order”

4) Log into your Linode Manager Dashboard to get started

Most new accounts are activated immediately, and I was able to login using the name and password I’d created on the signup form before even receiving an email confirmation and receipt.  ** Linode does say that in some cases, new accounts may take longer to activate.

linode manager login screen

Creating Your First Linode

I found Linode’s Getting Started Guide to be really straightforward and I had my server deployed with Ubuntu and ready to Boot up in about 10 or 15 minutes. Here’s what I did to set-up an Ubuntu server on Linode to host a Tendenci open source association website:

1) Pick the location for your new Linode

linode manager welcome screen

I selected London, UK as my location just for fun and because I wanted to spread the Tendenci open source love around the globe and not just stay in Texas.  It really doesn’t matter too much what data center location you pick, and the Linode documentation suggests that data centers farther from you may result in longer download times and possibly latency with remote access and file transfers.

Tip: If you’re concerned about the performance, Linode recommends you perform a Facilities Speedtest:

linode which facility data center do you choose

2) Deploy a new Linux Distribution

This simple means you’re going to set-up a server with the Ubuntu 12.04 operating system so you can install Tendenci on it later in the process.

Here’s a screenshot that shows the options you want to choose for a Tendenci website installation on Linode: linode make your settings look like this new linode

  • Distribution: This is where you’ll select the operating system for your “linode”. Linode recommends 32bit distributions, however for Tendenci configurations, you’ll want to select the 64bit version of Ubuntu 12.04 LTS.
  • Deployment Disk Size: This setting should already default to the maximum size available (about 24 GB with the basic Linode plan) and you probably want to keep this setting at the default maximum size. This will give your Tendenci website plenty of storage space to get started as you add files, images, photos, and user data.
  • Swap Disk: The basic plan defaults this setting to 256MB and Linode recommends you stick to the default setting.
  • Root Password: this will be the password that you’ll use later on to remotely access your Linode and install Tendenci using the Tendenci installation script and you’ll want to make sure it is secure and you’ll need to remember it in a few minutes.

3) Click the “Rebuild” button to deploy your new Linode

You’ll be directed to the Linode dashboard where you can watch the different processes for installing and configuring your server in the “Host Job Queue” section:

linode host job queue system boot queue status

4) Click on “Boot” to power up your new Linode!

Once the server is deployed, you’re Linode dashboard will look something like this screenshot below which shows that your Server Status is “powered off” and you have a “Boot” button underneath your Ubuntu configuration profile.

linode dashboard boot server

5) Check Server Status to make sure you’re up and running

You’ll see the system boot progress bar in the “Host Job Queue” section of your dashboard, and then your Server Status will update to “running” once the system boot is complete. linode your server is running

Connect to Your Linode using SSH to Install Tendenci

In order to install Tendenci on Linode, you’ll first need to use secure shell (SSH) protocol to remotely connect to your server. The easiest way for us non-programming types to accomplish this is to use the Terminal application that comes with Macs, however you can also do this from a Linux computer (using the terminal window) or a Windows computer (using PuTTY, a free open source SSH client for Windows).

My instructions here are specifically for Mac users, and if you’re using a Linux or Windows machine and run into any issues installing Tendenci then please contact us at support@tendenci.com and we’ll be happy to get you set-up!

1) Find your SSH root login on the Linode dashboard and enter it at the command prompt (the $ sign) in Terminal.

You’ll be prompted to enter your password, and you’ll use the same password you created for your linode server in Step 2 of the previous section.

linode ssh root access in terminal

* The first time you connect to your Linode using SSH, you will get a message saying that “the authenticity of host … can’t be established” along with information about your public RSA key.  Don’t worry about what this all means – just type in “yes” when it prompts you for a yes/no answer and press ‘enter’.  

You’ll know that you’re connected to your server when you see the Terminal prompt change to something like “root@localhost:~” which means you can enter commands in Terminal on your local computer that will tell your remote server what to do.

2) Remotely connect to your server and install Tendenci.

Enter the script installation code at the prompt inside Terminal and press “enter” and the script will take care of installing all of the different packages for Tendenci, including setting up a PostgreSQL database.

This process will take about 20 minutes so now’s a great time to check your email or get a cup of coffee while you wait.

* Towards the very end of the installation process, you may get some pop-up screens asking about mail configuration for your app. For now, just use the default setting for “internet site” and then you can enter the domain name for your site or just use “localhost”. You can configure this setting later on, so don’t worry about it if it’s confusing.

You’ll need to press the “enter” or “return” key inside of Terminal because clicking with your mouse won’t work for this.  Use your keyboard’s arrow keys to move between options.

linode email config image 1 linode image 2 email config linode email config image 3
 Press the “Enter/Return” key on this Screen With “Internet Site” is Highlighted – Press “Enter/Return”  You can keep this as “localhost” or Change to Your Domain Name

3) Wait for “Tendenci is Setup!!!” Success Message

When the Tendenci script is finished installing your website software, you’ll get a “success!” message in Terminal followed by the login and password information for your website.tendenci success linode installation

By default, your username and password are both “admin” for initial deployments.

It is ** crucially important ** that you change this information immediately upon logging into your Tendenci website for the first time. Failing to change your username AND password can open up your website to hackers.  Read our Help File on User Profiles to learn how to update your user profile information: https://www.tendenci.com/help-files/change-username-password/ 

4) Click the button that says “Reboot” on your Linode Manager Dashboard

Tip: Make sure your server status on your dashboard still says that the server is running.

reboot linode after installing tendenci

5) Open a new browser window and enter the 12 digit IP address that’s listed after the “ssh root@” on your remote access tab.

In my case, that number is 151.236.219.240.  You may need to refresh your browser window once or twice if you get an error or “Gateway not Found” message, and then you should see the Tendenci default theme homepage.

linode tendenci website homepage

6) Login using the default username and password “admin”, and then immediately go and change your username and password.

Tip: Refer to our Tendenci Help File on User Profiles for instructions on how to change your username and password.

Woohoo! You Did It!

You’re now ready to start customizing your Tendenci Open Source Association Website on a Linode Cloud.

Linode Resources for Your Next Steps

Linode offers great resources to help Linux newbies, and I recommend you take some time reading their Beginners Guide and the Getting Started Guide before you set-up your website. Then, check out these more advanced guides Linode offers to help you secure your server and customize your Tendenci site’s DNS/domain name.

Linode Library – This is the main menu for Linode’s help documentation.

Securing Your Linode Server – This guide will show you how to add new user accounts to the server and manage security settings and protocol so you won’t get hacked.

Linode DNS Manager – This comprehensive guide introduces basic DNS concepts and explains how to setup DNS records so your website can have a custom URL instead of sending people to a 12 digit IP address.

Got Open Source Hosting Questions or Suggestions for Us?

We’re hard at work testing and documenting different hosting platforms with Tendenci to give you more choices – if you have questions about installing a site on Linode or another Cloud provider, let us know via a comment below or email me and we’ll find answers for you.