How to Launch a Web Site
Step 2: Develop Your Content
- Development Languages
- PHP
If you need to be doing any server-side development (to process forms, access a database, etc.), I strongly recommend PHP. It is free, robust, very powerful, and easy to learn and use. With PHP you can get a dynamic site up and running in days!For a good book, try PHP for the World Wide Web Visual Quickstart Guide by Larry Ullman. For other PHP-related resources, please see our Web development SIG.
- MySQL
MySQL is the open source relational database of choice. It is fast, simple, and easy to administer. PHP integrates painlessly with it, and so does Java. Read Tips for Building Web Database Applications with PHP and MySQL for more info. - HTML and CSS
Obviously, you are using HTML to develop your website. A great book I continue to use is HTML for the World Wide Web with XHTML and CSS (5th ed.) by Elizabeth Castro. It's organized around things you can do on a web page, rather than by tags or tag types. The new sections on Cascading Style Sheets are extremely important, because no one should be doing all of their layout using raw html tags anymore. This is an essential book for any new web developer! - Javascript
I bought a book on Javascript, read it front to back, and came away realizing that Javascript was really a solution still looking for a problem (unless not having unnecessary dynamic stuff on your page was a problem).Since then, I have found a few good uses... such as focusing the input cursor in the first entry field of a form, or creating those cool (and functional) pull-down menus that appear when you mouse over them, or validating the entries on a form before it is submitted (although I still prefer to do form validation on the server).
If you must use Javascript, use it sparingly, and only to solve a problem. When I need to learn about it all over again, I always pull down my copy of Javascript for the World Wide Web.
- PHP
- Development Tools
- Text Editors
Yes, you can edit your HTML in Notepad or SimpleText, and a lot of people still do... but there's no substitute for a text editor designed for developing software which knows the syntax of programming languages. There are several available, including some X-11 versions of Emacs, but my two favorites are BBEdit for the Macintosh, and EditPlus for Windows machines. Both are relatively inexpensive, and will pay you back a hundred fold (you know, all the mistakes they help you avoid). - Spell Checker
Make sure you are able to run your HTML through an HTML-friendy spell checker. Nothing makes your site look unprofessional more than misspelled words (except maybe useless Javascripting...). - Web Server
I strongly suggest you install a web server on your own computer, so you can test out your pages before you put them out there for everyone to see. Apache Web Server is by far the best choice. It's open source, it's amazingly robust, and everyone out there is using it. Oh, and it's FREE. It runs on Windows, Mac OS X, Linux, and Unix. While you are at it, be sure to download and install PHP, too. - Image Editor
If you use images on your website (it's hard to find a site that doesn't), you at least need to have some rudimentary capability to manipulate images. as a minimum, you will need to re-size images, change their resolution, change their scale, and maybe even change their brightness or contrast. For the Macintosh, you must get Graphic Converter. This shareware tool is a virtual Photoshop, but the price is much nicer. On a Windows machine, you could get away with using the Microsoft Picture Editor and Paint... but you'll be happier with something like Photoshop Elements, which is only $85 at Amazon. - FTP Client
If you are going to move the files which comprise your web site to the server where they are hosted (read more about this in the next section), you need to use FTP to get them there. For newer Windows systems (i.e., Windows 2000 or later), it's beautifully integrated into the Windows Explorer. On a Mac, you can use the command-line version of FTP which is built into its Unix underpinnings, but I like a graphical interface for this kind of thing: Transmit. Sure, it costs a little money, but it's worth it.
- Text Editors
- Infrastructure
- Directory Structure
I always suggest that the files for a website be placed in a well-planned directory structure. It should be simple, and follow a couple of rules:- Any files which represent a get-able page (either HTML, PHP, or JSP) should be at the top level. If you do this, you can always use relative addressing of other web pages within your site, and to access support files in sub-directories.
- Any support files which are not themselves get-able pages should be placed in sub-directories. Examples: images, scripts, and include files.
If you structure your site in this fashion, you can deploy it anywhere and it will function normally.
- Any files which represent a get-able page (either HTML, PHP, or JSP) should be at the top level. If you do this, you can always use relative addressing of other web pages within your site, and to access support files in sub-directories.
- Configuration Management
It is extremely important that you keep previous versions of the files which make up your website, in case you lsoe the files to a disk crash, or updates you made break your site and require you to go back to the last working version.Some people simply create archive directories each time they deploy an updated version of their web site, and this is a good start. In addition, you may wish to try controlling your source files in a configuration management tool, such as CVS (Concurrent Versions System). CVS is open source software, and runs on just about every platform.
go to Part 3: Get a Web Host - Directory Structure


