Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 595 → Rev 594

/alcasar.sh
39,7 → 39,6
VERSION=`cat VERSION`
DATE=`date '+%d %B %Y - %Hh%M'`
DATE_SHORT=`date '+%d/%m/%Y'`
Lang=`echo $LANG|cut -c 1-2`
# ******* Files parameters - paramètres fichiers *********
DIR_INSTALL=`pwd` # répertoire d'installation
DIR_CONF="$DIR_INSTALL/conf" # répertoire d'installation contenant les fichiers de configuration
60,7 → 59,8
DOMAIN="localdomain" # domaine local
EXTIF="eth0" # ETH0 est l'interface connectée à Internet (Box FAI)
INTIF="eth1" # ETH1 est l'interface connectée au réseau local de consultation
DEFAULT_PRIVATE_NETWORK_MASK="192.168.182.0/24" # adresse du réseau de consultation proposée par défaut
CUSTOM_PRIVATE_NETWORK_MASK="192.168.182.0/24" # adresse du réseau de consultation proposée par défaut
SQUID_PORT="3128" # Port d'écoute du proxy Squid
# ****** Paths - chemin des commandes *******
SED="/bin/sed -i"
# ****************** End of global parameters *********************
80,10 → 80,8
##################################################################
testing ()
{
if [ $Lang == "fr" ]
then echo -n "Tests des paramètres réseau :"
else echo -n "Network parameters tests : "
fi
echo "Tests des paramètres réseau."
echo -n "Network parameters tests : "
# We test the Ethernet links state
for i in $EXTIF $INTIF
do
91,16 → 89,12
sleep 3
if [ "`/usr/sbin/ethtool $i|grep Link|cut -d' ' -f3`" != "yes" ]
then
if [ $Lang == "fr" ]
then
echo "Échec"
echo "Le lien réseau de la carte $i n'est pas actif."
echo "Réglez ce problème puis relancez ce script."
else
echo "Failed"
echo "The link state of $i interface id down."
echo "Resolv this problem, then restart this script."
fi
echo "Échec"
echo "Le lien réseau de la carte $i n'est pas actif."
echo "Réglez ce problème puis relancez ce script."
echo "Failed"
echo "The link state of $i interface id down."
echo "Resolv this problem, then restart this script."
exit 0
fi
echo -n "."
107,25 → 101,19
done
# On teste la présence d'un routeur par défaut (Box FAI)
if [ `/sbin/route -n|grep -c ^0.0.0.0` -ne "1" ] ; then
if [ $Lang == "fr" ]
then
echo "Échec"
echo "Vous n'avez pas configuré l'accès à Internet ou le câble réseau n'est pas sur la bonne carte."
echo "Réglez ce problème puis relancez ce script."
else
echo "Failed"
echo "You haven't configured Internet access or Internet link is on the wrong Ethernet card"
echo "Resolv this problem, then restart this script."
fi
echo "Échec"
echo "Vous n'avez pas configuré l'accès à Internet ou le câble réseau n'est pas sur la bonne carte."
echo "Réglez ce problème puis relancez ce script."
echo "Failed"
echo "You haven't configured Internet access or Internet link is on the wrong Ethernet card"
echo "Resolv this problem, then restart this script."
exit 0
fi
echo -n "."
# On traite le cas où l'interface configurée lors de l'installation est "eth1" au lieu de "eth0" (mystère sur certaines version de BIOS et de VirtualBox)
if [ `/sbin/route -n|grep ^0.0.0.0|grep -c eth1` -eq "1" ] ; then
if [ $Lang == "fr" ]
then echo "La configuration des cartes réseau va être corrigée."
else echo "The Ethernet card configuration will be corrected."
fi
echo "La configuration des cartes réseau va être corrigée."
echo "The Ethernet card configuration will be corrected."
/etc/init.d/network stop
mv -f /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth0
$SED "s?eth1?eth0?g" /etc/sysconfig/network-scripts/ifcfg-eth0
132,15 → 120,11
/etc/init.d/network start
echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
sleep 2
if [ $Lang == "fr" ]
then echo "Configuration corrigée"
else echo "Configuration updated"
fi
echo "Configuration corrigée"
echo "Configuration updated"
sleep 2
if [ $Lang == "fr" ]
then echo "Vous pouvez relancer ce script."
else echo "You can restart this script."
fi
echo "Vous pouvez relancer ce script."
echo "You can restart this script."
exit 0
fi
echo -n "."
149,16 → 133,12
arp_reply=`/usr/sbin/arping -b -I$EXTIF -c1 -w2 $IP_GW|grep response|cut -d" " -f2`
if [ $(expr $arp_reply) -eq 0 ]
then
if [ $Lang == "fr" ]
then
echo "Échec"
echo "Le routeur de site ou la Box Internet ($IP_GW) ne répond pas."
echo "Réglez ce problème puis relancez ce script."
else
echo "Failed"
echo "The Internet gateway doesn't answered"
echo "Resolv this problem, then restart this script."
fi
echo "Échec"
echo "Le routeur de site ou la Box Internet ($IP_GW) ne répond pas."
echo "Réglez ce problème puis relancez ce script."
echo "Failed"
echo "The Internet gateway doesn't answered"
echo "Resolv this problem, then restart this script."
exit 0
fi
echo -n "."
167,16 → 147,12
/usr/bin/curl www.google.fr -s -o /tmp/con_ok.html
if [ ! -e /tmp/con_ok.html ]
then
if [ $Lang == "fr" ]
then
echo "La tentative de connexion vers Internet a échoué (google.fr)."
echo "Vérifiez que la carte $EXTIF est bien connectée au routeur du FAI."
echo "Vérifiez la validité des adresses IP des DNS."
else
echo "The Internet connection try failed (google.fr)."
echo "Please, verify that the $EXTIF card is connected with the Internet gateway."
echo "Verify the DNS IP addresses"
fi
echo "La tentative de connexion vers Internet a échoué (google.fr)."
echo "Vérifiez que la carte $EXTIF est bien connectée au routeur du FAI."
echo "Vérifiez la validité des adresses IP des DNS."
echo "The Internet connection try failed (google.fr)."
echo "Please, verify that the $EXTIF card is connected with the Internet gateway."
echo "Verify the DNS IP addresses"
exit 0
fi
rm -rf /tmp/con_ok.html
197,10 → 173,8
PTN='^[a-zA-Z0-9-]*$'
until [[ $(expr $ORGANISME : $PTN) -gt 0 ]]
do
if [ $Lang == "fr" ]
then echo "Entrez le nom de votre organisme : "
else echo -n "Enter the name of your organisation : "
fi
echo "Entrez le nom de votre organisme : "
echo -n "Enter the name of your organisation : "
read ORGANISME
if [ "$ORGANISME" = "" ]
then
242,15 → 216,15
$SED "s?^radiuspwd=.*?radiuspwd=\"$radiuspwd\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh $DIR_DEST_BIN/alcasar-conf.sh
# On génère le début du fichier récapitulatif
cat <<EOF > $FIC_PARAM
################################################
## ##
## ALCASAR Paramèters ##
## ##
################################################
########################################################
## ##
## Fichier récapitulatif des paramètres d'ALCASAR ##
## ##
########################################################
 
- Install date : $DATE
- Version : $VERSION
- Organism : $ORGANISME
- Date d'installation : $DATE
- Version istallée : $VERSION
- Organisme : $ORGANISME
EOF
chmod o-rwx $FIC_PARAM
} # End of init ()
258,7 → 232,8
##################################################################
## Fonction network ##
## - Définition du plan d'adressage du réseau de consultation ##
## - Nommage DNS du système ##
## (merci à Alexandre Trias pour le calcul de masque et RegEx) ##
## - Nommage DNS du système (portail + nom d'organisme) ##
## - Configuration de l'interface eth1 (réseau de consultation) ##
## - Modification du fichier /etc/hosts ##
## - Configuration du serveur de temps (NTP) ##
267,51 → 242,54
network ()
{
header_install
if [ $Lang == "fr" ]
then echo "Par défaut, le plan d'adressage IP du réseau de consultation est : $DEFAULT_PRIVATE_NETWORK_MASK"
else echo "The default consultation network IP address is : $DEFAULT_PRIVATE_NETWORK_MASK"
fi
echo "Par défaut, le plan d'adressage du réseau de consultation est : $CUSTOM_PRIVATE_NETWORK_MASK"
response=0
PTN='^[oOyYnN]$'
PTN='^[oOnN]$'
until [[ $(expr $response : $PTN) -gt 0 ]]
do
if [ $Lang == "fr" ]
then echo -n "Voulez-vous utiliser ce plan d'adressage (recommandé) (O/n)? : "
else echo -n "Do you want to use it (recommanded) (Y/n)? : "
fi
echo -n "Voulez-vous utiliser ce plan d'adressage (recommandé) (O/n)? : "
read response
done
if [ "$response" = "n" ] || [ "$response" = "N" ]
then
PRIVATE_NETWORK_MASK="0"
CUSTOM_PRIVATE_NETWORK_MASK="0"
PTN='^\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\).\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\).\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\).\([01]\?[[:digit:]][[:digit:]]\?\|2[0-4][[:digit:]]\|25[0-5]\)/[012]\?[[:digit:]]$'
until [[ $(expr $PRIVATE_NETWORK_MASK : $PTN) -gt 0 ]]
until [[ $(expr $CUSTOM_PRIVATE_NETWORK_MASK : $PTN) -gt 0 ]]
do
if [ $Lang == "fr" ]
then echo -n "Entrez un plan d'adressage IP au format CIDR (a.b.c.d/xx) : "
else echo -n "Enter a network IP address in CIDR format (a.b.c.d/xx) : "
fi
read PRIVATE_NETWORK_MASK
echo -n "Entrez un plan d'adressage au format CIDR (a.b.c.d/xx) : "
read CUSTOM_PRIVATE_NETWORK_MASK
 
done
else
PRIVATE_NETWORK_MASK=$DEFAULT_PRIVATE_NETWORK_MASK
fi
# Définition de la config réseau côté "LAN de consultation"
# Récupération de la config réseau côté "LAN de consultation"
hostname $HOSTNAME
echo "- Hostname : $HOSTNAME" >> $FIC_PARAM
PRIVATE_NETWORK=`/bin/ipcalc -n $DEFAULT_PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ réseau de consultation (ex.: 192.168.182.0)
PRIVATE_PREFIX=`/bin/ipcalc -p $DEFAULT_PRIVATE_NETWORK_MASK |cut -d"=" -f2` # prefixe du réseau (ex. 24)
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$PRIVATE_PREFIX # @ réseau + masque (x.0.0.0/8 ou x.y.0.0/16 ou x.y.z.0/24)
classe=$((PRIVATE_PREFIX/8)); # classe de réseau (ex.: 2=classe B, 3=classe C)
echo "- Nom du système : $HOSTNAME" >> $FIC_PARAM
PRIVATE_NETWORK=`/bin/ipcalc -n $CUSTOM_PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ réseau de consultation (ex.: 192.168.182.0)
private_prefix=`/bin/ipcalc -p $CUSTOM_PRIVATE_NETWORK_MASK |cut -d"=" -f2` # prefixe du réseau (ex. 24)
PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK/$private_prefix # @ réseau + masque (x.0.0.0/8 ou x.y.0.0/16 ou x.y.z.0/24)
classe=$((private_prefix/8)); # classe de réseau (ex.: 2=classe B, 3=classe C)
PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`. # @ compatible hosts.allow et hosts.deny (ex.: 192.168.182.)
PRIVATE_MASK=`/bin/ipcalc -m $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # masque réseau de consultation (ex.: 255.255.255.0)
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ broadcast réseau de consultation (ex.: 192.168.182.255)
TMP_MASK=`echo $PRIVATE_NETWORK_MASK|cut -d"/" -f2`; HALF_MASK=`expr $TMP_MASK + 1` # masque du 1/2 réseau de consultation (ex.: 25)
PRIVATE_STAT_IP=$PRIVATE_NETWORK/$HALF_MASK # plage des adresses statiques (ex.: 192.168.182.0/25)
PRIVATE_STAT_MASK=`/bin/ipcalc -m $PRIVATE_STAT_IP/$HALF_MASK | cut -d"=" -f2` # masque des adresses statiques (ex.: 255.255.255.128)
classe_sup=`expr $classe + 1`
classe_sup_sup=`expr $classe + 2`
private_network_ending=`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup`
PRIVATE_NETWORK_SHORT=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`. # @ compatible hosts.allow et hosts.deny (ex.: 192.168.182.)
PRIVATE_MASK=`/bin/ipcalc -m $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # masque réseau de consultation (ex.: 255.255.255.0)
PRIVATE_BROADCAST=`/bin/ipcalc -b $PRIVATE_NETWORK_MASK | cut -d"=" -f2` # @ broadcast réseau de consultation (ex.: 192.168.182.255)
PRIVATE_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # @ip du portail (côté réseau de consultation)
PRIVATE_DYN_FIRST_IP=`echo $PRIVATE_IP | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # @ip du portail (côté réseau de consultation)
PRIVATE_DYN_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_network_ending - 1` # @ip du portail (côté réseau de consultation)
private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f$classe_sup`
private_plage=`expr $private_broadcast_ending - $private_network_ending + 1`
private_half_plage=`expr $private_plage / 2`
private_dyn=`expr $private_half_plage + $private_network_ending`
private_dyn_ip_network=`echo $PRIVATE_NETWORK | cut -d"." -f1-$classe`"."$private_dyn"."`echo $PRIVATE_NETWORK | cut -d"." -f$classe_sup_sup-5`
PRIVATE_DYN_IP=`echo $private_dyn_ip_network | cut -d"." -f1-4`/$HALF_MASK # plage des adresses dynamiques (ex.: 192.168.182.128/25)
PRIVATE_DYN_MASK=`/bin/ipcalc -m $PRIVATE_DYN_IP/$HALF_MASK | cut -d"=" -f2` # masque des adresses dynamiques (ex.: 255.255.255.128)
private_dyn_ip_network=`echo $PRIVATE_DYN_IP | cut -d"/" -f1` # plage des adresses dynamiques sans le masque (ex.: 192.168.182.0)
private_dyn_ip_end=`echo $private_dyn_ip_network | cut -d"." -f4` # dernier octet de la plage des adresses dynamiques (ex.: 128)
PRIVATE_DYN_FIRST_IP=`echo $private_dyn_ip_network | cut -d"." -f1-3`"."`expr $private_dyn_ip_end + 1` # 1ère adresse de la plage dynamique (ex.: 192.168.182.129)
private_broadcast_end=`echo $PRIVATE_BROADCAST | cut -d"." -f4`
PRIVATE_DYN_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_end - 1` # dernière adresse de la plage dynamique (ex.: 192.168.182.254)
PRIVATE_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_end + 1` # @ip du portail (côté réseau de consultation)
# Récupération de la config réseau côté "Internet"
[ -e /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF ] || cp /etc/sysconfig/network-scripts/ifcfg-$EXTIF /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF
EXT_IP=`grep IPADDR /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2` # @ip du portail (côté Internet)
322,14 → 300,9
DNS2=${DNS2:=208.67.222.222}
EXT_NETMASK=`grep NETMASK /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2`
EXT_GATEWAY=`grep GATEWAY /etc/sysconfig/network-scripts/default-ifcfg-$EXTIF|cut -d"=" -f2`
echo "- IP address 'Internet side' ($EXTIF) : $EXT_IP / $EXT_NETMASK" >> $FIC_PARAM
echo "- Gateway : $EXT_GATEWAY" >> $FIC_PARAM
echo "- DNS servers : $DNS1 et $DNS2" >> $FIC_PARAM
echo "- IP address 'LAN side' ($INTIF) : $PRIVATE_IP/$PRIVATE_PREFIX" >> $FIC_PARAM
echo "- Dynamic IP addresses (DHCP) : from $PRIVATE_DYN_FIRST_IP to $PRIVATE_DYN_LAST_IP" >> $FIC_PARAM
echo "PRIVATE_NETWORK_MASK=$PRIVATE_NETWORK_MASK" > $DIR_DEST_ETC/alcasar-network
echo "PRIVATE_IP=$PRIVATE_IP" >> $DIR_DEST_ETC/alcasar-network
echo "DHCP=on" >> $DIR_DEST_ETC/alcasar-network
echo "- Adresse IP 'côté Internet' ($EXTIF) : $EXT_IP / $EXT_NETMASK" >> $FIC_PARAM
echo "- Serveurs DNS renseignés : $DNS1 et $DNS2" >> $FIC_PARAM
echo "- Routeur de sortie : $EXT_GATEWAY" >> $FIC_PARAM
# Configuration réseau
cat <<EOF > /etc/sysconfig/network
NETWORKING=yes
342,6 → 315,9
127.0.0.1 localhost
$PRIVATE_IP $HOSTNAME
EOF
echo "- Adresse IP 'côté réseau de consultation' ($INTIF) : $PRIVATE_IP / $PRIVATE_NETWORK_MASK" >> $FIC_PARAM
echo " - plage d'adresses statiques : $PRIVATE_STAT_IP" >> $FIC_PARAM
echo " - plage d'adresses dynamiques (via DHCP) : $PRIVATE_DYN_IP" >> $FIC_PARAM
# Configuration de l'interface eth0 (Internet)
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-$EXTIF
DEVICE=$EXTIF
461,34 → 437,22
</body>
</html>
EOF
echo "- ALCASAR Control Center URL : http://$HOSTNAME" >> $FIC_PARAM
echo "- URL d'accès au centre de gestion : http://$HOSTNAME" >> $FIC_PARAM
# Définition du premier compte lié au profil 'admin'
header_install
if [ "$mode" = "install" ]
then
header_install
if [ $Lang == "fr" ]
then
echo "Pour administrer Alcasar via le centre de gestion WEB, trois profils de comptes ont été définis :"
echo " - le profil 'admin' capable de réaliser toutes les opérations"
echo " - le profil 'backup' lié uniquement aux fonctions d'archivage"
echo " - le profil 'manager' lié uniquement aux fonctions de gestion des usagers"
echo ""
echo "Définissez le premier compte du profil 'admin' :"
echo
echo -n "Nom : "
else
echo "To manage Alcasar thru the WEB control center, three accounts profiles were defined :"
echo " - the 'admin profile who can do all operations"
echo " - the 'backup' profile link to backup functions"
echo " - the 'manager' profile link to users management"
echo ""
echo "Define the first account of the 'admin' profile :"
echo
echo -n "Account : "
fi
echo "Pour administrer Alcasar via le centre de gestion WEB, trois profils de comptes ont été définis :"
echo " - le profil 'admin' capable de réaliser toutes les opérations"
echo " - le profil 'backup' lié uniquement aux fonctions d'archivage"
echo " - le profil 'manager' lié uniquement aux fonctions de gestion des usagers"
echo ""
echo "Définissez le premier compte du profil 'admin' :"
echo
echo -n "Nom : "
read admin_portail
echo "- Name of the first account of the admin profile : $admin_portail" >> $FIC_PARAM
echo "- Nom du premier compte lié au profil 'admin' : $admin_portail" >> $FIC_PARAM
# Création du fichier de clés de ce compte dans le profil "admin"
[ -d $DIR_DEST_ETC/digest ] && rm -rf $DIR_DEST_ETC/digest
mkdir -p $DIR_DEST_ETC/digest
498,7 → 462,7
/usr/sbin/htdigest -c $DIR_DEST_ETC/digest/key_admin $HOSTNAME $admin_portail
done
$DIR_DEST_SBIN/alcasar-profil.sh --list
else # mise à jour des versions < 2.1
else # version < 2.1
if ([ $MAJ_RUNNING_VERSION -lt 2 ] || ([ $MAJ_RUNNING_VERSION -eq 2 ] && [ $MIN_RUNNING_VERSION -lt 1 ]))
then
echo "Cette mise à jour nécessite de redéfinir le premier compte d'administration du portail"
505,7 → 469,7
echo
echo -n "Nom : "
read admin_portail
echo "- Name of the first user of admin profile : $admin_portail" >> $FIC_PARAM
echo "- Nom du premier compte lié au profil 'admin' : $admin_portail" >> $FIC_PARAM
[ -d $DIR_DEST_ETC/digest ] && rm -rf $DIR_DEST_ETC/digest
mkdir -p $DIR_DEST_ETC/digest
chmod 755 $DIR_DEST_ETC/digest
754,7 → 718,7
ErrorDocument 404 https://$HOSTNAME
</Directory>
EOF
echo "- User change password URL : https://$HOSTNAME/pass/" >> $FIC_PARAM
echo "- URL pour le changement du mot de passe usager : https://$HOSTNAME/pass/" >> $FIC_PARAM
} # End of param_web_radius ()
 
##########################################################################################
786,15 → 750,15
unixipc chilli.eth1.ipc
pidfile /var/run/chilli.eth1.pid
net $PRIVATE_NETWORK_MASK
dhcpif $INTIF
#nodynip
#statip $PRIVATE_NETWORK_MASK
ethers $DIR_DEST_ETC/alcasar-ethers
dynip $PRIVATE_DYN_IP
statip $PRIVATE_STAT_IP
domain localdomain
dns1 $PRIVATE_IP
dns2 $PRIVATE_IP
uamlisten $PRIVATE_IP
uamport 3990
dhcpif $INTIF
ethers $DIR_DEST_ETC/alcasar-ethers
macallowlocal
locationname $HOSTNAME
radiusserver1 127.0.0.1
817,7 → 781,7
touch $DIR_DEST_ETC/alcasar-macallowed
chown root:apache $DIR_DEST_ETC/alcasar-*
chmod 660 $DIR_DEST_ETC/alcasar-*
echo "- Disconnect URL : http://alcasar:3990/logoff" >> $FIC_PARAM
echo "- URL de deconnexion du portail : http://alcasar:3990/logoff" >> $FIC_PARAM
# Configuration des fichier WEB d'interception (secret partagé avec coova-chilli et nom d'organisme)
$SED "s?^\$uamsecret =.*?\$uamsecret = \"$secretuam\";?g" $DIR_WEB/intercept.php
$SED "s?^\$userpassword=1.*?\$userpassword=1;?g" $DIR_WEB/intercept.php
841,7 → 805,7
$SED "/^htcp_access allow localnet/d" /etc/squid/squid.conf
$SED "/^always_direct allow localnet/d" /etc/squid/squid.conf
# mode 'proxy transparent local'
$SED "s?^http_port.*?http_port 127.0.0.1:3128 transparent?g" /etc/squid/squid.conf
$SED "s?^http_port.*?http_port 127.0.0.1:$SQUID_PORT transparent?g" /etc/squid/squid.conf
# emplacement et formatage standard des logs
echo '#logformat common %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st %Ss:%Sh' >> /etc/squid/squid.conf
echo '#logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %>Hs %<st "%{Referer}>h" "%{User-Ag' >> /etc/squid/squid.conf
1254,7 → 1218,6
$SED "s?^#ListenAddress 0\.0\.0\.0?ListenAddress $PRIVATE_IP?g" /etc/ssh/sshd_config
# sshd n'est pas lancé automatiquement au démarrage
/sbin/chkconfig --del sshd
echo "SSH=off" >> $DIR_DEST_ETC/alcasar-network
# Coloration des prompts
[ -e /etc/bashrc.default ] || cp /etc/bashrc /etc/bashrc.default
cp -f $DIR_CONF/bashrc /etc/. ; chmod 644 /etc/bashrc ; chown root:root /etc/bashrc
1270,11 → 1233,9
do
/sbin/chkconfig --add $i
done
# pour éviter les alertes de dépendance entre service.
# pour éviter les alertes de dépendance avec le service 'netfs'.
$SED "s?^# Required-Start.*?# Required-Start: \$local_fs \$network?g" /etc/init.d/mysqld
$SED "s?^# Required-Stop.*?# Required-Stop: \$local_fs \$network?g" /etc/init.d/mysqld
$SED "s?^# Should-Start.*?# Should-Start: radiusd ldap?g" /etc/init.d/httpd
$SED "s?^# Should-Stop.*?# Should-Stop: radiusd ldap?g" /etc/init.d/httpd
# On affecte le niveau de sécurité du système : type "fileserver"
$SED "s?BASE_LEVEL=.*?BASE_LEVEL=fileserver?g" /etc/security/msec/security.conf
# On supprime la vérification du mode promiscious des interfaces réseaux ( nombreuses alertes sur eth1 dûes à Tun0 )
1288,7 → 1249,7
# ignorer les erreurs ICMP bogus
$SED "s?^ACCEPT_BOGUS_ERROR_RESPONSES=.*?ACCEPT_BOGUS_ERROR_RESPONSES=no?g" /etc/security/msec/level.fileserver
sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1
# désactiver l'envoi et la réponse aux ICMP redirects
# désactiver l’envoi et la réponse aux ICMP redirects
accept_redirect=`grep accept_redirect /etc/sysctl.conf|wc -l`
if [ "$accept_redirect" == "0" ]
then
1311,7 → 1272,7
fi
$SED "s?tcp_syncookies.*?tcp_syncookies = 1?g" /etc/sysctl.conf
sysctl -w net.ipv4.tcp_syncookies=1
# activer l'antispoofing niveau Noyau
# activer l’antispoofing niveau Noyau
$SED "s?^ENABLE_IP_SPOOFING_PROTECTION.*?ENABLE_IP_SPOOFING_PROTECTION=yes?g" /etc/security/msec/level.fileserver
sysctl -w net.ipv4.conf.all.rp_filter=1
# ignorer le source routing
1378,7 → 1339,6
then
$DIR_DEST_BIN/alcasar-conf.sh --load
fi
rm -f /tmp/alcasar-conf*
chown -R root:apache $DIR_DEST_ETC/*
chmod -R 660 $DIR_DEST_ETC/*
chmod ug+x $DIR_DEST_ETC/digest $DIR_DEST_ETC/alcasar-dnsfilter*
1431,18 → 1391,14
if [ -e $DIR_WEB/VERSION ]
then
actual_version=`cat $DIR_WEB/VERSION`
if [ $Lang == "fr" ]
then echo -n "La version "; echo -n $actual_version ; echo " d'ALCASAR est déjà installée";
else echo -n "ALCASAR Version "; echo -n $actual_version ; echo " is already installed";
fi
echo -n "La version "; echo -n $actual_version ; echo " d'ALCASAR est déjà installée";
echo -n "ALCASAR Version "; echo -n $actual_version ; echo " is already installed";
response=0
PTN='^[oOnNyY]$'
until [[ $(expr $response : $PTN) -gt 0 ]]
do
if [ $Lang == "fr" ]
then echo -n "Voulez-vous effectuer une mise à jour (O/n)? ";
else echo -n "Do you want to update (Y/n)?";
fi
echo "Voulez-vous effectuer une mise à jour (O/n)? ";
echo -n "Do you want to update (Y/n)?";
read response
done
if [ "$response" = "o" ] || [ "$response" = "O" ] || [ "$response" = "y" ] || [ "$response" = "Y" ]
1457,23 → 1413,18
mode="update"
fi
fi
# RPMs install
$DIR_SCRIPTS/alcasar-urpmi.sh
if [ "$?" != "0" ]
# System update - rpms install
$DIR_SCRIPTS/alcasar-urpmi.sh
if [ "$?" != "0" ]
then
exit 0
fi
if [ -e /tmp/alcasar-conf.tar.gz ]
then
exit 0
fi
if [ -e $DIR_WEB/VERSION ]
then
echo "#### Installation avec mise à jour ####"
echo "#### Installation with update ####"
# On désinstalle la version actuelle
$DIR_SCRIPTS/sbin/alcasar-uninstall.sh
fi
if [ -e /tmp/alcasar-conf.tar.gz ]
then
if [ $Lang == "fr" ]
then echo "#### Installation avec mise à jour ####"
else echo "#### Installation with update ####"
fi
# On récupère le nom d'organisme à partir de fichier de conf
tar -xvf /tmp/alcasar-conf.tar.gz conf/organisme
ORGANISME=`cat $DIR_CONF/organisme`
1485,7 → 1436,7
 
do
$func
echo "*** 'debug' : end of function $func ***"; read a
# echo "*** 'debug' : end of function $func ***"; read a
done
;;
-u | --uninstall)