We're in the process of creating a shared webhosting infrastructure for our university. Departments within the university can host their sites on this infrastructure. We're thinking of setting up multiple, load balanced web servers attached to shared storage (for web content and Apache config files). There will also be database servers behind these web servers. Does anyone have any other suggestions about this? Any recommendations for an alternative setup? Would having cPanel/WHM/Plesk be a good idea to automate account creation/maintenance?
closed as off-topic by HopelessN00b Jan 22 '15 at 6:56
- This question does not appear to be about server, networking, or related infrastructure administration within the scope defined in the help center.
locked by HopelessN00b Jan 22 '15 at 6:56
This question exists because it has historical significance, but it is not considered a good, on-topic question for this site so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. See the help center for guidance on writing a good question.
Read more about locked posts here.
I work for a university with around 21,000 students. We've been providing this service for some time through fairly simple means. Historically we've had both Apache and IIS environments for departments to use as a web-host. Right now we're going through an upgrade to improve reliability, putting multiple Apache hosts using the same storage behind a hardware load-balancer that also does the SSL heavy lifting for those few sites that need it.
The big thing that changes my answer to your question is the question of scale. We already have a Web Services group that acts as the mediator between departments and the back-end work to build up a new site, and they work actively with the department to figure out whether a full site or a sub-site on the shared host is better for their needs. We get a couple of new such sites a year. This works for us.
However, a friend in a university at about the same size but significantly larger endowment is managing many more physical web-servers than I am, as departments have historically demanded physical separation and got it. Moving to an architecture like ours would be a hard political fight for them, so they're not doing it.
If you expect to be building more than, oh, 10 a year, you may see gains by automating the process. Pent up demand may make the first year much higher than later years, but you're a better judge of that than we are. Ultimately such tools will make the process easier, but if demand is low enough the effort of maintaining the cPanel/whatnot environment may outweigh the effort of hand coding a few sites.
The university I was working at recently were working towards implementing a single commercial CMS system which all the departments would be encouraged/made to use. I can see their reasoning - it centralises all the management, and it helps encourage single policies on artwork, design, security, etc. Historically the departments had all just run their own servers, delegated through dns, and with the central web team running the main site and htsearch. Webmail, library and online systems were all managed centrally by the IT department.
You'll want to think about the technical competencies and size of the departments in considering how much you want to hand over the control to them and how much you want to handle centrally.
If we're just talking hosting for departments then I don't see there being any need for cPanel, and indeed that'd just complicate matters. cPanel might come in handy if you're providing separate hosting for every staff member (which is probably a good idea) or every student (which probably isn't a good idea based purely on amount of resources it'd take up).
I'd consider first determining what group(s) you want to support, surveying the the needs of those groups, and then determine what services you're willing to provide ... then you can worry about architecture.
When I worked for a university, our gopher server slowly grew to become the main university webserver -- in the end, we had over a thousand accounts, because any group within the university just needed a staff member to sign off on it. This meant we had whole schools & departments, but also student groups, faculty member's pet projects, etc. (oh -- and we had no infrastructure to identify when groups were defunct, or when staff members had changed, etc, so we had no way of cleaning up old accounts).
If you really want it, I can give you the design I proposed to meet the 'requirements' that some contractor proposed to the university, and then insisted he could build and after months of showing us nothing finally shipped us grey market hardware with empty storage arrays.
(I'm mostly bitter because we were weeks away from deploying a two machine sun cluster to replace our aging infrastructure, and I had implemented a rather messy system to deal with people logging in using their individual LDAP credentials to the system, but then having access to a group directory structure for data, while Solaris didn't have good provisions for group quotas, and even had to write connectors for ColdFusion that wouldn't fail over the CF server if it was really a webserver failure)
These days, I'd probably go with more virtualization -- 7 years ago, our contractor insisted on throwing everything on a two machine cluster (two versions of iPlanet webserver, apache, chilisoft ASP, ColdFusion, PHP, Oracle, mysql and some other databases, etc, etc. [note, I was originally building iPlanet + ColdFusion + Oracle, and that was it]) I think my proposed replacement was a rack full of 1U and 2U boxes, but there's not so much need for separate hardware these days.
So, the reason for this story (besides venting) is -- you can try to provide everything available under the sun, no matter if your community needs it or not, or you can do some requirements analysis and meet the needs of the majority of the community without giving yourself something that's near impossible to maintain.
We're in the process of creating a shared webhosting infrastructure for our university. Departments within the university can host their sites on this infrastructure..
I'd strongly recommend rethinking the architecture and gathering requirements before deciding on a course of action. On the surface this sounds horrifically inefficient and difficult to manage compared to any centralized CMS system. (eg sharepoint or alfresco). The benefits of going to a sharepoint type system (particularly in a college environment) should be an easy sell for IT
That being said lets pretend there was a legitimate reason to create multiple web sites without a need for centralized information management and site management (usually politics is the justification/reason).
For all intents and purposes you would be running a shared hosting site just any other commercial web hoster would. Plesk is certainly a good way to go in a multiple OS environment, in addition plesk handles virtual and physical server management.