Files
tuend-work 27eec3dcc6 a
2025-11-13 11:08:42 +07:00

690 lines
19 KiB
Bash

#!/bin/sh
#This is the installer script. Run this and follow the directions
DA_PATH="/usr/local/directadmin"
DA_BIN="${DA_PATH}/directadmin"
DA_TQ="${DA_PATH}/data/task.queue"
DA_SCRIPTS="${DA_PATH}/scripts"
CB_OPTIONS=${DA_PATH}/custombuild/options.conf
DA_CRON="${DA_SCRIPTS}/directadmin_cron"
VIRTUAL="/etc/virtual"
OS=`uname`
CBVERSION="2.0"
DL_SERVER=da-mirror.wpcloud.vn
BACKUP_DL_SERVER=da-mirror.wpcloud.vn
if [ -s $CB_OPTIONS ]; then
DLS=`grep -m1 ^downloadserver $CB_OPTIONS | cut -d= -f2`;
if [ "${DLS}" != "" ]; then
DL_SERVER=${DLS}
fi
fi
CMD_LINE=$1
cd ${DA_SCRIPTS}
SYSTEMD=no
SYSTEMDDIR=/etc/systemd/system
if [ -d ${SYSTEMDDIR} ]; then
if [ -e /bin/systemctl ] || [ -e /usr/bin/systemctl ]; then
SYSTEMD=yes
fi
fi
if [ "$OS" = "FreeBSD" ]; then
WGET_PATH=/usr/local/bin/wget
else
WGET_PATH=/usr/bin/wget
fi
WGET_OPTION="--no-dns-cache";
COUNT=`$WGET_PATH --help | grep -c no-check-certificate`
if [ "$COUNT" -ne 0 ]; then
WGET_OPTION="--no-check-certificate ${WGET_OPTION}";
fi
#Create the diradmin user
createDAbase() {
mkdir -p ${DA_PATH}
if [ "${OS}" = "FreeBSD" ]; then
/usr/sbin/pw groupadd diradmin 2> /dev/null
/usr/sbin/pw useradd -g diradmin -n diradmin -b ${DA_PATH} -s /sbin/nologin 2> /dev/null
id diradmin
if [ $? -ne 0 ]; then
echo "we've just added the diradmin user.. but id can't seem to find it. Trying pwd_mkdb...";
pwd_mkdb -p /etc/master.passwd
id diradmin
if [ $? -ne 0 ]; then
echo "After trying the command:"
echo " pwd_mkdb -p /etc/master.passwd"
echo ""
echo "we still cannot find the diradmin user. Aborting."
exit 1
fi
fi
elif [ -e /etc/debian_version ]; then
/usr/sbin/adduser --system --group --firstuid 100 --home ${DA_PATH} --no-create-home --disabled-login --force-badname diradmin
else
/usr/sbin/useradd -d ${DA_PATH} -r -s /bin/false diradmin 2> /dev/null
fi
chmod -f 755 ${DA_PATH}
chown -f diradmin:diradmin ${DA_PATH}
mkdir -p /var/log/directadmin
mkdir -p ${DA_PATH}/conf
chown -f diradmin:diradmin ${DA_PATH}/*
chown -f diradmin:diradmin /var/log/directadmin
chmod -f 700 ${DA_PATH}/conf
chmod -f 700 /var/log/directadmin
if [ -e /etc/logrotate.d ]; then
cp $DA_SCRIPTS/directadmin.rotate /etc/logrotate.d/directadmin
chmod 644 /etc/logrotate.d/directadmin
fi
chown -f diradmin:diradmin ${DA_PATH}/conf/* 2> /dev/null
chmod -f 600 ${DA_PATH}/conf/* 2> /dev/null
mkdir -p /var/log/httpd/domains
chmod 710 /var/log/httpd/domains
chmod 710 /var/log/httpd
mkdir -p /home/tmp
chmod -f 1777 /home/tmp
/bin/chmod 711 /home
ULTMP_HC=/usr/lib/tmpfiles.d/home.conf
if [ -s ${ULTMP_HC} ]; then
#Q /home 0755 - - -
if grep -m1 -q '^Q /home 0755 ' ${ULTMP_HC}; then
perl -pi -e 's#^Q /home 0755 #Q /home 0711 #' ${ULTMP_HC};
fi
fi
mkdir -p /var/www/html
chmod 755 /var/www/html
SSHROOT=`cat /etc/ssh/sshd_config | grep -c '^AllowUsers '`;
if [ $SSHROOT -gt 0 ]
then
echo "" >> /etc/ssh/sshd_config
echo "AllowUsers root" >> /etc/ssh/sshd_config
chmod 710 /etc/ssh
fi
}
#After everything else copy the directadmin_cron to /etc/cron.d
copyCronFile() {
if [ "$OS" = "FreeBSD" ]; then
if ! grep -m1 -q 'dataskq' /etc/crontab && [ -s ${DA_CRON} ]; then
cat ${DA_CRON} | grep -v 'quotaoff' >> /etc/crontab;
else
echo "Could not find ${DA_CRON} or it is empty";
fi
else
if [ -s ${DA_CRON} ]; then
mkdir -p /etc/cron.d
cp ${DA_CRON} /etc/cron.d/;
chmod 600 /etc/cron.d/directadmin_cron
chown root /etc/cron.d/directadmin_cron
else
echo "Could not find ${DA_CRON} or it is empty";
fi
#CentOS/RHEL bits
if [ ! -s /etc/debian_version ]; then
CRON_BOOT=/etc/init.d/crond
if [ -d /etc/systemd/system ]; then
CRON_BOOT=/usr/lib/systemd/system/crond.service
fi
if [ ! -s ${CRON_BOOT} ]; then
echo ""
echo "****************************************************************************"
echo "* Cannot find ${CRON_BOOT}. Ensure you have cronie installed"
echo " yum install cronie"
echo "****************************************************************************"
echo ""
else
if [ -d /etc/systemd/system ]; then
systemctl daemon-reload
systemctl enable crond.service
systemctl restart crond.service
else
${CRON_BOOT} restart
/sbin/chkconfig crond on
fi
fi
fi
fi
}
#Copies the startup scripts over to the /etc/rc.d/init.d/ folder
#and chkconfig's them to enable them on bootup
copyStartupScripts() {
if [ "${SYSTEMD}" = "yes" ]; then
cp -f directadmin.service ${SYSTEMDDIR}/
cp -f startips.service ${SYSTEMDDIR}/
chmod 644 ${SYSTEMDDIR}/startips.service
systemctl daemon-reload
systemctl enable directadmin.service
systemctl enable startips.service
else
if [ "${OS}" = "FreeBSD" ]; then
BOOT_DIR=/usr/local/etc/rc.d/
#removed boot.sh, sshd and named from the list, as boot.sh is unused and the other 2 come pre-installed with the system
if [ ! -s ${BOOT_DIR}/startips ]; then
cp -f startips ${BOOT_DIR}/startips
chmod 755 ${BOOT_DIR}/startips
fi
if [ ! -s ${BOOT_DIR}/da-popb4smtp ]; then
echo '#!/bin/sh' > ${BOOT_DIR}/da-popb4smtp
echo '' >> ${BOOT_DIR}/da-popb4smtp
echo '. /etc/rc.subr' >> ${BOOT_DIR}/da-popb4smtp
echo '' >> ${BOOT_DIR}/da-popb4smtp
echo 'name="da_popb4smtp"' >> ${BOOT_DIR}/da-popb4smtp
echo 'rcvar="da_popb4smtp_enable"' >> ${BOOT_DIR}/da-popb4smtp
echo 'command="/usr/local/directadmin/da-popb4smtp"' >> ${BOOT_DIR}/da-popb4smtp
echo '' >> ${BOOT_DIR}/da-popb4smtp
echo 'load_rc_config $name' >> ${BOOT_DIR}/da-popb4smtp
echo ': ${da_popb4smtp_enable:=yes}' >> ${BOOT_DIR}/da-popb4smtp
echo '' >> ${BOOT_DIR}/da-popb4smtp
echo 'run_rc_command "$1"' >> ${BOOT_DIR}/da-popb4smtp
chmod 755 ${BOOT_DIR}/da-popb4smtp
fi
if [ ! -s ${BOOT_DIR}/directadmin ]; then
echo '#!/bin/sh' > ${BOOT_DIR}/directadmin
echo '' >> ${BOOT_DIR}/directadmin
echo '. /etc/rc.subr' >> ${BOOT_DIR}/directadmin
echo '' >> ${BOOT_DIR}/directadmin
echo 'name="directadmin"' >> ${BOOT_DIR}/directadmin
echo 'rcvar="directadmin_enable"' >> ${BOOT_DIR}/directadmin
echo 'pidfile="/var/run/${name}.pid"' >> ${BOOT_DIR}/directadmin
echo 'command="/usr/local/directadmin/directadmin"' >> ${BOOT_DIR}/directadmin
echo 'command_args="d"' >> ${BOOT_DIR}/directadmin
echo '' >> ${BOOT_DIR}/directadmin
echo 'load_rc_config $name' >> ${BOOT_DIR}/directadmin
echo ': ${directadmin_enable:=yes}' >> ${BOOT_DIR}/directadmin
echo '' >> ${BOOT_DIR}/directadmin
echo 'run_rc_command "$1"' >> ${BOOT_DIR}/directadmin
chmod 755 ${BOOT_DIR}/directadmin
fi
ERC=/etc/rc.conf
if [ -e ${ERC} ]; then
if ! /usr/bin/grep -m1 -q "^named_enable=" ${ERC}; then
echo 'named_enable="YES"' >> ${ERC}
else
perl -pi -e 's/^named_enable=.*/named_enable="YES"/' ${ERC}
fi
fi
else
cp -f directadmin /etc/init.d/directadmin
cp -f startips /etc/init.d/startips
# nothing for debian as non-systemd debian versions are EOL
if [ ! -s /etc/debian_version ]; then
/sbin/chkconfig directadmin reset
/sbin/chkconfig startips reset
fi
fi
fi
}
addUserGroup() {
if [ ${OS} = "FreeBSD" ]; then
PW=/usr/sbin/pw
ADD_UID=
ADD_GID=
if [ "${3}" != "" ]; then
ADD_UID="-u ${3}"
fi
if [ "${4}" != "" ]; then
ADD_GID="-g ${4}"
fi
if ! /usr/bin/grep -q "^${2}:" < /etc/group; then
${PW} groupadd ${2} ${ADD_GID}
fi
if ! /usr/bin/id ${1} > /dev/null; then
${PW} useradd -g ${2} -n ${1} -s /sbin/nologin ${ADD_UID}
fi
elif [ -e /etc/debian_version ]; then
if ! /usr/bin/id ${1} > /dev/null; then
adduser --system --group --no-create-home \
--disabled-login --force-badname ${1} > /dev/null
fi
else
if ! /usr/bin/id ${1} > /dev/null; then
/usr/sbin/useradd -r -s /bin/false ${1}
fi
fi
}
#touch exim's file inside /etc/virtual
touchExim() {
mkdir -p ${VIRTUAL};
chown -f mail ${VIRTUAL};
chgrp -f mail ${VIRTUAL};
chmod 755 ${VIRTUAL};
echo "`hostname -f`" >> ${VIRTUAL}/domains;
if [ ! -s ${VIRTUAL}/limit ]; then
echo "1000" > ${VIRTUAL}/limit
fi
if [ ! -s ${VIRTUAL}/limit_unknown ]; then
echo "0" > ${VIRTUAL}/limit_unknown
fi
if [ ! -s ${VIRTUAL}/user_limit ]; then
echo "200" > ${VIRTUAL}/user_limit
fi
chmod 755 ${VIRTUAL}/*
mkdir -p ${VIRTUAL}/usage
chmod 750 ${VIRTUAL}/usage
for i in domains domainowners pophosts blacklist_domains whitelist_from use_rbl_domains bad_sender_hosts bad_sender_hosts_ip blacklist_senders whitelist_domains whitelist_hosts whitelist_hosts_ip whitelist_senders skip_av_domains skip_rbl_domains; do
touch ${VIRTUAL}/$i;
chmod 600 ${VIRTUAL}/$i;
done
addUserGroup mail mail 12 12
chown -f mail:mail ${VIRTUAL}/*;
}
#get setup data
doGetInfo() {
if [ ! -e ./setup.txt ]; then
./getInfo.sh
fi
}
getLicense() {
if [ "${OS}" = "FreeBSD" ] && [ ! -e /usr/local/bin/wget ]; then
echo "wget not installed, installing it...";
if [ ! -x /usr/sbin/pkg ]; then
pkg_add -f ${DA_SCRIPTS}/packages/wget.tgz
if [ ! -e /usr/local/bin/wget ]; then
pkg_add -r wget
fi
else
pkg install -y wget
fi
fi
if [ -e /root/.skip_get_license ]; then
echo "/root/.skip_get_license exists. Not downloading license"
return;
fi
userid=`cat ./setup.txt | grep uid= | cut -d= -f2`;
liceid=`cat ./setup.txt | grep lid= | cut -d= -f2`;
ip=`cat ./setup.txt | grep ip= | cut -d= -f2`;
LAN=0
if [ -s /root/.lan ]; then
LAN=`cat /root/.lan`
fi
$DA_SCRIPTS/getLicense.sh auto
if [ $? -ne 0 ]; then
exit 1;
fi
}
doSetHostname() {
HN=`cat ./setup.txt | grep hostname= | cut -d= -f2`;
${DA_PATH}/scripts/hostname.sh ${HN}
#/sbin/service network restart
}
checkMD5()
{
if [ ${OS} = "FreeBSD" ]; then
MD5SUM=/sbin/md5
else
MD5SUM=/usr/bin/md5sum
fi
MD5_FILE=$1
MD5_CHECK=${MD5_FILE}.md5
if [ ! -s "${MD5SUM}" ]; then
echo "Cannot find $MD5SUM to check $MD5_FILE";
return;
fi
if [ ! -s "${MD5_FILE}" ]; then
echo "Cannot find ${MD5_FILE} or it is empty";
return;
fi
if [ ! -s "${MD5_CHECK}" ]; then
echo "Cannot find ${MD5_CHECK} or it is empty";
return;
fi
echo "";
echo -n "Checking MD5sum on $MD5_FILE ... ";
LOCAL_MD5=`${MD5SUM} ${MD5_FILE} | cut -d\ -f1`
CHECK_MD5=`cat ${MD5_CHECK} | cut -d\ -f1`
if [ "${LOCAL_MD5}" = "${CHECK_MD5}" ]; then
echo "Pass";
else
echo "Failed. Consider deleting $MD5_FILE and $MD5_CHECK then try again";
echo "";
echo "";
sleep 5;
fi
}
getServices() {
SERVICES_FILE=${DA_SCRIPTS}/packages/services.tar.gz
if [ -s "{$SERVICES_FILE}" ]; then
if [ -s "${SERVICES_FILE}.md5" ]; then
checkMD5 ${SERVICES_FILE}
fi
echo "Services file already exists. Assuming its been extracted, skipping...";
return;
fi
servfile=`cat ./setup.txt | grep services= | cut -d= -f2`;
#get the md5sum
${WGET_PATH} ${WGET_OPTION} http://${DL_SERVER}/services/${servfile}.md5 -O ${SERVICES_FILE}.md5
if [ ! -s ${SERVICES_FILE}.md5 ]; then
${WGET_PATH} ${WGET_OPTION} http://${BACKUP_DL_SERVER}/services/${servfile}.md5 -O ${SERVICES_FILE}.md5
if [ -s ${SERVICES_FILE}.md5 ]; then
echo "************************"
echo "Downloading from ${DL_SERVER} failed. Switching to the functional ${BACKUP_DL_SERVER}"
echo "************************"
DL_SERVER=${BACKUP_DL_SERVER}
else
${WGET_PATH} ${WGET_OPTION} http://da-mirror.wpcloud.vn/services/${servfile}.md5 -O ${SERVICES_FILE}.md5
if [ -s ${SERVICES_FILE}.md5 ]; then
echo "************************"
echo "Downloading from ${DL_SERVER} and ${BACKUP_DL_SERVER} failed. Switching to the functional da-mirror.wpcloud.vn"
echo "************************"
DL_SERVER=da-mirror.wpcloud.vn
fi
fi
fi
if [ ! -s ${SERVICES_FILE}.md5 ];
then
echo "";
echo "failed to get md5 file: ${SERVICES_FILE}.md5";
echo "";
sleep 4;
fi
${WGET_PATH} ${WGET_OPTION} http://${DL_SERVER}/services/${servfile} -O $SERVICES_FILE
if [ $? -ne 0 ]
then
echo "Error downloading the services file";
exit 1;
fi
#we have md5, lets use it.
if [ -s ${SERVICES_FILE}.md5 ]; then
checkMD5 ${SERVICES_FILE}
fi
echo "Extracting services file...";
tar xzf $SERVICES_FILE -C ${DA_SCRIPTS}/packages
if [ $? -ne 0 ]
then
echo "Error extracting services file";
exit 1;
fi
}
./doChecks.sh
if [ $? -ne 0 ]; then
exit 1
fi
echo "Chạy doGetInfo"
doGetInfo
echo "Chạy doSetHostname"
doSetHostname
echo "Chạy createDAbase"
createDAbase
echo "Chạy copyStartupScripts"
copyStartupScripts
echo "Chạy touchExim"
#copyCronFile #moved lower, after custombuild, march 7, 2011
touchExim
echo "Chạy ./fstab.sh"
./fstab.sh
echo "Chạy ${DA_SCRIPTS}/cron_deny.sh"
${DA_SCRIPTS}/cron_deny.sh
echo "Chạy getLicense"
getLicense
echo "Chạy getServices"
getServices
if [ ! -e ${DA_PATH}/custombuild/options.conf ] && [ -e /etc/redhat-release ] && [ ! -e /etc/init.d/xinetd ] && [ -e /usr/bin/yum ]; then
yum -y install xinetd
/sbin/chkconfig xinetd on
/sbin/service xinetd start
fi
cd ${DA_SCRIPTS}
cp -f ${DA_SCRIPTS}/redirect.php /var/www/html/redirect.php
#CB should install pure-ftpd without issues
#if [ -s ${DA_SCRIPTS}/proftpd.sh ]; then
# ${DA_SCRIPTS}/proftpd.sh
#fi
#Clean up FTP env
#Get out of here! We don't want any of this (wu-ftpd)!
if [ "${OS}" = "FreeBSD" ]; then
perl -pi -e 's/^ftp/#ftp/' /etc/inetd.conf
killall -HUP inetd
elif [ -s /etc/debian_version ]; then
dpkg -r --force-all gadmin-proftpd gforge-ftp-proftpd gproftpd proftpd-basic proftpd-doc proftpd-mod-ldap proftpd-mod-mysql proftpd-mod-pgsql pure-ftpd pure-ftpd-common 2> /dev/null
dpkg -P gadmin-proftpd gforge-ftp-proftpd gproftpd proftpd-basic proftpd-doc proftpd-mod-ldap proftpd-mod-mysql proftpd-mod-pgsql pure-ftpd pure-ftpd-common 2> /dev/null
else
rpm -e --nodeps wu-ftp 2> /dev/null
rpm -e --nodeps wu-ftpd 2> /dev/null
rpm -e --nodeps anonftp 2> /dev/null
rpm -e --nodeps pure-ftpd 2> /dev/null
rpm -e --nodeps vsftpd 2> /dev/null
rpm -e --nodeps psa-proftpd 2> /dev/null
rpm -e --nodeps psa-proftpd-xinetd 2> /dev/null
rpm -e --nodeps psa-proftpd-start 2> /dev/null
rm -f /etc/xinetd.d/proftpd
rm -f /etc/xinetd.d/wu-ftpd.rpmsave
rm -f /etc/xinetd.d/wu-ftpd
rm -f /etc/xinetd.d/ftp_psa
rm -f /etc/xinetd.d/gssftp
rm -f /etc/xinetd.d/xproftpd
fi
killall -9 pure-ftpd 2> /dev/null > /dev/null
rm -f /usr/local/sbin/pure-ftpd 2> /dev/null > /dev/null
#while we're doing it, lets get rid of pop stuff too
rm -f /etc/xinetd.d/pop*
#in case they it still holds port 21
if [ -s /etc/init.d/xinetd ] && [ "${SYSTEMD}" = "no" ]; then
/sbin/service xinetd restart
fi
if [ -s /usr/lib/systemd/system/xinetd.service ] && [ "${SYSTEMD}" = "yes" ]; then
systemctl restart xinetd.service
fi
if [ -s ${DA_SCRIPTS}/majordomo.sh ]; then
cd packages
tar xzf majordomo-*.tar.gz
cd ..
#${DA_SCRIPTS}/majordomo.sh
fi
echo "Chạy ${DA_SCRIPTS}/sysbk.sh"
${DA_SCRIPTS}/sysbk.sh
#ncftp not needed anymore by default: https://www.directadmin.com/features.php?id=2488
#if [ ! -e "/usr/bin/ncftpput" ]; then
# ${DA_SCRIPTS}/ncftp.sh
#fi
if [ "${OS}" != "FreeBSD" ]; then
if grep -m1 -q '^adminname=' ./setup.txt; then
ADMINNAME=`grep -m1 '^adminname=' ./setup.txt | cut -d= -f2`
/usr/sbin/userdel -r ${ADMINNAME}
rm -rf ${DA_PATH}/data/users/${ADMINNAME}
fi
fi
# Install CustomBuild
cd ${DA_PATH}
${WGET_PATH} ${WGET_OPTION} -O custombuild.tar.gz http://${DL_SERVER}/services/custombuild/${CBVERSION}/custombuild.tar.gz
if [ $? -ne 0 ]; then
${WGET_PATH} ${WGET_OPTION} -O custombuild.tar.gz http://${BACKUP_DL_SERVER}/services/custombuild/${CBVERSION}/custombuild.tar.gz
if [ $? -ne 0 ]; then
echo "*** There was an error downloading the custombuild script. ***";
exit 1;
fi
fi
tar xzf custombuild.tar.gz
cd custombuild
echo "Chạy ./build update_script"
chmod 755 build
./build update_script
./build update
./build all d
if [ $? -ne 0 ]; then
copyCronFile
exit 1
fi
#moved here march 7, 2011
copyCronFile
if [ -s /var/www/html/redirect.php ]; then
chown webapps:webapps /var/www/html/redirect.php
fi
if [ ! -e /usr/local/bin/php ]; then
echo "*******************************************"
echo "*******************************************"
echo ""
echo "Cannot find /usr/local/bin/php"
echo "Please recompile php with custombuild, eg:"
echo "cd ${DA_PATH}/custombuild"
echo "./build all d"
echo ""
echo "*******************************************"
echo "*******************************************"
exit 1
fi
cd ${DA_PATH}
./directadmin i
RET=$?
cd ${DA_PATH}
./directadmin p
perl -pi -e 's/directadmin=OFF/directadmin=ON/' ${DA_PATH}/data/admin/services.status
echo "";
echo "System Security Tips:";
echo " http://help.directadmin.com/item.php?id=247";
echo "";
DACONF=${DA_PATH}/conf/directadmin.conf
if [ ! -s $DACONF ]; then
echo "";
echo "*********************************";
echo "*";
echo "* Cannot find $DACONF";
echo "* Please see this guide:";
echo "* http://help.directadmin.com/item.php?id=267";
echo "*";
echo "*********************************";
exit 1;
fi
if [ "${LAN}" = "1" ]; then
#link things up for the lan.
cd ${DA_PATH}
#get the server IP
IP=`grep -m1 ^ip= ./scripts/setup.txt | cut -d= -f2`;
LAN_IP=`./scripts/get_main_ip.sh`
if [ "${IP}" != "" ] && [ "${LAN_IP}" != "" ]; then
if [ "${IP}" = "${LAN_IP}" ]; then
echo "*** scripts/install.sh: Are you sure this is a LAN? The server IP matches the main system IP:${IP}"
sleep 2;
else
#Let us confirm that the LAN IP actually gives us the correct server IP.
echo "Confirming that '${WGET_PATH} ${WGET_OPTION} --bind-address=${LAN_IP} http://myip.directadmin.com' returns ${IP} ..."
EXTERNAL_IP=`${WGET_PATH} ${WGET_OPTION} --tries=3 --connect-timeout=6 --timeout=6 --bind-address=${LAN_IP} -q -O - http://myip.directadmin.com 2>&1`
BIND_RET=$?
if [ "${BIND_RET}" = "0" ]; then
#we got the IP WITH the bind
if [ "${EXTERNAL_IP}" = "${IP}" ]; then
echo "LAN IP SETUP: Binding to ${LAN_IP} did return the correct IP address. Completing last steps of Auto-LAN setup ..."
echo "Adding lan_ip=${LAN_IP} to directadmin.conf ..."
${DA_BIN} set lan_ip ${LAN_IP}
echo 'action=directadmin&value=restart' >> ${DA_TQ}
echo "Linking ${LAN_IP} to ${IP}"
NETMASK=`grep -m1 ^netmask= ./scripts/setup.txt | cut -d= -f2`;
echo "action=linked_ips&ip_action=add&ip=${IP}&ip_to_link=${LAN_IP}&apache=yes&dns=no&apply=yes&add_to_ips_list=yes&netmask=${NETMASK}" >> ${DA_TQ}.cb
${DA_PATH}/dataskq --custombuild
echo "Issuing custombuild rewrite_conf to insert ${LAN_IP} into main server VirtualHosts..."
${DA_PATH}/custombuild/build rewrite_confs
echo "LAN IP SETUP: Done."
else
echo "*** scripts/install.sh: LAN: when binding to ${LAN_IP}, wget returned external IP ${EXTERNAL_IP}, which is odd."
echo "Not automatically setting up the directadmin.conf:lan_ip=${LAN_IP}, and not automatically linking ${LAN_IP} to ${IP}"
sleep 2
fi
else
echo "*** scripts/install.sh: LAN: failed to double check if LAN IP ${LAN_IP} can be used bind for outbond connections"
if [ "${BIND_RET}" = "4" ]; then
echo "wget exited with code 4, implying a 'Network Failure', often meaning the --bind-address=${LAN_IP} does not work."
else
echo "wget exited with code ${BIND_RET}: please manually try the above wget call or check 'main wget' for info on this EXIT STATUS"
fi
echo "Not automatically setting up the directadmin.conf:lan_ip=${LAN_IP}, and not automatically linking ${LAN_IP} to ${IP}"
sleep 2
fi
fi
else
if [ "${IP}" = "" ]; then
echo "The ip= value in the scripts/setup.txt is blank"
fi
if [ "${LAN_IP}" = "" ]; then
echo "The ip returned from scripts/get_main_ip.sh is blank"
fi
fi
fi
exit ${RET}