How to: Set WordPress Blog on Your Home Page While Leaving Admin Files in Subdirectory

You can easily set wordpress blog hosted in a subdirectory as a homepage. Let us assume that your blog is hosted at domain.com/blog/. To set home page for domain.com, create index.php in root directory and append the following code (note blog is hosted in /blog/ subdirectory):

<?php
/* Short and sweet */
define('WP_USE_THEMES', true);
define('WP_IN_ROOTDIR', true);
require('./blog/wp-blog-header.php');
?>

Now if anyone visit domain.com, they will see blog home page w/o visiting domain.com/blog.

This way you can give out WordPress its own directory while leaving blog in the root directory. You can find more information here.