The problem is that the files you're trying to load (yourtheme/index.php, for example) can't be loaded directly. In general (with some rare exceptions like the login page), WordPress doesn't work by directly accessing files like that--those are TEMPLATE files that should only be accessed by WordPress itself. Know what I mean?
If you want to create a single php file that makes available WordPress functions (like queries and a loop), you have to do what's called "bootstrapping" WordPress--loading up the WordPress framework that does all that website-generating magic--then manually creating a query for your loop to use.
Try putting the following code into a file, then save it as "news.php" in the root of your WP install (alongside wp-login.php, wp-config.php etc.).
<?
// Bootstrap WordPress. This makes most WP functions availabe to you now.
require( 'wp-load.php' );
// Your php file is out on its own here, so you need to manually create a query. You can find more about queries and the arguments they accept here: http://codex.wordpress.org/Function_Reference/query_posts
$args = array(
'post_type' => 'post'
);
query_posts($args);
// Begin the loop, just like you normally would.
while ( have_posts() ) : the_post();
?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<h2><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'mastercard' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<div>
<?php the_excerpt(); ?>
</div>
<? endwhile; // end of loop ?>
Now you can call this file directly (yoursite.com/news.php), and it'll load up a basic loop.
Hope this helps.