The first issue you will face when setting up your website is where are you going to host the website. Simply put, this is the home of your website and the place users will need to direct their browsers if they want to see what is on the site. You can choose to actually host it in your home, but will have to deal with a number of issues including:
Unless the website you plan to build is a simple static website with just a few pages, you would need a decent sized server which has the processing capacity and the storage space to run your website and all the attendant software that is required. You would also need to have RAID (Redundant Array of Inexpensive Drives) to ensure complete back up of your server data. A high-speed data connection is required to ensure fast server response to user queries. Software can also be expensive, especially at the server end. You would also need trained IT manpower to handle your server and this does not come cheap.
The easier option is to go with a web hosting service. These are companies that will host your website for a fee. Web hosts generally have huge server farms and high-speed internet connectivity (dedicated T3 lines in some cases). They also have trained manpower available 24/7 to take care of the servers and the sites that are hosted on them.
Once you decide on a hosting service you will find the options are capable of filling up several supermarket aisles and are tailored to suite the budgets and requirements of almost every type of business. The more common hosting options include:
Free Web hosting: You donít have to pay any fees, but there is always a charge. In this case the host generally allows for free hosting provided you give them ad space on your website.
Shared Web hosting: In this scenario, you share server space and resources with other websites. You generally also share the IP address, as one server is allocated one IP address. This kind of hosting is really cheap with plans starting as low as $5 per month. However, shared resources means the performance of your site is dependent on the other sites on the server.
Virtual Dedicated Server: Similar to shared web hosting, with some crucial differences. The resources are allocated per site, so the resource you get in terms of bandwidth, processing and memory is fixed. Also possible for you to get your own IP address. A VDS is slightly more expensive than shared server, but has far more features.
Dedicated Server: This is your own server. Since you own all the resources, you can pretty much build out the site the way you want. However, managing such a server can involve costly resources at your end. These are the most popular hosting options, but there are many more. You can read more about them here:
Most hosting providers offer a plethora of options that you can pick and choose from to suite your needs. Some of the most popular choices you are likely to be offered are
Unix/Linux Hosting: The choice of the server operating system is critical as it influences all other decision regarding your website. Unlike the Windows-dominated desktop world, there are a number of choices on the server platform. Unix/Linux OS is estimated to run a little under 50% of all the web servers worldwide. Part of the reason is historical. UNIX was the first OS for web servers. UNIX is also part of the Open Software Foundation, and therefore is available very cheap, leading to its proliferation on the server platform. The way UNIX is constructed makes it a very robust platform for mission-critical apps like servers.
Windows Hosting: Similar to the desktop OS that most of us have used, Windows OS for the web server has about 20% of the total server market. While there have been concerns about security and the vulnerability, the server OS is robust and most IT managers who use it are confident enough to run their most sensitive data services on it. Current version of the OS is Windows Web Server 2008. Launched in Feb 2008, it shares the Windows Vista platform.
Mac OS Hosting: Like Windows it is also possible to run a web server using the Mac OS. The latest version of the Mac OS, in fact, has the Apache web server integrated into it. Considering that Apache is the most popular variant or version of UNIX for running web servers, this is a strong and secure OS. There are very few Mac OS implementations on the server side, simply because Apple does not really push this business very aggressively. The ones that are there are probably run by Mac aficionados.
Free BSD Hosting: FreeBSD is a Unix-like operating system. The goal of the FreeBSD Project is to provide software that may be used for any purpose and without strings attached. FreeBSD can be used free of charge, even by commercial users. Full sources code is available and there are hardly any restrictions on its use. Users are also free to add, modify and repair any bugs in the code as they deem fit or necessary for their work. Free BSD Hosting has many takers on the web, but generally is reserved for the more technically sound site owners.
Unique IP: The issue of unique IP or shared IP comes up when you are sharing a server. With a Virtual Dedicated server and a Dedicated Server you get your own IP. However, when sharing this might not always be true. While owning your IP address might cost more, in the long run it is advisable as sharing an IP address could mean you getting black-listed for no fault of yours. For example: if you are sharing the IP address with spammers, chances are search engines might blacklist or ignore the IP address, this means your site can virtually disappear. A Unique IP address is also required for having a unique secure server certificate for your domain name and for running your own mail server.
Sub Domain: If you opt for a sub domain for hosting your website, your url will carry your name as well as the main domain. Your url will be something like this: www.youname.maindomain.com. It is generally used by sites to regulate traffic flow. For example: popular sites like Yahoo and Google can use sub domains to drive traffic to support servers if their main servers are busy. So yahoo has sub domains like mail.yahoo.com and answers.yahoo.com. While it works for the big guys who have their own domains anyway, it is not recommended to share a domain for the same reason as sharing an IP is not recommended. Getting your own domain can cost as little as $10 a year and many hosts will be happy to do the registration on your behalf.
Adult Content: Due to strict regulations in various countries many web hosts are wary of hosting adult content.
Price & Guarantee: When evaluating your web host, it is critical to examine what you are getting for your buck. The price/month is fees you pay to the host. In addition, some web hosts charge a one time set up fee for administrating and setting up your account. You will also know how much disc space and bandwidth is available.
Uptime Guarantee: Most web hosts promise 99.9% uptime for the server. While this sounds fantastic as a percentage in real terms it means your website could be down for 43 minutes in a month. The table below illustrates how much time you loose every month due to the uptime guarantee. When choosing the right web host, do the calculation and figure out if it will be more costly for you to go for a higher uptime guarantee or you can live with your server being down for longer periods of time.
Calculating the real cost of Downtime
Minutes working per month
Loss of Minutes per month
Email Features: It is important for businesses to have email accounts linked to their website. For example: email@example.com. Web hosts generally charge separately for setting up an email server. It is best to get package deal. The deal will list out the following
Email accounts: Generally most hosting service provider will allow you to create generous number of email accounts on your domain/server. How many can you create like firstname.lastname@example.org, email@example.com etc.
Email Aliases: An email alias is simply a forwarding account. You might want to have generic email accounts for your site visitors. For example: firstname.lastname@example.org, email@example.com, firstname.lastname@example.org. These are generic email ids that help a visitor identify the right department to send a query to, without having to search too much. These email ids are linked at the backend to a person, thereby creating an alias.
Auto-responders: An auto-responder is a message programmed in advance. It could be something as general as ďThank you for your query, our staff will respond in the next 24 hours.Ē Most businesses use auto-responders as the first line of response to queries received on their public email ids. These are then followed up with query specific responses by the concerned department.
Email Forwarders: Most email software these days come with an email forwarder option. This gives you the ability to forward email received in one account to another of your choice. For example all mail received on email@example.com, can be forwarded to firstname.lastname@example.org or any other email id.
Backup Options: This refers to the frequency with which your web host backs up content on the site. Obviously the more frequent the better it is. Most hosts offer daily back ups of the server and this is good enough. Weekly and monthly backups are recommended for sites that are not changed regularly or are not receiving heavy traffic. If however, your web host does not provide any back up option it is best to do so on your own, even it is on your PC.
Scripting Support: Web hosts will provide you with different scripting options for creating your website. The more popular ones are:
ASP.net: Was launched by Microsoft in January 2002, as an improvement over the earlier ASP. ASP.NET attempts to simplify developers' transition from Windows application development to web development by offering the ability to build pages composed of controls similar to the Windows user interface. This is currently the programming standard for building websites on Windows web server.
CFML: CFML (ColdFusion Markup Language) is considered to be the easiest language to get into for web site development. It has been around since 1995 and is therefore pretty robust. However, your use of CFML should be decided by your website developer. If you intend to develop your own website and have no programming language, this might be a good place to start. However, if you are using a professional site developer, it would be best to go with the language they suggest.
XML: Short for eXtensible Markup Language. XML improves the functionality of the Web by letting you identify information in a more accurate, flexible, and adaptable way. XML, in combination with other standards, makes it possible to define the content of a document separately from its formatting, making it easy to reuse that content in other applications or for other presentation environments.
JSP: Short for JavaServer Pages provides a simplified way to create web pages that display dynamically-generated content. JSP pages use XML tags written in the Java programming language to encapsulate the logic that generates the content for the page. It passes any formatting (HTML or XML) tags directly back to the response page. In this way, JSP pages separate the page logic from its design and display. JSP technology is part of the Java technology family. JSP pages are not restricted to any specific platform or web server.
CGP/Perl: The Common Gateway Interface (CGI) is a protocol for interfacing external application software with a web server. CGI defines how information about the server and the request is passed to the command in the form of arguments and environment variables, and how the command can pass back extra information about the output in the form of headers. Perl was originally designed to help UNIX users with common tasks. However, it has since been adapted to be an interface to the web. Perl is used for making websites dynamic and user interactive.
PHP: PHP stands for PHP: Hypertext Preprocessor, with that PHP standing for Personal HomePage [Tools]. This type of acronym is known as a retronym. PHP is an Open Source general-purpose scripting language that is suited for Web development and can be embedded into HTML. Its syntax draws upon C, Java, and Perl, and is easy to learn. PHP runs on many different platforms and can be used as a standalone executable or as a module under a variety of Web servers.
Python: An object-oriented programming language, it offers support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Python runs on Windows, Linux/Unix, Mac OS X, OS/2, Amiga, Palm Handhelds, and Nokia mobile phones. Python has also been ported to the Java and .NET virtual machines. Python is distributed under an OSI-approved open source license that makes it free to use, even for commercial products.
Databases: It is imperative for the information in a dynamic website to reside in a database. Like with programming languages there are many stable database options to choose while building your site. A few common ones include:
MySQL: Generally considered the most popular of all databases to be used in web servers, the MySQL site lists more than 100 million downloads of this popular software. MySQL is an Open Source Relational Database Management System (RDBMS) that is compatible with a host of operating systems. These include: AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, Novell Netware, OpenBSD, OpenSolaris, OS/2 Warp, IRIX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare and Microsoft Windows among others.
MS SQL: This is a Relational Database Management System (RDBMS) developed by Microsoft and its latest version is SQL Server 2008. This aims to make data management self-tuning, self organizing, and self maintaining with the development of SQL Server Always On technologies, to provide near-zero downtime. SQL Server 2008 also includes support for structured and semi-structured data, including digital media formats for pictures, audio, video and other multimedia data. In current versions, such multimedia data can be stored as BLOBs (binary large objects), but they are generic bitstreams. Intrinsic awareness of multimedia data will allow specialized functions to be performed on them. Other new data types include specialized date and time types and a Spatial data type for location-dependent data.
Oracle: Oracle was the first Relational Database Management System (RDBMS) to support Structured Query Language (now an industry standard). It is build by Oracle Corp., and is very popular with Fortunate 500 companies, for company-wide as well as internet databases. Oracle targets high-end workstations and minicomputers as the server platforms on which to run its database systems. Along with Sun Microsystems, Oracle has long been a champion of network computers.
Postgre SQL: This is an object-relational database management system (ORDBMS). This is also an open-source program and thus can be freely used and changed. Postgre is not controlled by any company, it has a global community of developers and companies that constantly add to it and do bug fixes.
MS Access: Access is part of the Microsoft Office suite of products that are popular on the PC platform. Access is a database management program that is good for creating small databases. Though it works with XML data files, Access is not considered appropriate for web-based applications as its forms and reports only work in Windows. Therefore, it cannot be compared to an ASP.NET or Java/J2EE solution. The Access Jet database is a file based system and does not have the features of servers such as SQL Server, Oracle, or other ODBC compliant databases. It also doesnít have the overhead, hardware, or licensing requirements of server based solutions. People can use Access databases for web-based solutions when the number of users is small or if it's just delivering data without editing. Programs like Microsoft FrontPage and many ISPs offer Microsoft Access as a database storage option.
Ecommerce Options: Ecommerce on your website provides you the ability to sell products and services through your website. For providing ecommerce on your site you would need the following:
Shopping Cart: There are generally two types of Shopping cart systems widely used today
The hosted solutions works best for small businesses, and for people without too much technical know how or the resources to set up one themselves. The own shopping cart system works for larger businesses that have the manpower and the resources to set up and monitor their own ecommerce business. There are a number of shopping cart solutions as well as providers who can build a custom application from scratch. You need to figure out your ecommerce ambition before making your choice.
Mailing List: Simply put a mailing list is a list or database of email ids to which you can send information, generally about products or services on your ecommerce site. Building a successful mailing list is critical to the success of any ecommerce business. Most ecommerce hosts do provide a mailing list option. However, with the increasing concern over spam sending to mailing lists is fraught with danger both for you and for the web host, especially if you are sharing an IP address and a server. While this is a critical component of your business, do familiarize your self with email etiquette and anti-spam rules. While at it, check out white-listed email senders and see how they will add to your business.
Store Builder: Store Builder software allow users to add, delete, or temporarily hide products, change prices, set up sales and promotions, pick up orders securely, manipulate graphics, and integrate the online operation with existing accounting and inventory systems. Store-building software keeps product information in an online database that contains fields such as product name, SKU, descriptive text, price, weight (to calculate shipping), and the file name of the product photo. The merchant easily selects which products appear on store pages. Store-building software can assign a department or sub-department to each product, so they are easily linked to the store's menu structure. And since all the products and page locations are in a product database, it's relatively easy to search the database for keywords and locate products.
Secure Server: This is a kind of web servers that supports security protocols required for enabling ecommerce applications on your site. These include SSL that encrypt and decrypt messages to protect them against third-party tampering. Making purchases from a secure web server ensures that a userís payment and personal information cannot be easily deciphered. Common security protocols include SSL, SHTTP, PCT and IPSec.
Site Access Tool and FTP: The kind of site access tools provided by your host will determine your ability to manipulate data on your server. Some of the more common ones include:
Control Panel: Most web hosting companies will provide a control panel as a web-based interface to your web hosting account features. These help with managing your web hosting account, such as configuring email addresses; as well as more advanced features, such as creating mailing lists or changing MX records. Some common control panels include Plek, cPanel, Ensim, H-Sphere, Hosting Controller, Webmin/Usermin and VishwaKarma. cPanel is the most popular among web hosting companies, and allows you to customize the look-and-feel of the control panel using themes.
Anonymous FTP: A host that provides an FTP service may additionally provide Anonymous FTP access. Under this arrangement, users do not strictly need an account on the host. Instead the user typically enters 'anonymous' or 'ftp' when prompted for username. Anonymous FTP is also a means by which archive sites allow general access to their archives of information. These sites create a special account called "anonymous". User "anonymous" has limited access rights to the archive host, as well as some operating restrictions. In fact, the only operations allowed are logging in using FTP, listing the contents of a limited set of directories, and retrieving files.
Front Page Support: Microsoftís FrontPage is basically a web editing tool for novices. It allows non-programmers and developers to create websites and pages and upload them onto the server. Front Page also provides site administration tools for the Windows Server OS. FrontPage has been replaced by Microsoft Expression Web and Sharepoint Designer, which were released in 2006. However, this is still a popular tool for many tech novices to build their sites.
Shell Access: Shell Access on a Unix server is access to a command prompt on the server. This enables you to issue commands - for example, for changing permissions on files, copying, moving, deleting and such. On a dedicated server, you will have root access and you will be able to compile and install programs, update and patch your system and a whole lot more.
SSH: Secure Shell (SSH) is a protocol that allows data to be exchanged via a secure channel on the internet or any other network. It is generally used on Linux or Unix-based systems to access shell accounts.
Miscellaneous Options: Include server side that your host will provide you. Some of the common information you can seek from your web host provider include:
Graphical Stats: A graphical representation of your server traffic usage. Some of the stats tools can be very detailed and provide valuable information and insight into user behavior on your site.
Raw Logs: If your host does not provide you with user stats, then the way to get the information is to get the Raw Logs from the serer. Typically each line of Raw Logs shows the userís IP address, date and time of access, type of request, document, http status code, bytes transferred, referrers and user agent info. Analyzing raw logs might be more time-consuming that looking at server stats, but it gives you fantastic info into usage patterns on your site.
Real Audio: This is an audio player developed by Real Networks. It is currently the most popular online music platform, for the simple reason that it limits the usersí ability to copy the audio files. Users can only play it when online. What this means on the server and host side is that a whole lot of bandwidth is consumed by websites that offer Real Audio on their sites. Many hosts are reluctant to provide this feature and if streaming audio is part of your business plan, you might find your host is not in tune with your requirements.
Real Video: Developed by Real Networks it is a way to stream video content on the web. Real Video and Real Audio are together available in a Real Media package. Again the issue here is server side bandwidth. A site serving up video and audio tends to hog bandwidth and web hosts might be reluctant to provide this to you, or would charge higher for including it in your package.
Shockwave: This is Adobeís web-based multimedia tool that is increasingly popular with game developers. Though initially developed for use as a movie authoring and rendering tool, it is primarily used for developing and playing back online games. It is a bandwidth resource hog and if you plan to provide games off your server, you need to check if your host is willing to support Shockwave.
Customer Support: It is critical when signing up with a host to get the right kind of customer support for your server. The common types include:
Email Support: Where you can email your queries. Typically hosts ask for a 24 hours response time, though most of them respond during business hours. This works best for small businesses that need a web presence, but donít use it for anything beyond promotional activity.
24x7 Phone Support: Becomes critical if you are running ecommerce applications off your site. Some hosts do provide this but charge extra for this support.
Toll Free Support: Generally available during office hours it works if you are located in the same time zone as your host provider. Also toll free generally has geographical limitations, so a web host might not be able to provide Toll Free Support across different countries.
Helpdesk Support: Many web hosts have active Helpdesk that help you navigate the complexities of managing your server. These can be 24x7.
Live Chat: Similar to Helpdesk support with the added benefit of getting your web hostís technical person walk you through the issue or problem.
Instant Messenger: Similar to Live Chat but using an Instant Messenger platform like MSN, gtalk etc.