home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- ende() {
- IP=`cat /tmp/ip`
-
- if [ -r /tmp/fail ]
- then
- dialog --clear --title "Installation teminΘe" --msgbox \
- "\nFΘlicitations,\n
- Vous venez apparemment d'installer Server-on-CD avec succΦs. Lors
- de la vΘrification automatique du rΘseau, aucune station de travail
- possΘdant un numΘro IP correct n'a pourtant pu Ωtre dΘtectΘe.
- Veuillez vΘrifier le cΓblage et les paramΦtres rΘseau des stations de
- travail (DΘmarrer -> ParamΦtres -> Panneau de configuration ->
- RΘseau). Vous trouverez de plus amples informations dans les fichier
- d'aide du CD, que vous pouvez consulter α l'aide d'un navigateur Web." 15 74
- else
- dialog --clear --title "Installation teminΘe" --msgbox \
- "\nFΘlicitations,\n
- Vous venez d'installer Server-on-CD avec succΦs. Vous pouvez
- effectuer les autres configurations requises sur une station de
- travail connectΘe. Pour cela, vous devez entrer le numΘro IP suivant
- dans le champ adresse du navigateur Web de cette station de travail :
- http://$IP:150 " 15 72
- fi
-
- rm /tmp/{setup.*,ip,ipnr,pass,fail} 2>&1 1>&/dev/null
-
- startdienste
-
- setterm -default
- setterm -blank 15
- }
-
-
- dhcp()
- {
- dialog --clear --title "NumΘros IP du serveur DHCP" --inputbox \
- "Veuillez entrer le numΘro IP de votre serveur DHCP ou bien appuyer
- sur la touche pour valider le numΘro IP 192.168.0.1. Le troisiΦme
- groupe de chiffres (valeur par dΘfaut=0) dΘtemine la structure
- rΘseau du serveur DHCP, le quatriΦme groupe de chiffres (valeur
- par dΘfaut=1), le numΘro du serveur. Le premier groupe de chiffres
- devrait Ωtre dΘfini sur \"192\", le deuxiΦme sur \"168\"." 20 72 "192.168.0.1" 2>/tmp/setup.$$
- antwort=$?
-
- if [ $antwort -eq 0 ]
- then
- if [ -z `cat /tmp/setup.$$` ]
- then
- /sbin/ifconfig eth0 192.168.0.1 2>&1 1>&/dev/null
- echo -n "192.168.0.1" >/etc/IPNR
- echo " 0" >>/etc/IPNR
- echo "ddns-update-style ad-hoc;" >/etc/dhcpd.conf
- echo "subnet $IPNR netmask 255.255.255.0 {" >>/etc/dhcpd.conf
- echo " range 192.168.0.2 192.168.0.254;">>/etc/dhcpd.conf
- echo "max-lease-time 2419200;">>/etc/dhcpd.conf
- echo "default-lease-time 2419200;">>/etc/dhcpd.conf
- echo "}">>/etc/dhcpd.conf
- echo "option netbios-node-type 1;">>/etc/dhcpd.conf
- echo "option routers 192.168.0.1;">>/etc/dhcpd.conf
- echo "option domain-name-servers 192.168.0.1;">>/etc/dhcpd.conf
-
- else
-
- /bin/testip -a `cat /tmp/setup.$$`
- if [ $? -ne 0 ]
- then
- fehlernetz
- return 1
- fi
-
- IP=`cat /tmp/setup.$$`
- echo $IP >/tmp/ip
- NET=`awk -F. '{print $1"."$2"."$3}' /tmp/setup.$$`
-
- /sbin/ifconfig eth0 $IP up 2>&1 1>&/dev/null
-
- IPNET=`awk -F. '{print $4+0}' /tmp/setup.$$`
-
- if [ $IPNET -lt 3 ]
- then
- IPMI=3
- IPMA=254
- elif [ $IPNET -gt 253 ]
- then
- IPMI=1
- IPMA=253
- else
- MAX2=`expr $IPNET - 1`
- MIN2=`expr $IPNET + 1`
- fi
-
- echo -n $IP >/etc/IPNR
- echo " 0" >>/etc/IPNR
-
- echo "ddns-update-style ad-hoc;" >/etc/dhcpd.conf
- echo "subnet $NET.0 netmask 255.255.255.0 {" >>/etc/dhcpd.conf
-
- if [ $MAX2 -lt $IPNET ]
- then
- echo " range $NET.1 $NET.$MAX2;" >> /etc/dhcpd.conf
- echo " range $NET.$MIN2 $NET.254;" >> /etc/dhcpd.conf
- else
- echo " range $NET.$IPMI $NET.$IPMA;">>/etc/dhcpd.conf
- fi
-
- echo "max-lease-time 2419200;">>/etc/dhcpd.conf
- echo "default-lease-time 2419200;">>/etc/dhcpd.conf
- echo "}">>/etc/dhcpd.conf
- echo "option netbios-node-type 1;">>/etc/dhcpd.conf
- echo "option routers $IP;">>/etc/dhcpd.conf
- echo "option domain-name-servers $IP;">>/etc/dhcpd.conf
- fi
- else
- /etc/rc.d/rc.install
- exit
- fi
-
- /usr/bin/dhcpd 2>&1 1>&/dev/null
- echo "1" >/etc/DHCP
- passwort
- testpass
- ende
- init 2
- exit
- }
-
- ethkonfig()
- {
- zahl=$1
- IPNR=$2
-
- /sbin/ifconfig eth$zahl $IPNR up 2>&1 1>&/dev/null
-
- if [ $? -ne 0 ]
- then
- return 0
- fi
-
- echo -n $IPNR >/etc/IPNR
-
- dialog --title "Test de la configuration rΘseau" --infobox \
- "\n\n Veuillez patienter..." 8 72
- sleep 1
-
- /usr/bin/myping $IPNR
-
- if [ $? -ne 0 ]
- then
- /sbin/ifconfig eth$zahl $(($zahl+1)) 2>&1 1>&/dev/null
- return 0
- else
- echo " $zahl" >>/etc/IPNR
- return 1
- fi
- }
-
- fehlerpass()
- {
- dialog --clear --title "Mot de passe" --inputbox \
- "\nLe mot de passe que vous avez indiquΘ est trop court. Le mot
- de passe doit comporter au moins 4 caractΦres alphanumΘriques !" 20 72 2>/tmp/setup.$$
- antwort=$?
- testpass
- }
-
- passwort()
- {
- dialog --clear --title "Mot de passe pour Server-on-CD" --inputbox \
- "\nVeuillez saisir un mot de passe pour l'adminitrateur. Le mot
- de passe est indispensable pour pouvoir modifier les paramΦtres
- du systΦme. Le mot de passe doit comporter au moins 4 caractΦres
- alphanumΘriques, et uniquement des nombres et des lettres. Vous
- pouvez effectuer une modification ultΘrieure du mot de passe d'une
- station de travail.
- \n" 20 72 2>/tmp/setup.$$
- antwort=$?
-
- if [ $antwort -eq 1 ]
- then
- until netz
- do foo
- done
- passwort
- testpass
- return
- fi
-
- }
-
- testpass()
- {
- COUNT=$(wc -c </tmp/setup.$$)
- if [ $COUNT -lt 4 ]
- then
- fehlerpass $IPNR 1
- unset COUNT
- return 1
- fi
- unset COUNT
- writepass
- }
-
- writepass()
- {
- echo -n "root:" > /tmp/pass
- cat /tmp/setup.$$ >> /tmp/pass
- echo -e "" >> /tmp/pass
- chpasswd </tmp/pass
- /usr/bin/htpasswd -bc /etc/apache/passwd supervisor `cat /tmp/setup.$$` 2>&1 1>&/dev/null
- rm /tmp/setup.$$
- rm /tmp/pass
- }
-
- fehlernetz()
- {
- dialog --clear --title "Saisie erronΘe" --msgbox \
- "\nLe numΘro IP que vous avez indiquΘ n'est pas valide.
- VΘrifiez les spΘcifications de format." 10 72
- }
-
- testnetz()
- {
- if [ ! -r /tmp/setup.$$ ]
- then
- fehlernetz
- fi
- IPNR=`awk -F. '{print $1+0"."$2+0"."$3+0"."$4+0}' /tmp/setup.$$`
- echo $IPNR >/tmp/ipnr
-
- /bin/testip -a $IPNR
- if [ $? -ne 0 ]
- then
- fehlernetz
- return 1
- fi
-
- for i in 0 1 2 3
- do
- ethkonfig $i $IPNR
- rueck=$?
- if [ $rueck -eq 1 ]
- then
- break
- fi
- done
-
- if [ $rueck -eq 0 ]
- then
- dialog --title "Avertissement" --menu "\n
- Le rΘseau ne rΘpond pas. Cela peut venir du fait qu'aucun
- autre ordinateur pourvu d'un numΘro IP valide n'est
- connectΘ et en fonctionnement. Les numΘros IP valides
- correspondent aux trois premiers chiffres.
- Veuillez sΘlectionner :\n" 17 72 2 \
- "1" "Poursuivre la configuration" \
- "2" "RΘtablir la configuration rΘseau" 2>/tmp/setup.$$
- antwort=$?
-
- if [ $antwort = 0 ]
- then
- ANTWORT=`cat /tmp/setup.$$`
- case $ANTWORT in
- 2) netz
- return ;;
- 1) /sbin/ifconfig eth0 $IPNR
- echo -n $IPNR >/etc/IPNR
- echo -e "1" >/tmp/fail
- echo " 0" >>/etc/IPNR ;;
-
- esac
- else
- netz
- return
- fi
- fi
-
- return 0
- }
-
-
- netzwerk()
- {
- dialog --clear --title "NumΘro IP du serveur" --inputbox \
- "\nVeuillez entrer \"DHCP\", si Server-on-CD doit effectuer
- l'installation automatiquement. Sinon, veuillez enregistrer
- le numΘro IP de cet ordinateur. Ce numΘro doit Ωtre indiquΘ
- au format 192.168.x.y (x=0-255, y=1-254). La valeur x doit
- Ωtre la mΩme pour tous les ordinateurs connectΘs de ce rΘseau,
- la valeur y doit Ωtre unique pour chaque ordinateur. Si vous
- n'avez pas encore attribuΘ de numΘro IP au rΘseau, nous
- conseillons le numΘro 192.168.0.1 (valeur par dΘfaut) pour ce
- serveur, le numΘro 192.168.0.2 pour la premiΦre station de
- travail, etc.\n\n" 20 72 "DHCP" 2>/tmp/setup.$$
-
- antwort=$?
- if [ $antwort -eq 0 ]
- then
- cp /tmp/setup.$$ /tmp/ip
- else
- /etc/rc.d/rc.install
- exit
- fi
- }
-
- netz()
- {
- netzwerk
- if [ `grep -i -c "dhcp" /tmp/ip` -eq 1 ]
- then
- dhcp
- else
- testnetz
- if [ $? -ne 0 ]
- then
- return 1
- fi
- fi
- }
-
- foo()
- {
- return
- }
-
- startdienste()
- {
- /usr/sbin/apachectl start 2>&1 1>&/dev/null
- /usr/sbin/smbd -D -s /etc/samba/smb.conf 2>&1 1>&/dev/null
- /usr/sbin/nmbd -D -s /etc/samba/smb.conf 2>&1 1>&/dev/null
- }
-
- dialog --clear --title "Server-on-CD" --msgbox \
- "\nBienvenue sur votre nouveau Server-on-CD. Vous devez encore
- indiquer ci-dessous quelques informations cocnernant cet
- ordinateur. Une fois l'installation rΘussie, vous pouvez gΘrer ce
- serveur depuis une station de travail connectΘe. Pour cela, cette
- station de travail a juste besoin d'un navigateur Web courant
- prenant en charge le langage Java-Script." 15 72
-
- # mount -t vfat /dev/hda1 /mnt
- cd /mnt/C 2>&1 1>&/dev/null
- if [ ! -d socd ]
- then
- mkdir socd 2>&1 1>&/dev/null
- fi
-
- until netz
- do
- foo
- done
-
- passwort
- testpass
- ende
-
- if [ -e /etc/DHCP ]
- then
- if [ `cat /etc/DHCP` -eq 1 ]
- then
- /usr/bin/dhcpd
- fi
- fi
- # /sbin/init 2
-