#!/bin/bash # Script to configuring an ispconfig3 server in a Debian VPS # by calocen [at] gmail [dot] com # getting some enviromment values myhostname=`hostname -f` mydomain=`hostname -d` myip=`hostname -i` [ ! -x /usr/bin/geoiplookup ] && apt-get --assume-yes install geoip-bin mycountry=`geoiplookup $myip | cut -f4 -d" " | cut -f1 -d","` myprovince=`geoiplookup $myip | cut -f5 -d" "` # reconfiguring webalizer, postfix # could be cool to modify here webalizer values dpkg-reconfigure -u webalizer postconf -e "myhostname = $myhostname" postconf -e "mydestination = $myhostname, localhost" echo $myhostname > /etc/mailname dpkg-reconfigure -u postfix # request new password oldpwd=`grep password /root/.my.cnf | tr "\t" " " | tr -s " " | cut -f3 -d" "` read -p "mysql password: [$oldpwd] " mysqlpwd [ -z $mysqlpwd ] && mysqlpwd=$oldpwd echo $mysqlpwd #read -p "Are you sure? (y/n) " sure ## who said fear ## set -x mysqladmin -u root -p$oldpwd password $mysqlpwd mysqladmin -u root -p$mysqlpwd -h localhost password $mysqlpwd cat << EOF > /root/.my.cnf [client] password = $mysqlpwd EOF chmod 600 /root/.my.cnf # changing mydns password mysql -e "SET PASSWORD FOR 'mydns'@'%' = PASSWORD( '$mysqlpwd' )" mysql -e "SET PASSWORD FOR 'mydns'@'localhost' = PASSWORD( '$mysqlpwd' )" cp -ax /etc/mydns.conf /etc/mydns.conf~ sed s/$oldpwd/$mysqlpwd/g < /etc/mydns.conf~ > /etc/mydns.conf # enabling mydns mydns --create-tables > /tmp/mydns.sql mysql -e "CREATE DATABASE IF NOT EXISTS mydns ; USE mydns ; SOURCE /tmp/mydns.sql;" rm /tmp/mydns.* invoke-rc.d mydns restart # preparing server installation mv /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf~ sed s/"YOURHOSTNAME"/"$myhostname"/g < /usr/local/bin/openssl.cnf | sed s/"YOURDOMAIN"/"$mydomain"/g | \ sed s/"YOURCOUNTRY"/"$mycountry"/g | \ sed s/"YOURPROVINCE"/"$myprovince"/g > /etc/ssl/openssl.cnf tar xfz /root/downloads/ISPConfig-3.0.0.7-beta.tar.gz -C /usr/local/src # here would be some stuff to update from SVN cd /usr/local/src/ispconfig3_install/install/ php -q install.php