There are a few ways of resolving this problem, however they will, I suspect, all boil down to the same thing.
The "Crude/Bare metal" way of doing this - Have a look in /etc (ideally as root), and you will find a number of directories rcX.d as well as a directory "init.d".
If you look in one of the rcX.d directory you will see it is full of files which are symlinked to /etc/init.d/filename. The "S" at the beginning of the file means "start". The number which comes next indicates the order files should be run in.
When the OS initiates/changes runlevel, it runs all the file for that runlevel, ie for runlevel 2 it will run /etc/rc2.d/S* - If the file is not symlinked in it won't start when the runlevel starts. To check the current runlevel you can type "runlevel" which will return the currently running runlevel.
You are probably interested in runlevels 2-5 - you can find a list of the runlevels here
If you want to add a program to the appropriate runlevel you can simply create the appropriate symlink. The way I prefer to do it though is to install "chkconfig". I don't know if this is a version of the Redhat script (Syntax is not compatible, but very close) - but this command will allow you to view and change what programs work at runlevels.
chkconfig -l Will show all programs and their runlevels, and chkconfig -l progname will show runlevels enabled for a given program.
To make a program run for a particular runlevel (or multiple runlevels) you can use chkconfig progname Runlevels, eg chkconfig sshd 2345 will ensure sshd runs when you enter runlevel 2,3,4 or 5.