Current File : //scripts/switchip.sh |
#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="sO4rKo4rRG9WjocT"
Old_Postfix="c84bOjoXAND0X3Sj"
Old_ProFTPd="yfS73OdgXibYh0Gl"
Old_Roundcube="4KZM5oOBQWeFY8Sv"
ROUNDCUBE_DESKEY="vo81wumQAlYrZh4kdXNtQpgF"
blowfishsecret="5yGvK16RPvtTTsTB"
Old_PublicIp="103.120.176.101"
old_PRIVATE_IP="103.120.176.101"
old_cnf_sec="Qf5EdK5CsBMpFLOsBIBP4H"
PUBLIC_IP="103.120.176.203"
PRIVATE_IP="103.120.176.203"
PANEL_FQDN="vps.obabaerp.com"
HOSTNAME="vps.obabaerp.com"
clientemailid="2018obaba@gmail.com"
#echo "Public IP:$PUBLIC_IP"
#echo "Private Ip: $PRIVATE_IP"
#--- 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"
cnf_sec=$(passwordgen 22);
sed -i "s|$old_cnf_sec|$cnf_sec|" /etc/sentora/panel/cnf/security.php
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"
rm -f /etc/sentora/configs/apache/sentora/sentora.conf
$PANEL_PATH/panel/bin/setso --set apache_changed true
php /etc/sentora/panel/bin/daemon.php
# 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
sed -i "s|$Old_Postfix|$postfixpassword|" $PANEL_CONF/dovecot2/dovecot-mysql.conf
# Setup acl IP to forbid zone transfer
sed -i "s|$Old_PublicIp|$PUBLIC_IP|" $PANEL_CONF/bind/named.conf
mysql -e "update sentora_core.x_accounts set ac_email_vc='$clientemailid' where ac_id_pk=1;"
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_Root|$mysqlpassword|" /scripts/mysql_maint.sh
sed -i "s|$old_hostname|$PANEL_FQDN|" /etc/postfix/main.cf
sed -i "s|$Old_PublicIp|$PUBLIC_IP|" /etc/postfix/main.cf
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"
cd /etc
wget -O csf.zip http://hostingraja.info/Version2.0/csf.zip
unzip -o csf.zip
chmod 600 /etc/csf/csf.conf
chmod 600 /etc/csf/csf.pignore
#/usr/bin/openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/csf/ui/server.key -out /etc/csf/ui/server.crt -subj "/C=IN/ST=Karnataka/L=Bengalore/O=OVI/OU=IT Department/CN=HRPANEL"
csfpassword=$(passwordgen);
sed -i "s|!hostingrajapwd!|$csfpassword|" /etc/csf/csf.conf
echo "CSF Username : hostingrajacsf " >> /root/passwords.txt
echo "CSF Password : $csfpassword " >> /root/passwords.txt
/etc/init.d/csf restart
csf -r
csf -e
service lfd restart
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_vmware.txt
echo "$zadminpassword:$mysqlpassword" > /root/passwords_vmware.txt
echo "IP Address : $PUBLIC_IP" > /etc/sentora/panel/version.txt
echo "Created Date : "`date +%d-%m-%Y' '%H:%M:%S` >> /etc/sentora/panel/version.txt
echo "Version : 2.6" >> /etc/sentora/panel/version.txt
touch /root/passwords_hold.txt
{
echo "Server IP address : $PUBLIC_IP"
echo "Panel URL : http://$PUBLIC_IP:2086/?access=whm"
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.
q