In part one of this series I talked about our different hosting options for running the Domain of One's Own project. In many ways those options are no different than any major project a school might be considering whether it be a new LMS, a blogging platform like UMW Blogs, or something else. You can run it in house or host it with a company. In the end I think support plays a big factor in that discussion. If you have the people and expertise to run a server with the software in house it's likely a better option because you get more bang for your buck, but hosting the server with a company that does that kind of thing fulltime will certainly ease the burden if you don't have the manpower or expertise on campus. In this post I want to talk more about the panel software running on the server that allows users to create subdomains, databases, software installs, email addresses, and other powerful things to make it truly a flexible open space for publishing and being on the web. For the pilot of Domain of One's Own we used the Parallels Plesk control panel software. Plesk is a robust control panel for web hosting that allows you to have "customers" with their own control panels completely segregated. Combined with the Customer and Business Manager Add-On you can have users sign up as customers and automatically be provisioned hosting with their account on the server. During the sign up process the user (in our case students and faculty) would create a new account, choose their domain, and "checkout". In a matter of seconds the hosting would be setup and a confirmation and welcome email sent to the user (the caveat to this was the domain registration for us which took a lot longer because it was not automated at the time and required a support ticket). Once the user's hosting was provisioned they could log in and have full access to begin building out their space. So what do I mean by "building out their space"? Here is just a small sample of the things available to our students and faculty using the system:
- Creating subdomains (http://whatever.mydomain.com)
- Creating personal email addresses (firstname.lastname@example.org) that either hosted the email on the server or forwarded to another address of their choice.
- Installing software (Plesk comes with an Application Vault with lots of open source software including Wordpress, Drupal, etc to make this a matter of a few clicks)
- Creating databases
- Managing their DNS to point specific domains to custom services like Tumblr or UMW Blogs
- Managing their file system
Viewing statics about the traffic to their domains
For many of our students this was brand new territory for them so we put together a lot of documentation (still an ongoing process) with tutorials on how to accomplish these tasks. Using the administrative account also gave us full access to see everyone's control panels to help them troubleshoot specific problems as they came up without having to request their account information. We chose Plesk because MediaTemple provided it as part of their dedicated virtual server offering and to be honest, this was all a new horizon for us and having a system installed for us was one less hurdle to implementing the pilot in such a short amount of time and for such a large group. That being said we will likely not use Plesk after the pilot is over and we roll out the project to all freshman. I won't say that it has been an unpleasant experience using Plesk, but the support leaves a lot to be desired and third party support is severely lacking. One example of this is that Plesk does not support Active Directory for logins (so our students wouldn't have to create yet another ID and password for a university system). This is a fairly common request on enterprise systems, in fact here's a forum post from 2006 (!) looking for information on integrating active directory with Plesk that got zero responses. If it can be done I have found no documentation on how. We also ran into issues with creating the signup process because we couldn't put authentication on Plesk's online store. To get around that we had to create a custom form for users with a single password shared amongst the classes involved in the pilot that would allow them to choose their domain and then forward them into the Plesk store to complete the hosting signup. Even though most of it was automated, it was still not a coherent process and what should have felt like checking out at Amazon ended up generating quite a few questions from students and problems during the signup. This wouldn't be such an issue for a company like Plesk if they had robust third-party support for integrating functionality via plugins, but sadly that is not the case. While I have found a few software offerings that integrate additional functionality into Plesk, it is few and far between. The majority of support I find for panel software goes to cPanel. If you have hosted your own space in the past you might have used cPanel without knowing it. Popular hosts like Bluehost use it for their panel. cPanel has clearly made it easy for third-parties to integrate into their system, just take a look at the large application catalog on their site. There's even an iOS app for users to manage their space on the go. Migrating will likely be a large headache for us (although as it turns out cPanel will migrate you to their system from an existing service for free) but it seems worth it for the gain of having a panel with much better support, a robust environment for developing on, and much better integration with other services. Ok, enough flag waving, this is sounding like a paid post and it isn't. Hell, I might regret thinking of moving the project off of Plesk, who knows. Ultimately everyone implementing a project like this will have to come to their own conclusions and Plesk and cPanel aren't the only options out there (although they are clearly the 2 largest). Since this software is where your users will spend the majority of their time it's important that the user experience is top notch. Demo the various platforms out there and see what makes sense for you.