Some students and alums have asked me for advice on how to best develop a web site. I try to steer them toward some free open source tools, because many of the projects are for non-profits. The ideal tool is a CMS, which is short for Content Management System. A blog can be considered a min-CMS, but a blog is usually one component of many in a CMS which will usually also contain a calendar, multiple pages, multiple members, newsletter, forums, photo galleries, forms and anything else that helps to create a full fledged web site.
As I was doing some research for this post I came across an article that reviews the three most popular open CMS applications currently available: Drupal, Plone and Joomla used by three different web design companies that specialize in non-profit web sites. Since the article says the same thing I would and then some, I going to link to it instead of writing the same thing. Check it out at idealware.org. These three programs won top places in the Packt Publishing 2006 Open Source Content Management contest.
There are many more than the three CMS's listed above. To learn more and get some first hand experience, visit OpenSourceCMS.com which host a wide variety of open source CMS applications, along with blogs, forums, wikis, and galleries for you to try for free. This save you the time of downloading and installing the applications yourself. They only host applications written in PHP and MySQL. To learn more about other CMS's written in Java, Python, among other languages, visit CMS Matrix.
This brings up an important point of CMS's. They usually require a server side scripting or programming language, such as PHP, Python or Java and a back-end database, such as, MySQL or PostgreSQL. Unfortunately, some of the servers that students and departments have to host web sites on do not support server side scripting languages and databases. Therefore, web sites have to be built and maintained the old fashioned way with individually linked pages. However, using CSS, XHTML and Javascript the job can be made easier. Learn more about them at W3 Schools. You can control the look and feel and feel a web site from a single CSS (cascading style sheet) file. For some fascinating CSS examples, check out the CSS Zen Garden. Menus can be maintained via a single Javascript file.
There is a free editor to help create and maintain your pages, called NVU. There is also a free graphics editor, similar to PhotoShop, called GIMP to edit your pages. To help give yourself a head start with the layout of your pages, check out Open Source Web Design.