I typically install WordPress with uploaded files outside of web root... this causes problems with plugins that assume the uploads directory is in the standard location. There are different ways to determine the upload path - but WordPress has some built in methods and recommended guidelines:
It would be great if this type of configuration was supported. Essentially, in this type of setup, 'baseurl' is the base path to the file via the web (http://....), and could be absolute (/files) or full (http://www.example.com/files). 'basedir' is the full system path to the writeable folder (/home/wp-content/uploads, or /home/blogs.dir....). Sometimes the upload path and written file location do not have the same names.
WP Multisite, if running, will work out of the box like this with a few small setting changes, and a single config setting in wp-config.php. No hacking of core is required! WP without Multisite requires a helper script to read the files, but again no hacking.