04. Tools For the Journey

This page was last updated 05 November 2011.

Any project is easier with better tools. Here are some recommendations.

Local editor: Notepad++

You need to have a decent editor to create and modify command files, scripts, and other back-office parts to your website. It's also nice to have an editor that speaks web languages a bit. Sort of like having C3PO to translate for those moisture vaporators, you know?

Notepad++ is to Windows NotePad what an F-22 Raptor is to a Sopwith Camel: no contest. Unlike the Raptor, however, it's free, and may God bless programmers who give their creativity to the world for all to use (donations accepted). It's an editor that can handle all sorts of text, html, software source editing, etc. All this documentation was edited using Notepad++, with Notepad just whimpering in the corner, begging not to be deleted and forgotten.

To make it pretty: Paint.Net

Sooner or later, you will need to paint a picture or two for your site. Or just modify an existing one.

Paint.Net lets you create and edit pictures. Think of it as the source for better buttons, logos, and other interesting things. It's the whole Raptor/Sopwith thing compared to the Windows-included freebie Paint, and it's just as free. Download it even if you don't want to make your own logo, just because it's cool.

Firefox with Firebug and Drupal for Firebug: Browser/Debugger/Revealer

Part of developing and maintaining a website is seeing why things work, or don't work. Hey, that works for seeing how OTHER people built their websites, too.

Mozilla Firefox, the Firebug addon and the Drupal for Firebug addon give you a new browser with a built-in capability to view what's happening on a Drupal webpage, and in particular why it renders (displays) like you see it. To customize your website appearance, you must configure where modules go. To make it look prettier, you must edit the "style" information about the page. That will take some education, and Firebug will help a lot.

File manager and FTP client: Total Commander

For sure, you are going to need a tool to move files onto and off of your site, as well as copy things, rename things, and move things around. FTP is the way you do that.

Total Commander is a very useful tool for organizing folders on your local PC, with an integrated FTP client for connecting to your host server for transfer of files and such. It's shareware, about $40 (depending on exchange rate). Now, there are lots of free FTP clients, as well: search CNet.Com for FTP software, then click "Free" on the left column. CoffeeCup FTP looks good to me.

I use an older copy of Total Commander, myself: Windows Commander 5.0. You can download it as a self-extracting zip from our site here; it's also shareware.

Now, if you don't want to load an FTP client on your own computer, you will probably find a workable FTP solution on your hosting service control page. On Hostmonster, this is "Unlimited FTP", found on the cPanel control page.

Direct Session (TelNet) client: PuTTY

Finally, you need a tool to help you look under the hood, behind the curtain, and inside the brain... of your website. Direct session connection lets you do that, without having the server in your house.

PuTTY is the direct session connection client program we recommend. It lets you type commands directly into the server that is hosting your site, and lets you wander around the "backstage" areas. If you are a Linux user, you probably already use telnet sessions and understand command line operations, so you can probably skip this section, although you might still want to download PuTTY if you don't have it. If you are a DOS/Windows user, this is probably new to you, so read on.

If you remember DOS, you remember typing commands like "COPY" or "DIR" and such. If you don't remember DOS, just click Start/All Programs/Accessories/Command Prompt on your Windows machine, type "Help", and visit the hidden world that lives below Windows. Think of it as visiting with us Morlocks, though I cringe at the comparison of Windows users to the Eloi. See all those commands? They let you do things to your computer when you have to boot into SAFE mode/Command Prompt. Well, Linux has the pretty graphical interface, too, but it was built on the command lines typed on a black screen. If you use Linux, you're probably still typing commands occasionally, if only in a script. Command line control of your website is probably necessary, and it certainly makes it easier to visualize the stuff behind the curtain, because, well, you are behind the curtain.

A direct session with your website puts a window on your screen that looks like you are typing in the "Command Prompt" window provided by Windows. It allows you to interact directly with the server that hosts your site, and to control many things on your site that are normally invisible from the administrative pages under Drupal. I won't attempt to explain all the commands available to you under a Linux environment, but I will roughly explain a few. For all the commands, you can usually type the command word followed by "--help" to get simple instructions, or you can type "man " followed by the command word for a complete user "manual" for the command.

So, unless you've got something you like better, download PuTTY. You can view the whole website for the software here. The download is the executable program. PuTTY is so simple it doesn't even require "installation". Just download it and put it wherever you like, even on your desktop. When it starts, Windows might complain (because no homage was paid to Microsoft: it wasn't "installed"): it's OK to accept the program if you loaded it from a known source. You will then be confronted with a window asking for the basic options for the connection to your host server. Enter the address for your server in the Host Name box, click "SSH" for the Protocol, and be sure "22" is in the Port box. I suggest typing a name, like "MyCounty", in the "Saved Sessions" box, and clicking "Save" so that you don't need to enter the data again. To the left of the basic options boxes is a menu of various parameters for the session. Set them as you like, or just leave them alone.

A pause here for security: on Hostmonster -- and I'm sure on other hosting services, as well -- letting you set up a site is one thing, but letting you wander around the insides of the server is just a bit personal. So they will want to know exactly who they are dealing with. When you try to connect using a direct session, the host may not let you in. Check their hosting instructions, or call, to find out how to get authorization to connect using a direct session. On Hostmonster, they require a scan of a government ID with picture, either uploaded to your site by FTP, or faxed, or something. I just stuck the image in my site root folder, let them see it, and then deleted it.

After saving the parameters for the connection, click "Open" to start the session, and then log into the server, using the username and password provided for direct session connection by your hosting service. Assuming all is as expected, you will now be "talking" directly to your host computer, and can begin navigating the "back room" of your site.

Now, take a look at the prompt displayed in the session window, on the last line, with the cursor. If you are using Hostmonster as your host service, you will see your login account name, coupled with the domain name, as an email address, followed by "[~]#". The tilde character is indicating which folder you are currently "in", and "~" indicates that you are in the "home" folder -- that is, the root folder for your domain on the hosting server. For Windows folks, think of it as being much like your personal login account folder under C:\Documents and Settings. Commands you type in response to this prompt are terminated by pressing the RETURN or ENTER key, just as in DOS. One caution, however: in the Linux world in which you are now operating, the CASE of a character matters. The basic commands recognized by the server you are communicating with are all lower case, and will not be recognized if typed in upper case.

Command "ls" (that's "ell-ess")

To view the files in the DOS world, we use the "dir" command. In a Linux environment, we use "ls", and its more robust form "ls -ls". Try them, and use "man ls" or "ls --help" to get instructions. You will have questions, for sure, but you don't need to know every bit about the command to find things.

Command "cd"

To navigate the folders of your website using direct session access, you use the command "cd", which is almost exactly like the similar command in the DOS/Windows world. Typing the command "cd ~" will return you to the "home" folder. Typing "cd .." will move "up" one layer of the tree. To move down through the tree, you type the command "cd " followed by the path of the branches to take, just as you would in the DOS/Windows world, with one important distinction: instead of using "\" (backslash) to separate the folder names in DOS/Windows paths, you use "/" (slash), as you would in path names in Internet Explorer web addresses. Play with it; it's not difficult.

Command "mkdir"

To create a folder, navigate to the folder in which it should be placed, then type the command "mkdir " followed by the name of the folder you wish to create.

Command "exit"

To end your direct session, type the command "exit".

There are lots of commands available to you under the direct session, and they will be covered later.