#!/bin/bash # # This file is part of Plinth. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # # Action to set up new hostname for ejabberd and jwchat. hostname="$1" old_hostname=`debconf-show ejabberd | awk '/hostname/ { print $3 }'` # Based on http://www.process-one.net/docs/ejabberd/guide_en.html#htoc77 BACKUP=/tmp/ejabberd.dump # Note: dpkg-reconfigure will fail if there have been manual changes made to the # configuration file for a package. Since this is the case for ejabberd, # manually update the hostname in the configuration file. echo "ejabberd ejabberd/hostname string $hostname" | debconf-set-selections echo "jwchat jwchat/ApacheServerName string $hostname" | debconf-set-selections DEBIAN_FRONTEND=noninteractive dpkg-reconfigure jwchat sed -i "s/$old_hostname/$hostname/g" /etc/ejabberd/ejabberd.yml sed -i "s/$old_hostname/$hostname/g" $BACKUP service ejabberd restart # Load backup database sleep 10 ejabberdctl load $BACKUP rm $BACKUP