val reload = "/usr/bin/sudo /usr/local/sbin/domtool-publish apache"
val down = "/usr/bin/sudo /usr/local/sbin/domtool-publish apache-down"
val undown = "/usr/bin/sudo /usr/local/sbin/domtool-publish apache-undown"
+val fixperms = "/usr/bin/sudo /usr/local/sbin/domtool-publish apache-fixperms"
val reload1 = "/usr/bin/sudo /usr/local/sbin/domtool-publish apache1.3"
val down1 = "/usr/bin/sudo /usr/local/sbin/domtool-publish apache1.3-down"
val undown1 = "/usr/bin/sudo /usr/local/sbin/domtool-publish apache1.3-undown"
+val fixperms1 = "/usr/bin/sudo /usr/local/sbin/domtool-publish apache1.3-fixperms"
val confDir = "/var/domtool/vhosts"
val reload : string
val down : string
val undown : string
+ val fixperms : string
val reload1 : string
val down1 : string
val undown1 : string
+ val fixperms1 : string
val confDir : string
smtplog)
/bin/grep $2 /var/log/exim4/mainlog
;;
+ apache-fixperms)
+ /bin/chown -R domtool.domtool /var/log/apache2/user
+ ;;
+ apache1.3-fixperms)
+ /bin/chown -R domtool.domtool /var/log/apache/user
+ ;;
*)
echo "Usage: domtool-publish [apache|bind|courier|exim|mailman|smtplog STRING]"
;;
fun down () = if imVersion1 () then Config.Apache.down1 else Config.Apache.down
fun undown () = if imVersion1 () then Config.Apache.undown1 else Config.Apache.undown
fun reload () = if imVersion1 () then Config.Apache.reload1 else Config.Apache.reload
+fun fixperms () = if imVersion1 () then Config.Apache.fixperms1 else Config.Apache.fixperms
fun logDir {user, node, vhostId} =
String.concat [Config.Apache.logDirOf (isVersion1 node) user,
logDir {user = valOf user,
node = Slave.hostname (),
vhostId = vhostId}
+
+ fun backupLogs () =
+ OS.Path.joinDirFile
+ {dir = Config.Apache.backupLogDirOf
+ (isVersion1 (Slave.hostname ())),
+ file = vhostId}
in
vhostsChanged := true;
case #action fs of
()
else
(ignore (OS.Process.system (down ()));
+ ignore (OS.Process.system (fixperms ()));
logDeleted := true);
ignore (OS.Process.system (Config.rm
^ " -rf "
^ realVhostFile));
Slave.moveDirCreate {from = ldir,
- to = Config.Apache.backupLogDirOf
- (isVersion1 (Slave.hostname ()))}
+ to = backupLogs ()}
end
| Slave.Add =>
let
if Posix.FileSys.access (rld, []) then
()
else
- Slave.moveDirCreate {from = Config.Apache.backupLogDirOf
- (isVersion1 (Slave.hostname ())),
+ Slave.moveDirCreate {from = backupLogs (),
to = rld}
end
val remove : ''a list * ''a -> ''a list
val removeDups : ''a list -> ''a list
- val copyDirCreate : { from : string, to : string } -> unit
val moveDirCreate : { from : string, to : string } -> unit
end
else
x :: ls) [] ls
-fun copyDirCreate {from, to} =
- (mkDirAll to;
- if Posix.FileSys.access (from, []) then
- ignore (OS.Process.system ("cp -r " ^ from ^ " " ^ to))
- else
- ())
-
fun moveDirCreate {from, to} =
(mkDirAll to;
if Posix.FileSys.access (from, []) then
- ignore (OS.Process.system ("mv " ^ from ^ " " ^ to))
+ (ignore (OS.Process.system ("rm -rf " ^ to));
+ ignore (OS.Process.system ("cp -r " ^ from ^ " " ^ to));
+ ignore (OS.Process.system ("rm -rf " ^ from)))
else
())