Wednesday, 22 April 2009

Creating my personal web site

As a software developer, I have been toying with the idea of creating my own personal web site for some time. This would give me a good understanding of the full life cycle of creating a web site - from registering the domain name, to deploying it on the web.

So, my first task was to register the domain name. With so many domain hosting companies available, I resorted to using the one we use at my place of work. When asking why we opted for this particular company over all the others, the reply was because they provided good support, and you could contact them on the telephone if necessary. So I registered my domain name with Easily. I only registered the name, and did not purchase any web space or other services. I had already discussed and agreed with a good friend that he would host my web site when it was ready.

My development platform of choice was going to be the .Net platform, using C# as my preferred language. I have the full version of Visual Studio at work, but not at home. However, Microsoft have a free web development application called Visual Web Developer. This is simply an excellent application for creating home or personal web sites. It contains all the web features contained in it's bigger sibling, but for free! I downloaded and installed this, and then made a start on developing my web site.

I had a pretty good idea of what my requirements were:

  • straight forward to create and maintain (so would implement good design principles and best practice)
  • easy to use and navigate
  • professional looking
  • allow users to register on the site (and optionally gain access to additional content, such as private photo albums)
  • grant me the authority to determine what access a registered user had on the site
  • contain information about me, hobbies, interests, resume and photo album
  • contain a link to my blog (this one) and my cycling reports

Luckily, the registration and configuration of the web site comes for free via the ASP.Net Configuration manager, which is built into Visual Web Developer. I could have written this myself, but why bother when Microsoft have already developed it for me.

To ensure that the pages all had a common look and feel, I used a master page. This ensured consistency throughout the web site. It would also ensure the web site would be easier to maintain and extend in the future, as I could make changes in one place that would ripple through the entire site.

It took me several months to develop the web site, involving many hours after work and at weekends. I was beginning to wonder if I would ever finish it!

When I eventually had a fully working version ready for test, I showed it to some of my family and friends for their consideration and feedback. I took on board their comments, and made the necessary changes. At this stage, I was primarily concerned with how they felt it looked, and with the wording of the content. As it was going to be on the Internet for the whole world to (potentially) see, I wanted it to be a true reflection of me.

Once I was happy with the web site, I then had to deploy it. As I mentioned earlier, although I had bought the domain name from Easily, it was going to be physically deployed on my friend's domain hosting servers. The benefit to this arrangement is that he has full access to the server, and can install whatever applications he chooses. He can also configure it to his own requirements, without having to make repeated calls to the support desk.

I took my web site and all its files over to his house one weekend, and spent most of the Sunday morning configuring it to work. Although the web site worked on my laptop, running in a test environment, deploying it under a web server is a different task altogether. The biggest differerence, and hence the main cause of problems is permissions and security. In a test environment, you will probably have access to all the files and folders your application requires. By default, when the very same application is deployed under a web server (Internet Information Services in this case), you have access to none (or very few) of these resources. This is obviously to prevent unauthorised access to your server's resources. So the task now, was to ensure that my application was granted access to the necessary files, folders and SQL Server databases to allow it to work. My friend did this configuration for me.

He gave me the DNS (Domain Name System) settings, which were then entered into my Easily domain account settings. This would take up to 24 hours to take effect. After a slight glitch by entering the wrong DNS settings, the web site was live.

It was a a great feeling when I navigated to my web site for the first time. It had been a labour of love, and had taken much time and effort to develop it, but it was certainly worth the effort.

My thanks to Ray for his help in deploying my web site!

1 comment:

  1. Nice to get more ideas about creating a website here. Good Post thanks for sharing and Good Luck.

    How to make a website