When you say you've checked the permissions, are you refering to the file system permissions or apaches permissions. In your httpd.conf there should be a section that looks something like this:
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
Options -Indexes Includes FollowSymLinks MultiViews
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
# Controls who can get stuff from this server.
Allow from all
where /var/www/ is the root directory of your web page, the option your looking for is Indexes.
You should have a something like: DirectoryIndex index.html index.htm etc... to indicate the file names that will be recognised as index files.
I a similar problem recently migrating my webserver from linux to openbsd, in that case there where three things preventing me from accessing my pages.
1) in OpenBSD Apache runs chrooted by default, while my pages where kept in tomcats webapps folder, outside of that chroot, meaning they where invisible to apache.
2) Because the file system is organised differently between the two OS's i had initially just left my conf the way it was, and created symlinks to point to the new locations, however while the above config allow following symlinks in root, the higherlevel permission defaults to only allowing symlinks if they are owned by apache. (Which they weren't, still aren't and don't need to be) I just went throught the conf and pointed the directories to their true locations.
3) Still not working properly. I was at this point I discovered that the version of apache that ships with openbsd has most of the core modules statically compiled into it. The linux config had a swathe of loadmodule statements, which had initially prevented the server from starting at all, being that the files where missing, until I commented them out. What I failed to note though was that many of the critical configurations where nested int <IfModule blah.c> type statements, prventing them from being evaluated, since the modules where missing.
I think you can rule out number 1, since you can see the files at all, so my advise would be to check through your httpd.config very carefully if you run httpd -l it will give you a list of complied in modules, make sure you are not trying to load any of these (even if you have the module files), make sure that you have the set the Indexes option in your Document Root and make sure that if they are there, the configs are actually being evaluated, particularly DirectoryIndex, which in my linux config was dependent on mod_dir.c being loaded.
Hmmm, don't know if this is any help, but some things to look for at least, one last thing have a look through your access_log and error_log, you'd be surpised at how much more quickly you can solve stuff like this if you use these.