Actually it can't be a huge problem to execute a php script with apache...
Have you tried to directly access the php file like
http://localhost/nagios3/index.php instead of just
http://localhost/nagios3 ? Is there a difference?
The error log messages says clearly that the access is not possible because of a wrong DirectoryIndex directive in the Apache config. Which means either the index.php is missing in the directive or the index.php cannot be accessed. You have already added index.php to the DirectoryIndex directive and it is still there, right?
Open /etc/passwd and give your apache user a shell at the end of the line, something like
www-data:x:--:--:www-data:/var/www:/bin/bash
Then
su - www-data
id
and now try to open /usr/share/nagios3/htdocs/index.php with vi or similar.
Remove the shell in /etc/passwd again.
What is the output of these commands:
ls -lh /usr/share/nagios3/htdocs
apache2ctl -M
Post the complete content of these file (without comments please):
mods-enabled/dir.conf
mods-enables/php5.conf
apache2.conf
nagios.conf