diff --git a/manifests/init.pp b/manifests/init.pp
index f9607a542f7c5659c66db03feddafe6cb366ce22..566e2da8bd06ac05bc4b993aaf0acc0d95851a6c 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -14,6 +14,7 @@ class apache
 {
     $configfile = '/etc/httpd/conf/httpd.conf'
     $configdir  = '/etc/httpd/conf.d'
+    $logdir     = '/var/log/httpd'
 }
 
 
@@ -70,3 +71,26 @@ class apache::service
 	    hasstatus => true, hasrestart => true;
     }
 }
+
+
+
+/*
+ * Manage the Apache log directory.
+ * This is mostly intended for those that don't want the defaults.
+ * By default, it sets ownership and permissions to the same as the
+ * RedHat packages do.
+ * To save a little bit of execution time, this is not included by the
+ * apache::base class, so users need to include it themselves.
+ */
+
+class apache::logdir($owner='root', $group='root', $mode=0700)
+{
+    include apache
+
+    file {
+	$apache::logdir:
+	    ensure => directory,
+	    owner => $owner, group => $group, mode => $mode,
+	    require => Package['httpd'], before => Class[apache::service];
+    }
+}