ud
This commit is contained in:
307
directadmin-1.62.4/scripts/getInfo.sh
Normal file
307
directadmin-1.62.4/scripts/getInfo.sh
Normal file
@@ -0,0 +1,307 @@
|
||||
#!/bin/sh
|
||||
|
||||
#This script will aquire all information needed to do the install
|
||||
#and will save it accordingly. You can stop the install at anytime
|
||||
#and start over.
|
||||
|
||||
OS=`uname`
|
||||
SETUP="./setup.txt"
|
||||
cd /usr/local/directadmin/scripts
|
||||
YES="y"
|
||||
NO="n"
|
||||
|
||||
if [ -e ${SETUP} ]
|
||||
then
|
||||
while echo -n "Do you want to re-enter the server information? (y, n) :"
|
||||
if [ "${OS}" = "FreeBSD" ]; then
|
||||
read CORRECT
|
||||
else
|
||||
read -n 1 CORRECT
|
||||
fi
|
||||
echo "";
|
||||
do
|
||||
{
|
||||
if [ $CORRECT = $YES ]
|
||||
then
|
||||
break;
|
||||
fi
|
||||
if [ $CORRECT = $NO ]
|
||||
then
|
||||
exit 0;
|
||||
fi
|
||||
}
|
||||
done;
|
||||
fi
|
||||
|
||||
rm -f ${SETUP}
|
||||
umask 077;
|
||||
|
||||
#*****************************************
|
||||
|
||||
#STEP 1: gethostname
|
||||
|
||||
CORRECT="";
|
||||
while
|
||||
echo "Enter the hostname you wish to use.";
|
||||
echo "This is the server's hostname and is *not* intended as a website for the server.";
|
||||
echo "*YOU* are responsible for making sure it resolves to the proper ip.";
|
||||
echo "Do not enter http:// or www.";
|
||||
echo -n "(eg. server.host.com) : ";
|
||||
read hostname;
|
||||
echo "";
|
||||
echo -n "Is ${hostname} correct? (y, n) : ";
|
||||
if [ "${OS}" = "FreeBSD" ]; then
|
||||
read CORRECT
|
||||
else
|
||||
read -n 1 CORRECT
|
||||
fi
|
||||
echo "";
|
||||
do
|
||||
{
|
||||
if [ $CORRECT = $YES ]
|
||||
then
|
||||
break;
|
||||
fi
|
||||
}
|
||||
done
|
||||
|
||||
echo "hostname=$hostname" >> ${SETUP}
|
||||
|
||||
#*****************************************
|
||||
|
||||
#STEP 2: get email
|
||||
|
||||
CORRECT="";
|
||||
while echo -n "E-Mail Address: ";
|
||||
read email;
|
||||
echo "";
|
||||
echo -n "Is ${email} correct? (y, n) : ";
|
||||
if [ "${OS}" = "FreeBSD" ]; then
|
||||
read CORRECT
|
||||
else
|
||||
read -n 1 CORRECT
|
||||
fi
|
||||
echo "";
|
||||
do
|
||||
{
|
||||
if [ $CORRECT = $YES ]
|
||||
then
|
||||
break;
|
||||
fi
|
||||
}
|
||||
done
|
||||
|
||||
echo "email=$email" >> ${SETUP}
|
||||
|
||||
|
||||
#***********************************************
|
||||
|
||||
#STEP 2: get mysql root password
|
||||
|
||||
while echo -n "Enter a password for the root MySQL user (no spaces): "
|
||||
if [ "${OS}" = "FreeBSD" ]; then
|
||||
read passwd
|
||||
else
|
||||
read -s passwd
|
||||
fi
|
||||
echo ""
|
||||
echo -n "Re-Type the password: "
|
||||
if [ "${OS}" = "FreeBSD" ]; then
|
||||
read repasswd
|
||||
else
|
||||
read -s repasswd
|
||||
fi
|
||||
do
|
||||
{
|
||||
if [ "$passwd" = "$repasswd" ]; then
|
||||
#if [ -e /usr/bin/mysql ]
|
||||
if [ -e /file/that/doesnt/exist ]; then
|
||||
echo "";
|
||||
echo "SELECT now();" | /usr/bin/mysql 2> /dev/null;
|
||||
if [ $? != 0 ]; then
|
||||
#root password IS set, make sure its right
|
||||
echo "SELECT now();" | /usr/bin/mysql -uroot -p${passwd}
|
||||
if [ $? = 0 ]; then
|
||||
break;
|
||||
fi
|
||||
else
|
||||
#the root password isn't set
|
||||
break;
|
||||
fi
|
||||
else
|
||||
break;
|
||||
fi
|
||||
else
|
||||
echo "";
|
||||
echo "Passwords do not match";
|
||||
fi
|
||||
}
|
||||
done
|
||||
|
||||
echo "";
|
||||
|
||||
echo "mysql=$passwd" >> ${SETUP};
|
||||
echo "mysqluser=da_admin" >> ${SETUP};
|
||||
|
||||
#****************************************************
|
||||
|
||||
#STEP 3: generate admin password
|
||||
|
||||
ADMINNAME="admin";
|
||||
ADMINPASS=`perl -le'print map+(A..Z,a..z,0..9)[rand 62],0..7'`;
|
||||
|
||||
echo "adminname=admin" >> ${SETUP};
|
||||
echo "adminpass=$ADMINPASS" >> ${SETUP};
|
||||
|
||||
|
||||
|
||||
#***************************************************
|
||||
|
||||
#STEP 4: set the nameserver
|
||||
|
||||
TEST=`echo $hostname | cut -d. -f3`
|
||||
if [ "$TEST" = "" ]; then
|
||||
NS1=ns1.`echo $hostname | cut -d. -f1,2`
|
||||
NS2=ns2.`echo $hostname | cut -d. -f1,2`
|
||||
else
|
||||
NS1=ns1.`echo $hostname | cut -d. -f2,3,4,5,6`
|
||||
NS2=ns2.`echo $hostname | cut -d. -f2,3,4,5,6`
|
||||
fi
|
||||
|
||||
echo -e "ns1=$NS1\nns2=$NS2" >> ${SETUP};
|
||||
|
||||
|
||||
|
||||
#****************************************************
|
||||
|
||||
#STEP 5: get the ip
|
||||
|
||||
prefixToNetmask(){
|
||||
BINARY_IP=""
|
||||
for i in {1..32}; do {
|
||||
if [ ${i} -le ${1} ]; then
|
||||
BINARY_IP="${BINARY_IP}1"
|
||||
else
|
||||
BINARY_IP="${BINARY_IP}0"
|
||||
fi
|
||||
}
|
||||
done
|
||||
|
||||
B1=`echo ${BINARY_IP} | cut -c1-8`
|
||||
B2=`echo ${BINARY_IP} | cut -c9-16`
|
||||
B3=`echo ${BINARY_IP} | cut -c17-24`
|
||||
B4=`echo ${BINARY_IP} | cut -c25-32`
|
||||
NM1=`perl -le "print ord(pack('B8', '${B1}'))"`
|
||||
NM2=`perl -le "print ord(pack('B8', '${B2}'))"`
|
||||
NM3=`perl -le "print ord(pack('B8', '${B3}'))"`
|
||||
NM4=`perl -le "print ord(pack('B8', '${B4}'))"`
|
||||
|
||||
echo "${NM1}.${NM2}.${NM3}.${NM4}"
|
||||
}
|
||||
|
||||
if [ "${OS}" = "FreeBSD" ]; then
|
||||
IP=`grep -m1 '^ifconfig_' /etc/rc.conf | cut -d\ -f2`
|
||||
else
|
||||
IP=`ip addr show eth0 | grep -m1 'inet ' | awk '{print $2}' | cut -d/ -f1`
|
||||
PREFIX=`ip addr show eth0 | grep -m1 'inet ' | awk '{print $2}' | cut -d/ -f2`
|
||||
if echo "${IP}" | grep -m1 -q ':'; then
|
||||
NM="${PREFIX}"
|
||||
else
|
||||
NM=`prefixToNetmask ${PREFIX}`
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "ip=$IP" >> ${SETUP};
|
||||
echo "netmask=$NM" >> ${SETUP};
|
||||
|
||||
#***************************************************
|
||||
|
||||
#STEP 5: user id and license id
|
||||
|
||||
userid=0;
|
||||
liceid=0;
|
||||
|
||||
CORRECT="";
|
||||
while echo -n "Enter Your Client ID: ";
|
||||
read userid;
|
||||
echo "";
|
||||
echo -n "Enter Your License ID: ";
|
||||
read liceid;
|
||||
echo "";
|
||||
echo -n "Is CID: ${userid} and LID: ${liceid} correct? (y, n): ";
|
||||
read -n 1 CORRECT;
|
||||
echo "";
|
||||
do
|
||||
{
|
||||
if [ $CORRECT = $YES ]
|
||||
then
|
||||
break;
|
||||
fi
|
||||
}
|
||||
done
|
||||
|
||||
echo -e "uid=${userid}\nlid=${liceid}" >> ${SETUP}
|
||||
|
||||
|
||||
|
||||
#**********************************************************
|
||||
|
||||
#STEP 6: figure out what os he's using so we can get the correct services file
|
||||
|
||||
CORRECT="";
|
||||
SERVFILE="";
|
||||
while echo "What Operating system are you running?";
|
||||
if [ "${OS}" = "FreeBSD" ]; then
|
||||
echo -e "\t1:FreeBSD 4.8";
|
||||
read NUM
|
||||
else
|
||||
echo -e "\t1:RedHat 7.2";
|
||||
echo -e "\t2:RedHat 7.3";
|
||||
echo -e "\t3:RedHat 8.0";
|
||||
echo -e "\t4:RedHat 9.0";
|
||||
echo -n "Enter the number from the left: ";
|
||||
read -n 1 NUM
|
||||
fi
|
||||
echo ""
|
||||
do
|
||||
{
|
||||
case $NUM in
|
||||
1 ) SERVFILE="services72.tar.gz";
|
||||
;;
|
||||
2 ) SERVFILE="services73.tar.gz";
|
||||
;;
|
||||
3 ) SERVFILE="services80.tar.gz";
|
||||
;;
|
||||
4 ) SERVFILE="services90.tar.gz";
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$SERVFILE" = "" ]
|
||||
then
|
||||
continue;
|
||||
else
|
||||
break;
|
||||
fi
|
||||
}
|
||||
done
|
||||
|
||||
echo "services=${SERVFILE}" >> ${SETUP}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
echo "**********************************";
|
||||
echo "All Information has been gathered. Please make *sure* the following data is correct, if not, edit the setup.txt file before going on";
|
||||
echo "";
|
||||
/bin/cat ${SETUP};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
exit 0;
|
||||
Reference in New Issue
Block a user