In the life of a computer system (or computer systems), you will have failure. It is inevitable. No operating system is perfect, and will provide 100% uptime. You can get very close, but inevitably, the chain will break at its weakest link.

This post is about that ‘getting very close’.

Designing your network / system

Don’t base your network completely on one operating system.

Diversity is truly the key to making a system more secure. If you have a virus, or perhaps a piece of buggy software on multiple identical systems, it will fall like dominoes. While it is somewhat easier to manage computers that all use the same operating system, a network is considerably more robust with multiple systems.

Consider a component stereo system vs a ghetto blaster. If one component like the DVD player, speakers, or the cassette player (yes, admit it, you still have one) goes on the fritz - the other components still function. A broken ghetto blaster? Might as well buy a new one, and this is where the metaphor breaks down, because computers are great deal more expensive and time consuming to set up, than a portable stereo system.

- if you do use multiple operating systems in your work (or play) consider a dual or triple boot system. This can also be a lifesaver if something goes wrong with one of your OSes.

What is becoming more popular these days in the software development is the use of virtual machine software to run multiple ‘virtual’ computers on a single machine. You now have the option of running multiple operating systems on your WIndows, Mac or Linux machine without all the hardware. You can test multiple environments for your application (or website), or run all your favorite server software all on one machine.

Each virtual machine has an image of itself - sort of like taking a picture of its hard drive and hardware setup. The great part about a virtual machine is, if the image ever gets corrupted, all you do is re-install the original backup image of the computer, and you are off and running again.

Have a backup plan

No, not just a piece of backup software - an actual plan.

If you have one computer:

- back up at least once a week, to a removable hard drive, or flash drive

- make incremental backups using a DVD burner as well

There are a number of affordable (and automatic) consumer backup systems out like Apple’s Time Machine and HP’s Media Server. Find the one right for you and your computers.

if you have multiple computers on a network:

- back up all important files on each computer, to a central storage server

- use two removable hard drives for backup

- use one hard drive for backup one week, and the other next week

- keep one hard drive off site at all times.

- on your computer’s hard drives, split it up into ’system’, ‘programs’ and ‘data’ partitions

We all have the nasty habit of filling up our hard drives with clutter, and we don’t pay attention, until that fateful day our computer says our hard drive is too full. Having your hard drive broken up across multiple partitions, (and not saving on the ’system’ partition) allows you to be able to still run your computer, if the ‘data’ partition gets full.

- install anti-virus software and schedule it to run a full system scan once a week (on each computer)

- if you do computer programming, use a version control system (and back that up as well)

Security

- get a router/firewall

Preferably both a hardware-based firewall, and a software-based firewall for all your computers.

- use strong passwords for all your systems

Crackers (people who break into computer systems) use an automated program which rifles through commonly used passwords to break into systems. I used to have a linux server at my house, and on occassion I would see these long lists of ‘dictionary words’ that they use to try to get ‘root’ access to my system. Not once did anyone get in. My secret? Strong passwords.

Use upper and lowercase letters in your password, as well as punctuation and numbers. If you have trouble remembering complex passwords, use a l33t-like password (the letter ‘E’ is replaced by the number 3). These passwords are more random in nature and thus harder to figure out.

If you run Windows, have a knowledgeable technical person go through a security checklist to plug the security leaks, and shutdown programs that run in the background that you may not actually need running.

Summary

I’ve listed a few of the ways here to get your system (or systems) setup for the long haul. Diversity is a good defense against failure. Plan your strategy to backup your computers. Have firewalls in place. Don’t use ‘admin’ or ‘god’ for a password. And keep your stick on the ice.

I recently picked up OS X 10.5 for my G4 mac mini. My mini came with 10.4 installed and I had completed the setup for a print server before. My family has three laptops with varying windows Oses that need to use HP Deskjet 9650.

Thankfully, the latest version of OS X makes the process *relatively* easy. Hope this post helps.

If you were to try to setting up your windows machines now you would most likely still not be able to print. The OS X system log would probably have errors about specific usernames not being allowed access to the printer.

In OS X 10.5, in the setup out of the box, you have to specify the users that are allowed to use the printer.

1. In the System Preferences - > Accounts

Don’t worry about user passwords for these accounts that you are setting up. OS X just wants to know that this user exists. It doesn’t make you even use your windows password.

This will take you to the web-based administration page of the CUPS system for your Mac.

OS X uses the C Unix Printing System to manage printers.

You should see something like this.

Go to ‘Manage Printers’

Go to ‘Set Allowed Users’

Type in the windows users that you want to give access to the printer; type the usernames seperated by a comma.

Click ‘Set Allowed Users’

If there are no errors, you should get a message stating that you’ve updated CUPS successfully.

Under OS X 10.5, you must specify the same username in both places to get printer sharing working.

NOTE:

This post is based on the default authentication settings that OS X 10.5 has out of the box. As of this writing, I have not investigated the other authentication schemes such as Active Directory which are included in OS X but are not enabled. Although it is entirely possible that you might be able to configure printer sharing for these other authentication schemes, it is not the scope of this tutorial to discuss those methods.

CUPS uses .ppd files to setup various options for the printers that you install. On your windows machine when you specify things like paper type, and printing quality - on the print server side, CUPS uses the .ppd to figure out what the client computer wants. The .ppd file that is installed for the HP 9650 on Mac OS X 10.5 by default, doesn’t describe the features and options of the printer in great detail - so when your windows computer attempts to send a document to the OS X print server, you either get an error, or some printing results that you didn’t expect.

There is another .ppd file installed on OS X, that we can use to get the options that we need.

Note: The setup here covers both XP and Vista. HP does not support the Deskjet 9650 under Vista, but you should be able to use the Generic MS Publisher Color Printer driver to facilitate printing from Vista.

In the Printers and Faxes window, right click in the white area of the screen and choose ‘Add Printer’

Click ‘Next’

The Add Printer Wizard will come up and ask you whether you want to set up a local or network printer. Choose ‘network printer’.

Specify a printer

It will then ask you specify which printer you want to connect to and offers a few methods to find it. The last option, “Connect to a printer on the internet or on a home or office network”, is the one that we want.

The syntax for specifying the printer is as follows:

http://<hostname>:631/printers/<printer name>

Where:

<hostname>

is the name or IP Address of the mac that hosts the printer

<printer name>

is the name of the printer that you specified in the OS X system preferences.

If your home or office network is configured for dynamic IP addresses (DHCP), then use the name of the mac you are trying to connect to. Otherwise, the IP address is a relatively safe bet for the Windows client machine to find the mac on the network.

The wizard will then ask to specify a driver for your printer.

If you have XP:

Select the driver that you installed earlier from the list.

If you have Vista:

Choose ‘Generic’ and then ‘MS Publisher Color Printer’.

Specify whether or not you want to use it as the default printer and press ‘Next’. The Wizard will then finish and you will see a new icon in the ‘Printer and Faxes’ window.

Try printing from your Windows machine now.

Troubleshooting

If you are still having problems with getting your print server to work, the best way to troubleshoot the problem is to check the OS X Console Log for CUPS.

It will give you at least a step in the right direction to finding what is wrong with your setup.

This tutorial is a *work in progress* and was done after I had finished putzing around getting this to work properly. If there is something wrong with this tutorial, please let me know so that I can correct the problem.