Current File : //scripts/switchip.sh_old
#--- Some functions used many times below
# Random password generator function
passwordgen() {
    l=$1
    [ "$l" == "" ] && l=16
    tr -dc A-Za-z0-9 < /dev/urandom | head -c ${l} | xargs
}
PANEL_PATH="/etc/sentora"
PANEL_CONF="$PANEL_PATH/configs"
Old_Root="ZGGZhdysF4gMNMxU"
Old_Postfix="7gmuRndi7vQjKGHg"
Old_ProFTPd="T9WVuOTUtWqJpIQ9"
Old_Roundcube="U9ma4SDp6wv4uBsn"
ROUNDCUBE_DESKEY="l18gM7HGTEDNbt7XXKNOjvki"
blowfishsecret="Q8QJllAvp18wZhVG"
Old_PublicIp="103.83.81.48"
old_PRIVATE_IP="192.168.1.147"
while true; do
read -e -p "(1) Private IP, (2) Public IP, (3):Quit installer? " yn
            case $yn in
                1)
                                echo "Enter the Public IP address:"
                                read PUBLIC_IP
                                echo "Enter the Private IP address:"
                                read PRIVATE_IP
                break
                ;;
                2)
                                echo "Enter the public IP address:"
                                read PUBLIC_IP
                                PRIVATE_IP=$PUBLIC_IP
                break
                ;;
                3) exit;;
                * ) continue;;
           esac
done
#echo "Public IP:$PUBLIC_IP"
#echo "Private Ip: $PRIVATE_IP"

echo "Enter the Hostname:"
read PANEL_FQDN
#--- Prepare hostname
old_hostname=$(cat /etc/hostname)
# In file hostname
echo "$PANEL_FQDN" > /etc/hostname

# In file hosts
sed -i "/127.0.1.1[\t ]*$old_hostname/d" /etc/hosts
sed -i "s|$old_hostname|$PANEL_FQDN|" /etc/hosts
sed -i "s|$old_hostname|$PANEL_FQDN|" /etc/hosts
sed -i "s|$old_PRIVATE_IP|$PRIVATE_IP|" /etc/hosts

# For current session
hostname "$PANEL_FQDN"

#--- Set some Sentora database entries using. setso and setzadmin (require PHP)
echo -e "\n-- Configuring Sentora"
zadminpassword=$(passwordgen);
setzadmin --set "$zadminpassword";
$PANEL_PATH/panel/bin/setso --set sentora_domain "$PANEL_FQDN"
$PANEL_PATH/panel/bin/setso --set server_ip "$PUBLIC_IP"
# Create and configure mysql password for roundcube
roundcubepassword=$(passwordgen);
sed -i "s|$Old_Roundcube|$roundcubepassword|" $PANEL_CONF/roundcube/roundcube_config.inc.php
mysql  -e "UPDATE mysql.user SET Password=PASSWORD('$roundcubepassword') WHERE User='roundcube' AND Host='localhost'";

# Create and configure des key
roundcube_des_key=$(passwordgen 24);
sed -i "s|$ROUNDCUBE_DESKEY|$roundcube_des_key|" $PANEL_CONF/roundcube/roundcube_config.inc.php

#--- phpMyAdmin
phpmyadminsecret=$(passwordgen);
sed -i "s|\$cfg\['blowfish_secret'\] \= '$blowfishsecret';|\$cfg\['blowfish_secret'\] \= '$phpmyadminsecret';|" /etc/sentora/panel/etc/apps/phpmyadmin/config.inc.php
sed -i "s|\$cfg\['blowfish_secret'\] \= '$blowfishsecret';|\$cfg\['blowfish_secret'\] \= '$phpmyadminsecret';|" /etc/sentora/panel/etc/apps/phpmyadmin_v4_6_6/config.inc.php
# ln -s $PANEL_CONF/phpmyadmin/config.inc.php $PANEL_PATH/panel/etc/apps/phpmyadmin/config.inc.php

# Create and configure mysql password for proftpd
proftpdpassword=$(passwordgen);
sed -i "s|$Old_ProFTPd|$proftpdpassword|" $PANEL_CONF/proftpd/proftpd-mysql.conf
mysql  -e "UPDATE mysql.user SET Password=PASSWORD('$proftpdpassword') WHERE User='proftpd' AND Host='localhost'";

#--- Postfix

postfixpassword=$(passwordgen);
mysql  -e "UPDATE mysql.user SET Password=PASSWORD('$postfixpassword') WHERE User='postfix' AND Host='localhost';";


sed -i "s|$Old_Postfix|$postfixpassword|" $PANEL_CONF/postfix/*.cf
sed -i "s|$Old_Postfix|$postfixpassword|" $PANEL_CONF/postfix/vacation.conf

# Setup acl IP to forbid zone transfer
sed -i "s|$Old_PublicIp|$PUBLIC_IP|" $PANEL_CONF/bind/named.conf
mysql  -e "FLUSH PRIVILEGES" 
mysqlpassword=$(passwordgen);
mysql  -e "UPDATE mysql.user SET Password=PASSWORD('$mysqlpassword') WHERE User='root' AND Host='localhost'"
mysql  -e "FLUSH PRIVILEGES" 
sed -i "s|$Old_Root|$mysqlpassword|" /root/.my.cnf
sed -i "s|$Old_Root|$mysqlpassword|"  /etc/sentora/panel/cnf/db.php 
sed -i "s|$old_hostname|$PANEL_FQDN|" $PANEL_CONF/postfix/main.cf
sed -i "s|$Old_PublicIp|$PUBLIC_IP|" $PANEL_CONF/postfix/main.cf 
$PANEL_PATH/panel/bin/setso --set apache_changed "true"
php /etc/sentora/panel/bin/daemon.php 
#sed -i "s|!USR_LIB!|$USR_LIB_PATH|" $PANEL_CONF/postfix/master.cf
#sed -i "s|!USR_LIB!|$USR_LIB_PATH|" $PANEL_CONF/postfix/main.cf
mv /root/passwords.txt /root/passwords_hold.txt
touch  /root/passwords_hold.txt
{
    echo "Server IP address : $PUBLIC_IP"
    echo "Panel URL         : http://$PANEL_FQDN"
    echo "zadmin Password   : $zadminpassword"
    echo ""
    echo "MySQL Root Password      : $mysqlpassword"
    echo "MySQL Postfix Password   : $postfixpassword"
    echo "MySQL ProFTPd Password   : $proftpdpassword"
    echo "MySQL Roundcube Password : $roundcubepassword"
} >> /root/passwords.txt
#--- Advise the admin that Sentora is now installed and accessible.
{
echo "########################################################"
echo " Congratulations Sentora has now been installed on your"
echo " server. Please review the log file left in /root/ for "
echo " any errors encountered during installation."
echo ""
echo " Login to Sentora at http://$PANEL_FQDN"
echo " Sentora Username  : zadmin"
echo " Sentora Password  : $zadminpassword"
echo ""
echo " MySQL Root Password      : $mysqlpassword"
echo " MySQL Postfix Password   : $postfixpassword"
echo " MySQL ProFTPd Password   : $proftpdpassword"
echo " MySQL Roundcube Password : $roundcubepassword"
echo "   (theses passwords are saved in /root/passwords.txt)"
echo "########################################################"
echo ""
} &>/dev/tty