Beginning Web Developer Course: Installing Your Web Software
Unlike the situation on some barebones dedicated servers, a shared server generally has a good selection of default software, which saves you a great deal of time and trouble installing and configuring it. Clicking on "Program Versions" in the lower left of cPanel brings up a screen showing you the system software already installed and running for you. Here's what I have:
As you can see, this goes quite a bit further than the simple basic LAMP (Linux/Apache/MySQL/PHP) installation, with the kinds of extras most of today's web developers require, especially Python, Ruby, and Rails (plus Zend thrown in for good measure). Even better, you generally don't have to go poking around the Internet to find higher-level software, because the odds are that it's already there waiting for you too. What you're looking for is cPanel's Software/Services subpanel:
This may look like a dizzying array of choices, but we can simplify it for you.
- Perl Modules, PHP PEAR, and RubyGems are all very similar front-end packages that let programmers easily load and manage hundreds of available software add-ons specific to those languages from their official repositories.
- "Optimize Website" is not the magic button it appears to be, but simply an easy way of globally turning on compression to the user's browser for either text or all content. What with broadband and the generally unlimited bandwidth of shared servers, this is somewhat obsolete. If you want to use it, I recommend text-only compression, since that gives the greatest amount of size savings for the least amount of extra CPU time used.
- QuickInstall, CGI Center, Site Software, and Fantastico De Luxe all help you set up or install various software packages, and so are exactly what we're looking for!
Software ParadiseLet's start with CGI Center. CGI (Common Gateway Interface) programs were very popular in the 1990s, but have fallen out of favor for high-traffic sites. Each time a CGI program runs, a new process is started, which is relatively heavy overhead if you're making lots of CGI calls. However, the simple functions provided by CGI Center don't generally run more than once per page, lowering their impact. The CGI offerings vary by hosting provider; on my account, I have guestbooks, counters, countdown boxes, form-based email, rotating banners, and a search engine. They're all pre-installed and ready to use, and clicking on the appropriate links will bring you to a page that provides simple setup and configuration information.
QuickInstall, Fantastico, and Site Software are essentially frontends for install scripts. Fantastico is a third-party addon for cPanel that installs dozens of popular software packages and is available from dozens of hosting providers, usually at no extra charge. HostGator, a popular hosting provider, developed QuickInstall in-house to perform similar tasks, and likewise Site Software is a front end for cPanel's own in-house frontend cPaddons as well!
So what's the big deal? Typical offerings include portal/CMS/blog software such as WordPress, Drupal, Joomla, Mambo, and PHP-Nuke, as well as things like PHPauction, PhpWiki, dotProject, LimeSurvey, Coppermine Photo Gallery, FAQMasterFlex, Zen Cart, OS Commerce, PhpBB discussion board, Help Center Live, and even Noah's Classifieds. There are usually several different packages to choose from in each category, too. The really big deal is that virtually all these installations are essentially a single click, because the frontend software takes care of all the pesky yet annoying details of configuring MySQL databases and editing configuration files that would be otherwise necessary.
Some web developers often are giddily tempted to install everything available and then play with the different packages to see which they like best...after all, it's all there and free. But you'd generally do better to quickly research the competing packages, perhaps trying them live online, and then make an informed judgment on which programs to actually install.
Unless you're cooking up some wild custom software, in which case you're probably better off with a dedicated server anyway, at the very least most people will be best served with one of the Big Three CMS packages (WordPress, Drupal, or Joomla). This will save you from scratching out endless amounts of HTML and CSS code and changes, not to mention graphic design. Some thoughtful browsing on the web through the free add-on modules available for your CMS of choice, together with a careful look at the packages available from your provider in this subpanel, will allow a savvy developer to quickly create a professional, easy to maintain site that's ready to make money...and isn't that what it's all about?