X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=rt3%2Fmonitor-rt3.init;h=0e24a11ff2bf53022ad5f4933f84afe588837489;hb=4b97eb6c50faeeaa40660b73cd70c17cc572a2c9;hp=fdd64e89bfd1f2cda577fd686eaa7ad88c2cd130;hpb=9521da7dc59534f746fed002967bd47a386ce8a3;p=monitor.git diff --git a/rt3/monitor-rt3.init b/rt3/monitor-rt3.init index fdd64e8..0e24a11 100644 --- a/rt3/monitor-rt3.init +++ b/rt3/monitor-rt3.init @@ -36,8 +36,8 @@ RT3_DB_NAME="rt3" WROTE_PG_CONFIG= -if [ -z "$PLC_MONITOR_IP" ] ; then - PLC_MONITOR_IP=$( gethostbyname $PLC_MONITOR_HOST ) +if [ -z "$PLC_RT_IP" ] ; then + PLC_RT_IP=$( gethostbyname $PLC_RT_HOST ) fi @@ -54,6 +54,11 @@ function check_rt_siteconfig () { tmp_siteconfig=$(mktemp) tmp_initialdata=$(mktemp) + + # TODO: need a better approach for this. + for f in $MONITORPATH/rt3/rtconf.d/*.pl ; do + update_config PLC_RT_HOSTNAME $PLC_RT_HOST $f + done # if the templates are newer than the actual config, then replace them. if [ $MONITORPATH/rt3/RT_SiteConfig.pm -nt /etc/rt3/RT_SiteConfig.pm ] ; @@ -65,6 +70,7 @@ function check_rt_siteconfig () # setup RT_SiteConfig.pm update_config PLC_NAME "$PLC_NAME" $tmp_siteconfig update_config PLC_RT_HOSTNAME $PLC_RT_HOST $tmp_siteconfig + update_config PLC_WWW_HOSTNAME $PLC_WWW_HOST $tmp_siteconfig update_config RT_DB_NAME $RT3_DB_NAME $tmp_siteconfig update_config RT_DB_USER $RT3_DB_USER $tmp_siteconfig @@ -76,12 +82,19 @@ function check_rt_siteconfig () # copy to live configuration cp -f $tmp_siteconfig /etc/rt3/RT_SiteConfig.pm cp -f $tmp_initialdata /etc/rt3/initialdata + chmod 644 /etc/rt3/RT_SiteConfig.pm + chmod 644 /etc/rt3/initialdata rm -f $tmp_siteconfig rm -f $tmp_initialdata fi } +function check_rt_custom () +{ + rsync -qv -az $MONITORPATH/rt3/local/html /usr/share/rt3 +} + function check_rt_pghba () { NAME=$RT3_DB_NAME @@ -92,6 +105,7 @@ function check_rt_pghba () if ! grep -q "$PATTERN" $CONF ; then #### SETUP ACCESS from postgres user to run init for the first time. echo "$PATTERN" >> $CONF + WROTE_PG_CONFIG="true" fi } @@ -102,7 +116,7 @@ function check_rt_aliases () if ! grep -q "rt-mailgate --queue support" /etc/aliases ; then sed -i -e "s/^support.*postmaster//g" /etc/aliases - sed -i -e "s/^security.*postmaster//g" /etc/aliases + sed -i -e "s/^security.*root//g" /etc/aliases cat <> /etc/aliases # added by RT init scripts for default queues. support: "|/usr/sbin/rt-mailgate --queue support --action correspond --url http://localhost/rt3/" @@ -119,43 +133,54 @@ function check_rt_init () { if [ ! -f /etc/rt3/setup.finished ] ; then /usr/sbin/rt-setup-database --action init --dba postgres + for f in $MONITORPATH/rt3/rtconf.d/*.pl ; do + /usr/sbin/rt-setup-database --action insert --dba postgres --datafile $f + done + + # run initial setup scripts (run only once, or for the first time) + for f in $MONITORPATH/rt3/rtsetup.d/*.{pl,py,sh} ; do + $f + done + touch /etc/rt3/setup.finished - ###Last DB adjustments - #set defaultduein to 1 for support queue - cat <> /etc/mail/access + makemap hash /etc/mail/access.db < /etc/mail/access + fi + if [ ! -f /etc/smrsh/rt-mailgate ] ; then + ln -s /usr/sbin/rt-mailgate /etc/smrsh/rt-mailgate + fi + if ! grep "$PLC_RT_HOST" /etc/mail/local-host-names ; then + # edit /etc/mail/local-host-names + echo "$PLC_RT_HOST" >> /etc/mail/local-host-names + fi + m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf + service sendmail restart fi + } if [ "$PLC_RT_ENABLED" != "1" ] ; then @@ -179,6 +204,8 @@ case "$1" in fi check_rt_aliases check_rt_init + check_rt_sendmail + check_rt_custom # todo: restart httpd if needed. result "$MESSAGE" ;; @@ -200,6 +227,9 @@ case "$1" in sed -i -e "s/.*mailgate.*//g" /etc/aliases rm -f /etc/rt3/setup.finished + sed -i -e "s/Port=smtp, Name=MTA/Port=smtp,Addr=127.0.0.1, Name=MTA/g" /etc/mail/sendmail.mc + service plc start httpd + result "$MESSAGE" ;;