Jeff, the problem is that there is no "correct" way for the paths to be set - the correct settings depend upon how you want uber-uploader to be configured. This is actually a very good thing, for security purposes (different uber-uploader installations are likely to be configured differently on different servers and by different users), but that does presume that you understand how to determine the way you want your uber-uploader installation to be set up and how to translate that to the proper values for the necessary settings in the .pl, config, and ini files.
This is where you determine what directory is to be used by uber-uploader to store it's temporary files while uploading and processing. The correct path here will depend upon where you want that directory to be. In the first example, it simply uses the system's '/tmp" directory, which all users on your server can use for temporary storage.
The second example shows another potential storage location - the system's /var/tmp directory, which is another place outside your own "user" space where you can place temporary files. Either of these places will work on DreamHost, but will be outside your own user space.
The third example demonstrates how you might set up the temporary directory to be within a user's space, but that path is not right for a setup here on DreamHost. If you want to put that temporary directory in your own user space, but not have it directly accessible from the web, you could use a path assignment like this:
$TEMP_DIR = '/home/yourusername/ubr_temp/',
...where "your user name" is the user name of your machine user and "ubr_temp" is what you want the directory to be named (the default is fine).
The logic here is the same as in the first setting, except that this is the directory where the uploaded files will be stored, so you have some decisions to make about how you want to set that up.
There are probably two considerations here that are likely to be important to you - (1) Do you want the directory to be directly accessible from the web or not, and (2) do you feel comfortable having the directory in a "common" space outside your own user space?
Because system "tmp" spaces are likely to be purged at any time, and you can not assure that files there will remain there for any given period of time, you probably do not want to use the first example given (that is in the system 'tmp" directory, and DH can empty, or purge, that directory as they see fit).
The next two given examples are typical of how you would place that upload directory in publicly accessible web space in configurations commonly encountered in various web hosting environments, but are not correct for the DreamHost environment.
The final example is one that will work on DreamHost - it uses an environment variable to set a directory called "ubr_uploads" beneath the document root.
You can also express this value in an absolute manner by simply using the full path for where you want the directory to go. For instance, to put it in your web site space where it is publicly accessible you might set it up as:
$CONFIG['uploaddir'] = '/home/yourusername/yourdomainname.tld/uploads'; or
$CONFIG['uploaddir'] = '/home/yourusername/yourdomainname.tld/ubr_uploads'; or
$CONFIG['uploaddir'] = '/home/yourusername/yourdomainname.tld/whatever';
If you want to set it up in a directory that is not directly accessible from the web, you could put it outside your web directory like this:
$CONFIG['uploaddir'] = '/home/yourusername/whatever'; or
$CONFIG['uploaddir'] = '/home/yourusername/uploads';
This is just more of the same kind of logic employed above - you are telling the program where to find the various scripts that are needed for it to work, and the values you put here need to match how you have uber-uploader installed on your server. At it's simplest, and to clearly show what is happening here without going into a detailed discussion of how to describe paths, I'll just provide an example that presumes you have installed all the files except ubr_upload.pl into your main web directory, and have uploaded ubr_upload.pl into a directory called cgi-bin that is inside (beneath) your main web directory (your domain) - more discussion of the cgi-bin follows.
So you can clearly see what is happening, I'll use the "full paths" that will be applicable on a DreamHost shared server with the default arrangement of your main web directory being the name of your domain (which is how DreamHost sets up your web domain directories unless you change them). This presumes that you have already established correctly where you want the temporary upload directory and the upload directory to be, and have assigned those paths as described above.
PATH_TO_UPLOAD_SCRIPT = 'home/yourusername/yourdomainname.tld/cgi-bin/ubr_upload.pl';
PATH_TO_LINK_SCRIPT = 'home/yourusername/yourdomainname.tld/ubr_link_upload.php';
PATH_TO_SET_PROGRESS_SCRIPT = 'home/yourusername/yourdomainname.tld/ubr_set_progress.php';
PATH_TO_GET_PROGRESS_SCRIPT = 'home/yourusername/yourdomainname.tld/ubr_get_progress.php';
PATH_TO_JS_SCRIPT = 'home/yourusername/yourdomainname.tld/ubr_file_upload.js';
As a final part of the example, let's now assume you have decided you want the uber-uploader to live in it's own directory, so that it is at yourdomain.tld/uploader/ (we'll leave the cgi-bin directly under you domain's main directly as in the previous example - and we'll talk more about that in a bit). Then your values for these variables would look like this:
PATH_TO_UPLOAD_SCRIPT = 'home/yourusername/yourdomainname.tld/uploader/cgi-bin/ubr_upload.pl';
PATH_TO_LINK_SCRIPT = 'home/yourusername/yourdomainname.tld/uploader/ubr_link_upload.php';
PATH_TO_SET_PROGRESS_SCRIPT = 'home/yourusername/yourdomainname.tld/uploader/ubr_set_progress.php';
PATH_TO_GET_PROGRESS_SCRIPT = 'home/yourusername/yourdomainname.tld/uploader/ubr_get_progress.php';
PATH_TO_JS_SCRIPT = 'home/yourusername/yourdomainname.tld/uploader/ubr_file_upload.js';
Steps 4 through 15 are just telling you where to upload the various files that are part of the uber-uploader system, and, hopefully, the preceding discussion has helped make it clear where you need to differ from the example instructions on DreamHost.
A word here about cgi-bin: Since DreamHost uses suEXEC (another topic for another day) you do not have a "specified" cgi-bin directory like you do on many other systems - you can run cgi scripts from any directory. That said, it is often easier to keep straight what is happening with applications that have cgi components, and follow generic supplied instructions that assume you do have a "cgi-bin' directory in your environment, if you create one and put the stuff the instructions say to put in 'cgi-bin' into it. For our example installation on DreamHost, we will do just that and create a cgi-bin directory in you "main" web directory (usually yourdomain.tld) like we described above.
Once you have created that directory, that is where you will upload ubr_pload.pl.
The other files are uploaded to wherever you decided uber-uploader is going to live in your website (and where you described those files as being in the previous steps). In our "teaching examples" above, that would be either in the main directory of your website (the first set of example locations/paths) or in the "uploader" directory benath (or inside) that directory (as in the second set of examples above).
In the uber-uploader installation instructions, the descriptions of where to upload the various files are accurate and descriptive - it's the "The path will be ... or ..." amplifications that are confusing to DreamHost users - because their webserver is not laid out that way, and those will not be the paths. Think of it this way ...
Whenever those instructions say, "The path will be /var/www/cgi-bin or /usr/local/apache/cgi-bin", replace that with "The path will be /home/yourusername/yourdomain.tld/cgi-bin"
And whenever those instructions say,"The path will be /var/www/html or /usr/local/apache/htdocs", replace that with "The path will be /home/yourusername/yourdomain.tld/ or /home/yourusername/yourdomain.tld/whatever_directory_you_installe_uber_uploader_files_in".
Now, is this the only way to do it? - NO, this is an example that works
Do I have to use those full paths? - NO, if you understand how to use relative paths and environment variables, and want to make the install more portable, knock yourself out. This was done this way to try to make what is happening clear to those who don't understand such things.
Can I set it up differently? - Of course!
Actually, the uber-uploader installation instructions are very complete and accurate, but they assume you understand how a web server is organized, how your webserver is organized, and the basics of unix filesystems and paths.
If you re-read those instructions carefully, and review this post, hopefully you will see how it all comes together. If you run into a particular problem, or have a specific question, post back and I'll try to help you further (and so will others, I'm sure).