hcoop: rename quag -> marsh
[hcoop/domtool2.git] / scripts / domtool-publish
CommitLineData
27e20924
AC
1#!/bin/sh -e
2
5543e924
AC
3redo_exim() {
4 /bin/echo -n "domainlist local_domains = " >/etc/exim4/conf.d/main/10_domtool-domains
5 /bin/cat /var/domtool/local_domains.cfg >>/etc/exim4/conf.d/main/10_domtool-domains
6 /bin/echo "" >>/etc/exim4/conf.d/main/10_domtool-domains
7 /bin/echo -n "domainlist relay_to_domains = " >>/etc/exim4/conf.d/main/10_domtool-domains
8 /bin/cat /var/domtool/relay_domains.cfg >>/etc/exim4/conf.d/main/10_domtool-domains
9 /bin/echo "" >>/etc/exim4/conf.d/main/10_domtool-domains
10 /bin/echo -n "domainlist mm_domains = " >>/etc/exim4/conf.d/main/10_domtool-domains
11 /bin/cat /var/domtool/mailman_domains.cfg >>/etc/exim4/conf.d/main/10_domtool-domains
12 /bin/echo "" >>/etc/exim4/conf.d/main/10_domtool-domains
13 /etc/init.d/exim4 reload
14}
15
27e20924
AC
16case $1 in
17 apache)
71ba8736 18 /usr/bin/rsync -r --delete /var/domtool/vhosts/ /etc/apache2/vhosts/
35aca644 19 /etc/init.d/apache2 reload
27e20924 20 ;;
8e965b2d
AC
21 apache-down)
22 /etc/init.d/apache2 stop
23 ;;
24 apache-undown)
71ba8736 25 /usr/bin/rsync -r --delete /var/domtool/vhosts/ /etc/apache2/vhosts/
8e965b2d
AC
26 /etc/init.d/apache2 start
27 ;;
55d4a268
AC
28 apache1.3)
29 /usr/bin/rsync -r --delete /var/domtool/vhosts/ /etc/apache/vhosts/
30 /etc/init.d/apache reload
31 ;;
32 apache1.3-down)
33 /etc/init.d/apache stop
34 ;;
35 apache1.3-undown)
36 /usr/bin/rsync -r --delete /var/domtool/vhosts/ /etc/apache/vhosts/
37 /etc/init.d/apache start
38 ;;
27e20924 39 bind)
71ba8736 40 /usr/bin/rsync -r --delete /var/domtool/zones/ /etc/bind/zones/
6b1ff6b1 41 /bin/chown -R bind /etc/bind/zones
27e20924 42 /bin/cp /var/domtool/named.conf.local /etc/bind/
438b8bdd
CE
43 /bin/chown root:bind /etc/bind/named.conf.local
44 /bin/chmod 644 /etc/bind/named.conf.local
861773ff 45 /etc/init.d/bind9 restart
27e20924
AC
46 ;;
47 exim)
80fb3843 48 /bin/cp /var/domtool/aliases /etc/aliases.hosted
cd040866 49 /bin/cp /var/domtool/aliases.default /etc/aliases.wildcard
5543e924 50 redo_exim
27e20924
AC
51 ;;
52 mailman)
1edf2ddd
AC
53 /bin/echo "HCOOP_VHOSTS = {" >/etc/mailman/vhosts_cfg.py
54 /bin/cat /var/domtool/mailman.map >>/etc/mailman/vhosts_cfg.py
55 /bin/echo "}" >>/etc/mailman/vhosts_cfg.py
35aca644 56 /etc/init.d/mailman reload
5543e924 57 redo_exim
27e20924 58 ;;
08688401 59 courier)
8ca17b9a
CE
60 VMAILDB=`domtool-config -path vmaildb`
61 if [ -z "$VMAILDB" ]; then
62 echo "domtool-config not found, not syncing courier vmail userdb"
63 exit 1
64 fi
65 /usr/bin/rsync -r --delete ${VMAILDB}/ /etc/courier/userdb
7aa78013 66 /usr/sbin/makeuserdb
fb9aeb18 67 /bin/chown -R domtool:nogroup /etc/courier/userdb
2bc5ed22
AC
68 /bin/cat /etc/courier/userdb/* >/etc/courier/exim
69 /bin/chmod o-r /etc/courier/exim
70 /usr/sbin/exim_dbmbuild /etc/courier/exim /etc/courier/exim.dat
71 /bin/chgrp mail /etc/courier/exim.dat
72 /bin/chmod o-r /etc/courier/exim.dat
73 ;;
ebb51f80
CE
74 spamassassin)
75 SHAREDROOT=`domtool-config -path shared-root`
76 /usr/bin/rsync -r --delete ${SHAREDROOT}/email/spamassassin/addrs/ /etc/spamassassin/addrs
77 ;;
2bc5ed22
AC
78 smtplog)
79 /bin/grep $2 /var/log/exim4/mainlog
08688401 80 ;;
c17d0537 81 apache-fixperms)
fb9aeb18 82 /bin/chown -R domtool:nogroup /var/log/apache2/user
c17d0537
AC
83 ;;
84 apache1.3-fixperms)
fb9aeb18 85 /bin/chown -R domtool:nogroup /var/log/apache/user
c17d0537 86 ;;
563e7792
AC
87 users)
88 /bin/cp /var/domtool/waklog.conf /etc/apache2/
89 /etc/init.d/apache2 reload
90 ;;
73b95423 91 firewall)
0d3fb301
CE
92 # Ideally this would check if the config worked first
93 # (ferm failing just uses the previous config at
94 # least). Does it need to chown/chmod the generated
95 # rules?
890558f7 96 /bin/cp /var/domtool/firewall/*.conf /etc/ferm/
73b95423 97 /etc/init.d/ferm reload
93278775
CE
98 ;;
99 firewallpuppet)
100 # new firewall publishing method that integrates with puppet (sort of)
101 /bin/cp /var/domtool/firewall/*.conf /etc/ferm/
102 if [ ! -d /etc/puppetlabs ]; then
103 # legacy node
104 /etc/init.d/ferm reload
105 exit
106 fi
107 if ( /usr/sbin/ferm --noexec /etc/ferm/ferm.conf ); then
108 for chain in FERM-INPUT FERM-OUTPUT; do
109 /sbin/iptables -F $chain
110 /sbin/ip6tables -F $chain
111
112 /usr/sbin/ferm --domain ip --noexec --lines /etc/ferm/ferm.conf | iptables-restore --noflush
113 /usr/sbin/ferm --domain ip6 --noexec --lines /etc/ferm/ferm.conf | ip6tables-restore --noflush
114 done
115 else
116 echo "firewall: ferm failed, aborting regeneration."
117 fi
73b95423 118 ;;
27e20924 119 *)
73b95423 120 echo "Usage: domtool-publish [apache|bind|courier|exim|mailman|smtplog STRING|users|firewall]"
27e20924 121 ;;
51be7da6 122esac