diff --git a/config-joey.hs b/config-joey.hs
index 9e0cf90..7895480 100644
--- a/config-joey.hs
+++ b/config-joey.hs
@@ -76,6 +76,20 @@ darkstar = host "darkstar.kitenet.net"
& Apt.buildDep ["git-annex"] `period` Daily
& Docker.configured
! Docker.docked gitAnnexAndroidDev
+ & website "foo"
+
+website :: String -> RevertableProperty
+website hn = Apache.siteEnabled hn apachecfg
+ where
+ apachecfg = [ ""
+ , "DocumentRoot /tmp/xx"
+ , ""
+ , " Options Indexes FollowSymLinks Multiviews"
+ , " Order allow,deny"
+ , Apache.allowAll
+ , ""
+ , ""
+ ]
clam :: Host
clam = standardSystem "clam.kitenet.net" Unstable "amd64"
diff --git a/debian/changelog b/debian/changelog
index 6856447..c28989d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ propellor (1.2.0) unstable; urgency=medium
* Removed boolProperty; instead the new toResult can be used. (API change)
* Include Propellor.Property.OS, which was accidentially left out of the
cabal file in the last release.
+ * Fix Apache.siteEnabled to update the config file and reload apache when
+ configuration has changed.
-- Joey Hess Tue, 09 Dec 2014 00:05:09 -0400
diff --git a/src/Propellor/Property/Apache.hs b/src/Propellor/Property/Apache.hs
index 1d9c35c..1ce187d 100644
--- a/src/Propellor/Property/Apache.hs
+++ b/src/Propellor/Property/Apache.hs
@@ -11,12 +11,15 @@ type ConfigFile = [String]
siteEnabled :: HostName -> ConfigFile -> RevertableProperty
siteEnabled hn cf = RevertableProperty enable disable
where
- enable = check (not <$> isenabled) $
- cmdProperty "a2ensite" ["--quiet", hn]
- `describe` ("apache site enabled " ++ hn)
- `requires` siteAvailable hn cf
+ enable = combineProperties ("apache site enabled " ++ hn)
+ [ siteAvailable hn cf
`requires` installed
`onChange` reloaded
+ , check (not <$> isenabled) $
+ cmdProperty "a2ensite" ["--quiet", hn]
+ `requires` installed
+ `onChange` reloaded
+ ]
disable = combineProperties
("apache site disabled " ++ hn)
(map File.notPresent (siteCfg hn))