Sophie

Sophie

distrib > Mandriva > 10.2 > x86_64 > by-pkgid > ff3ee324c0567e1c25614ef618e7dd7f > files > 28

clusterautosetup-2.1-5mdk.src.rpm

#!/bin/sh
# version 2.0 
# Run This script on server
# very simple script to setup nis and autofs
# so you can find some error. plz report: clic-dev-public@mandrakesoft.com

CONFFILE="/etc/clusterserver.conf"
if  [ ! -f ${CONFFILE} ]; then
        echo "Cant find ${CONFFILE} !"
        exit 1
fi
. ${CONFFILE}

# info
echo
echo " Setting up NIS server with default configuration !"
echo " Look in ${CONFFILE} to adjust NIS config"
echo 
echo " Using those values to setup the NIS:"
echo " |-----------------------------------------------------------"
echo " | Hostname:              | ${NAMEOFSERVER}"
echo " |-----------------------------------------------------------"
echo " | Domainname:            | ${DOMAINNAME}"
echo " |-----------------------------------------------------------"
echo " | Nis domain             | ${NISDOMAIN}"
echo " |-----------------------------------------------------------"
echo " | IP of NIS server:      | ${IPSERVER}"
echo " |-----------------------------------------------------------"
echo " | NIS home directory:    | ${HOMENIS}"
echo " |-----------------------------------------------------------"
echo " | NIS makefile:          | ${NIS_MAKEFILE}"
echo " |-----------------------------------------------------------"
echo " | NFS server:            | ${NFSSERVER}"
echo " |-----------------------------------------------------------"
echo
sleep 3

update_ypconf() {
echo " - Updating /etc/yp.conf:"
cp -v -f /etc/yp.conf /etc/yp.conf.${DATE}.sauv
grep -vi "domain" /etc/yp.conf.${DATE}.sauv > /etc/yp.conf
echo "domain ${NISDOMAIN} server ${NISSERVER}" >> /etc/yp.conf
# echo "server ${NISSERVER} broadcast" >> /etc/yp.conf
}

start_service() {
CHECK_YPSERV_STAT=`pidof $1`
if [ -z "${CHECK_YPSERV_STAT}" ]; then
        echo " - Starting $1 service:"
        /etc/rc.d/init.d/$1 start 
else
        echo " - Restarting $1 service:"
        /etc/rc.d/init.d/$1 restart
fi
}

# config of /etc/yp.conf
CHECK_YPCONF=`grep ${NISSERVER} /etc/yp.conf`
if [ -z "${CHECK_YPCONF}" ]; then 
	update_ypconf
	else 
	echo " - /etc/yp.conf is ok"
fi

# update /etc/sysconfig/network
CHECK_NETWORK=`grep NISDOMAIN=${NISDOMAIN} ${NETWORKFILE}`
if [ -z "${CHECK_NETWORK}" ]; then
	echo " - Updating ${NETWORKFILE}"
	cp -f ${NETWORKFILE} ${NETWORKFILE}.${DATE}.sauv
	echo "NISDOMAIN=${NISDOMAIN}" >> ${NETWORKFILE}
	else
	echo " - ${NETWORKFILE} is ok"
fi

# Setting nisdomainname
nisdomainname ${NISDOMAIN}

# create yp base 
/usr/lib/yp/ypinit -m << EOF
EOF

# test directory 
if [ -d "${HOMENIS}" ]; then
	echo " - ${HOMENIS} directory exist"
	else
        echo " - Creating ${HOMENIS} directory"
        mkdir ${HOMENIS}
fi

# check nis home 
CHECK_HOMENIS=`grep ${HOMENIS} /etc/exports`
if [ -z "${CHECK_HOMENIS}" ] ; then
	echo "${HOMENIS} 	*(sync,rw,no_root_squash)" >> /etc/exports
	start_service nfslock
	else
	echo " - /etc/exports ready:"
	echo ${CHECK_HOMENIS}
fi

# adjust /etc/auto.master 
echo " - Adjusting /etc/auto.master"
echo "${HOMENIS} auto.home     --timeout=60" > /etc/auto.master

# permission in /etc/auto.home
echo " - Permission for all user to go in /etc/auto.home"
echo "* -rw,nfs,soft,intr,nosuid,rsize=8192,wsize=8192       ${NISSERVER}:${HOMENIS}/&" > /etc/auto.home

# Makefile parameter
echo " - Updating ${NIS_MAKEFILE} to remove mail and add autofs"
perl -pi -e 's/^ALIASES.*/#ALIASES\=\/etc\/aliases/g' ${NIS_MAKEFILE} 
perl -pi -e 's/^all.*/all\:  passwd group hosts rpc services netid protocols auto.master auto.home \\/g' ${NIS_MAKEFILE}
echo
echo " - You can add a user or remove it with:"
echo "   deluserNis and adduserNis command" 

# build new MAP !
cd /var/yp
make

# restart service
start_service ypserv
start_service ypbind

# reload nfs
service nfs reload