Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 459 → Rev 460

/alcasar.sh
36,9 → 36,7
# cron : Mise en place des exports de logs (+ chiffrement)
# post_install : Finalisation environnement ( CA, bannières, rotatoin logs, ...)
 
 
VERSION=`cat VERSION`
MDV_NEEDED="2010.1"
DATE=`date '+%d %B %Y - %Hh%M'`
DATE_SHORT=`date '+%d/%m/%Y'`
# ******* Files parameters - paramètres fichiers *********
73,7 → 71,7
{
clear
echo "-----------------------------------------------------------------------------"
echo " Installation d'ALCASAR V$VERSION"
echo " ALCASAR V$VERSION Installation"
echo "Application Libre pour le Contrôle d'Accès Sécurisé et Authentifié au Réseau"
echo "-----------------------------------------------------------------------------"
} # End of header_install ()
84,8 → 82,9
##################################################################
testing ()
{
echo -n "Tests des paramètres réseau : "
# On teste l'état du lien des interfaces réseau
echo "Tests des paramètres réseau."
echo -n "Network parameters tests : "
# We test the Ethernet links state
for i in $EXTIF $INTIF
do
/sbin/ip link set $i up
94,7 → 93,10
then
echo "Échec"
echo "Le lien réseau de la carte $i n'est pas actif."
echo "Réglez ce problème avant de poursuivre l'installation d'ALCASAR."
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 "."
103,13 → 105,17
if [ `/sbin/route -n|grep -c ^0.0.0.0` -ne "1" ] ; 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 avant de poursuivre."
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
echo "Échec. La configuration des cartes réseau va être corrigée."
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
117,8 → 123,10
echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
sleep 2
echo "Configuration corrigée"
echo "Configuration updated"
sleep 2
echo "Vous pouvez relancer ce script (sh alcasar.sh --install)."
echo "Vous pouvez relancer ce script."
echo "You can restart this script."
exit 0
fi
echo -n "."
129,7 → 137,10
then
echo "Échec"
echo "Le routeur de site ou la Box Internet ($IP_GW) ne répond pas."
echo "Réglez ce problème avant de poursuivre."
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 "."
140,7 → 151,10
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 DNS."
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
163,7 → 177,8
PTN='^[a-zA-Z0-9-]*$'
until [[ $(expr $ORGANISME : $PTN) -gt 0 ]]
do
echo -n "Entrez le nom de votre organisme : "
echo "Entrez le nom de votre organisme : "
echo -n "Enter the name of your organisation : "
read ORGANISME
if [ "$ORGANISME" = "" ]
then
171,12 → 186,11
fi
done
fi
 
# On configure et récupère l'architecture de la distrib installée
# System update
$DIR_SCRIPTS/alcasar-urpmi.sh
 
# On teste l'installation des paquetages complémentaires
# Download of ALCASAR specifics RPM in cache (and test)
echo "Récupération des paquetages complémentaires. Veuillez patienter ..."
echo "Download of complementary packages. Please wait ..."
urpmi --auto $PACKAGES --quiet --test --retry 2
if [ "$?" != "0" ]
then
183,12 → 197,14
echo
echo "Une erreur a été détectée lors de la récupération des paquetages complémentaires."
echo "Relancez l'installation ultérieurement."
echo "Si vous rencontrez de nouveau ce problème, changez de dépôt en modifiant le fichier 'scripts/alcasar-urpmi.sh'"
echo "Si vous rencontrez à nouveau ce problème, modifier la variable MIRRORLIST du fichier 'scripts/alcasar-urpmi.sh'"
echo "An error occurs when downloading"
echo "Try an other install later."
echo "If this problem occurs again, change the MIRRORLIST variable in the file 'scripts/alcasar-urpmi.sh'"
exit 0
fi
# On installe les paquetages complémentaires
# update with cached RPM
urpmi --auto $PACKAGES
 
# On supprime les paquetages, les services et les utilisateurs inutiles
for rm_rpm in shorewall dhcp-server c-icap-server cyrus-sasl distcache-server avahi mandi radeontool bind
do
206,6 → 222,21
/usr/sbin/userdel -f $rm_users
fi
done
# extract the current architecture (i586 ou X64)
fic=`cat /etc/product.id`
old="$IFS"
IFS=","
set $fic
for i in $*
do
if [ "`echo $i|grep arch|cut -d'=' -f1`" == "arch" ]
then
ARCH=`echo $i|cut -d"=" -f2`
else
ARCH="i586"
fi
done
IFS="$old"
# On installe les RPMs spécifiques à la version
urpmi --no-verify --auto $DIR_CONF/rpms/$ARCH/*.rpm
# On empêche les mises à jour de coova-chilli et freeradius par le biais des dépôts
742,19 → 773,6
##########################################################################################
param_chilli ()
{
# modification du fichier d'initialisation
[ -e /etc/init.d/chilli.default ] || cp /etc/init.d/chilli /etc/init.d/chilli.default
# configuration d'eth1 (utile pour dnsmasq))
$SED "s?ifconfig.*?ifconfig \$HS_LANIF $PRIVATE_IP?g" /etc/init.d/chilli
# ajout de la fonction 'status' (utile pour la gestion du process)
$SED "/^.*functions/i. /etc/init.d/functions" /etc/init.d/chilli
$SED "/^[\t ]*stop)/i\ status)\n status chilli\n RETVAL=$?\n ;;\n" /etc/init.d/chilli
# insertion d'une tempo sur le 'restart' pour permettre à tun0 d'être libérée
$SED "/^[\t ]*\$0 start/i\ sleep 2" /etc/init.d/chilli
# suppression des fonctions 'writeconfig' et 'radiusconfig'. Suppression de warning disgracieux
$SED "/writeconfig/d" /etc/init.d/chilli
$SED "/radiusconfig/d" /etc/init.d/chilli
$SED "s?which start-stop-daemon?which start-stop-daemon 2>/dev/null?g" /etc/init.d/chilli
# création du fichier de conf
[ -e /etc/chilli.conf.default ] || cp /etc/chilli.conf /etc/chilli.conf.default
cat <<EOF > /etc/chilli.conf
1286,15 → 1304,18
# On teste la présence d'une version déjà installée
if [ -e $DIR_WEB/VERSION ]
then
echo -n "La version "; echo -n `cat $DIR_WEB/VERSION`; echo " d'ALCASAR est déjà installée";
actual_version=`cat $DIR_WEB/VERSION`
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='^[oOnN]$'
PTN='^[oOnNyY]$'
until [[ $(expr $response : $PTN) -gt 0 ]]
do
echo -n "Voulez-vous effectuer une mise à jour (O/n)? ";
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" ]
if [ "$response" = "o" ] || [ "$response" = "O" || [ "$response" = "y" ] || [ "$response" = "Y" ]
then
# On crée le fichier de conf de la version actuelle
chmod u+x $DIR_SCRIPTS/alcasar-conf.sh
1306,6 → 1327,7
if [ -e /tmp/alcasar-conf.tar.gz ]
then
echo "#### Installation avec mise à jour ####"
echo "#### Installation with update ####"
# On récupère le nom d'organisme à partir de fichier de conf
tar -xvf /tmp/alcasar-conf.tar.gz conf/hostname
ORGANISME=`cat $DIR_CONF/hostname|cut -b 9-`
1343,6 → 1365,7
;;
*)
echo "Argument inconnu :$1";
echo "Unknown argument :$1";
echo "$usage"
exit 1
;;
/CHANGELOG
2,13 → 2,14
 
************ CHANGELOG ***********
---- 2.0.1 ----
- simplification du processus de mise à jour
- simplification du processus de mise à jour (prise en compte mdv 2010.2)
- déplacement du répertoire 'digest' vers /usr/local/etc/
- correction horodatage des logs awstat
- inclusion d'un fichier de nommage DNS local
- inclusion d'un fichier 'alcasar-ethers' permettant la réservation d'adresses IP par Dnsmasq
- inclusion d'un fichier 'alcasar-dns-name' permettant de définir des associations @IP <--> DNS par Dnsmasq
- qq bugs mineurs
- qq bugs mineurs (ntpd, adresse coova 1.0.0.0, etc.)
 
---- 2.0 ----
- mise à jour de la documentation technique
- rajout des switchs en '--' pour remplacer les '-' des scripts
/scripts/alcasar-urpmi.sh
1,16 → 1,14
#!/bin/sh
# $Id$
# script de mise à jour de la distribution
# 3abtux
# 3abtux & rexy
# changelog :
# + Fait une mise à niveau du système actuel
# + vérifie que la version actuelle du système est compatible avec un upgrade
# + remplace les médias puis fait un upgrade
# + vérifie que la version actuelle du système est compatible
# + remplace les médias puis met à jour
 
# Mise à niveau du système dans la version 2010.1
 
VERSION="2010.1"
 
# extract the current Mandriva version and hardware architecture (i586 ou X64)
fic=`cat /etc/product.id`
old="$IFS"
IFS=","
20,11 → 18,12
if [ "`echo $i|grep version|cut -d'=' -f1`" == "version" ]
then
CURRENT_VERSION=`echo $i|cut -d"=" -f2`
echo $CURRENT_VERSION
if [ $CURRENT_VERSION != "2009.0" ] && [ $CURRENT_VERSION != "2009.1" ] && [ $CURRENT_VERSION != "2010.0" ] && [ $CURRENT_VERSION != "2010.1" ] && [ $CURRENT_VERSION != "2010.2" ]
then
echo "La migration automatique du système ne peut être réalisée."
echo "Réalisez une mise à jour manuelle (cf. doc)."
echo "The automatic system update can't perform."
echo "Do a manual update (see doc)."
exit 1
fi
fi
36,20 → 35,15
fi
done
IFS="$old"
echo "Mise à niveau de la version actuelle"
urpmi --auto --auto-update
 
# migration si nécessaire
if [ $CURRENT_VERSION != $VERSION ] && [ $CURRENT_VERSION != "2010.2" ]
# migrate
if [ $CURRENT_VERSION != "2010.2" ]
then
############################
# For International install
# MIRRORLIST="http://api.mandriva.com/mirrors/basic.$VERSION.$ARCH.list"
# For french ALCASARistes
MIRRORLIST="http://ftp.free.fr/pub/Distributions_Linux/MandrivaLinux/official/$VERSION/$ARCH"
############################
 
###########################
# For International install
#MIRRORLIST="http://api.mandriva.com/mirrors/basic.$VERSION.$ARCH.list"
# For french ALCASARistes
MIRRORLIST="http://ftp.free.fr/pub/Distributions_Linux/MandrivaLinux/official/$VERSION/$ARCH"
############################
urpmi.removemedia -a
urpmi.addmedia --probe-synthesis --mirrorlist $MIRRORLIST main /media/main/release
urpmi.addmedia --probe-synthesis --mirrorlist $MIRRORLIST main_updates /media/main/updates
60,24 → 54,28
then
exit 1
fi
# Effectue la migration du système en mandriva $VERSION
echo "Migration du système en Mandriva $VERSION ! Cela peut durer un certains temps ... "
echo "Il est temps d'aller prendre un café :-) "
# On teste la mise à jour du système
echo "Récupération des paquetages de mise à jour. Veuillez patienter ..."
urpmi --auto --auto-update --quiet --test --retry 2
if [ "$?" != "0" ]
then
echo
echo "Une erreur a été détectée lors de la récupération des paquetages de mise à jour."
echo "Relancez l'installation ultérieurement."
echo "Si vous rencontrez de nouveau ce problème, changez de dépôt en modifiant le fichier 'scripts/alcasar-urpmi.sh'"
exit 0
fi
urpmi --auto --auto-update
echo "Mandriva Linux migration in progress. It could take a while ..."
echo "You should now take a Beer ;-) "
fi
# puis un peu de nettoyage
# update testing and download RPM in cache
echo "Récupération des paquetages de mise à jour. Veuillez patienter ..."
echo "Updated RPM download. Please wait ..."
urpmi --auto --auto-update --quiet --test --retry 2
if [ "$?" != "0" ]
then
echo
echo "Une erreur a été détectée lors de la récupération des paquetages de mise à jour."
echo "Relancez l'installation ultérieurement."
echo "Si vous rencontrez à nouveau ce problème, modifier la variable MIRRORLIST du fichier 'scripts/alcasar-urpmi.sh'"
echo "An error occurs when downloading"
echo "Try an other install later."
echo "If this problem occurs again, change the MIRRORLIST variable in the file 'scripts/alcasar-urpmi.sh'"
fi
# update with cached RPM
urpmi --auto --auto-update
# cleaning
urpme --auto --auto-orphans
exit 0
 
/web/acc/admin/activity.php
73,7 → 73,7
exec ('sudo /usr/sbin/chilli_query list|sort -k5 -r', $output);
while (list(,$ligne) = each($output)){
$detail = explode (" ", $ligne);
if ($detail[1] != "0.0.0.0"){
if (($detail[1] != "0.0.0.0")&&($detail[1] != "1.0.0.0")){
$nb_ligne ++;
echo "<FORM action='".$_SERVER['PHP_SELF']."' method=POST>";
echo "<TR>";