Subversion Repositories ALCASAR

Rev

Rev 499 | Rev 504 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 499 Rev 503
Line 1... Line 1...
1
#!/bin/sh
1
#!/bin/sh
2
#  $Id: alcasar.sh 499 2011-02-24 22:54:44Z richard $ 
2
#  $Id: alcasar.sh 503 2011-03-11 22:12:32Z richard $ 
3
 
3
 
4
# alcasar.sh
4
# alcasar.sh
5
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
5
# by Franck BOUIJOUX, Pascal LEVANT and Richard REY
6
# This script is distributed under the Gnu General Public License (GPL)
6
# This script is distributed under the Gnu General Public License (GPL)
7
 
7
 
Line 53... Line 53...
53
FIC_PASSWD="/root/ALCASAR-passwords.txt"	# fichier texte contenant les mots de passe et secrets partagés 
53
FIC_PASSWD="/root/ALCASAR-passwords.txt"	# fichier texte contenant les mots de passe et secrets partagés 
54
# ******* DBMS parameters - paramètres SGBD ********
54
# ******* DBMS parameters - paramètres SGBD ********
55
DB_RADIUS="radius"				# nom de la base de données utilisée par le serveur FreeRadius
55
DB_RADIUS="radius"				# nom de la base de données utilisée par le serveur FreeRadius
56
DB_USER="radius"				# nom de l'utilisateur de la base de données
56
DB_USER="radius"				# nom de l'utilisateur de la base de données
57
# ******* Network parameters - paramètres réseau *******
57
# ******* Network parameters - paramètres réseau *******
-
 
58
HOSTNAME="alcasar"				# 
58
DOMAIN="localdomain"				# domaine local
59
DOMAIN="localdomain"				# domaine local
59
EXTIF="eth0"					# ETH0 est l'interface connectée à Internet (Box FAI)
60
EXTIF="eth0"					# ETH0 est l'interface connectée à Internet (Box FAI)
60
INTIF="eth1"					# ETH1 est l'interface connectée au réseau local de consultation
61
INTIF="eth1"					# ETH1 est l'interface connectée au réseau local de consultation
61
CUSTOM_PRIVATE_NETWORK_MASK="192.168.182.0/24"	# adresse du réseau de consultation proposée par défaut
62
CUSTOM_PRIVATE_NETWORK_MASK="192.168.182.0/24"	# adresse du réseau de consultation proposée par défaut
62
SQUID_PORT="3128"				# Port d'écoute du proxy Squid
63
SQUID_PORT="3128"				# Port d'écoute du proxy Squid
63
UAMPORT="3990"
-
 
64
# ****** Paths - chemin des commandes *******
64
# ****** Paths - chemin des commandes *******
65
SED="/bin/sed -i"
65
SED="/bin/sed -i"
66
# ****** Alcasar needed RPMS - paquetages nécessaires au fonctionnement d'Alcasar ******
66
# ****** Alcasar needed RPMS - paquetages nécessaires au fonctionnement d'Alcasar ******
67
PACKAGES="freeradius freeradius-mysql freeradius-ldap freeradius-web apache-mpm-prefork apache-mod_ssl apache-mod_php squid dansguardian postfix MySQL logwatch ntp awstats mondo cdrecord buffer vim-enhanced bind-utils wget arpscan ulogd openssh-server php-xml pam_ccreds rng-utils lsb-release dnsmasq sudo cronie-anacron pciutils clamav pm-fallback-policy"
67
PACKAGES="freeradius freeradius-mysql freeradius-ldap freeradius-web apache-mpm-prefork apache-mod_ssl apache-mod_php squid dansguardian postfix MySQL logwatch ntp awstats mondo cdrecord buffer vim-enhanced bind-utils wget arpscan ulogd openssh-server php-xml pam_ccreds rng-utils lsb-release dnsmasq sudo cronie-anacron pciutils clamav pm-fallback-policy"
68
# ****************** End of global parameters *********************
68
# ****************** End of global parameters *********************
Line 328... Line 328...
328
				read CUSTOM_PRIVATE_NETWORK_MASK
328
				read CUSTOM_PRIVATE_NETWORK_MASK
329
 
329
 
330
			done
330
			done
331
	fi
331
	fi
332
# Récupération de la config réseau côté "LAN de consultation"
332
# Récupération de la config réseau côté "LAN de consultation"
333
	HOSTNAME=alcasar-$ORGANISME
-
 
334
	hostname $HOSTNAME
333
	hostname $HOSTNAME
335
	echo "- Nom du système : $HOSTNAME" >> $FIC_PARAM
334
	echo "- Nom du système : $HOSTNAME" >> $FIC_PARAM
336
	PRIVATE_NETWORK=`/bin/ipcalc -n $CUSTOM_PRIVATE_NETWORK_MASK | cut -d"=" -f2`		# @ réseau de consultation (ex.: 192.168.182.0)
335
	PRIVATE_NETWORK=`/bin/ipcalc -n $CUSTOM_PRIVATE_NETWORK_MASK | cut -d"=" -f2`		# @ réseau de consultation (ex.: 192.168.182.0)
337
	private_prefix=`/bin/ipcalc -p $CUSTOM_PRIVATE_NETWORK_MASK |cut -d"=" -f2`		# prefixe du réseau (ex. 24)
336
	private_prefix=`/bin/ipcalc -p $CUSTOM_PRIVATE_NETWORK_MASK |cut -d"=" -f2`		# prefixe du réseau (ex. 24)
338
	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)
337
	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)
Line 379... Line 378...
379
FORWARD_IPV4=true
378
FORWARD_IPV4=true
380
EOF
379
EOF
381
# Modif /etc/hosts
380
# Modif /etc/hosts
382
	[ -e /etc/hosts.default ] || cp /etc/hosts /etc/hosts.default
381
	[ -e /etc/hosts.default ] || cp /etc/hosts /etc/hosts.default
383
	cat <<EOF > /etc/hosts
382
	cat <<EOF > /etc/hosts
384
127.0.0.1	$HOSTNAME localhost.localdomain localhost
383
127.0.0.1	localhost
385
$PRIVATE_IP	$HOSTNAME alcasar portail
384
$PRIVATE_IP	$HOSTNAME 
386
EOF
385
EOF
387
	echo "- Adresse IP 'côté réseau de consultation' ($INTIF) : $PRIVATE_IP / $PRIVATE_NETWORK_MASK" >> $FIC_PARAM
386
	echo "- Adresse IP 'côté réseau de consultation' ($INTIF) : $PRIVATE_IP / $PRIVATE_NETWORK_MASK" >> $FIC_PARAM
388
	echo "    - plage d'adresses statiques : $PRIVATE_STAT_IP" >> $FIC_PARAM
387
	echo "    - plage d'adresses statiques : $PRIVATE_STAT_IP" >> $FIC_PARAM
389
	echo "    - plage d'adresses dynamiques (via DHCP) : $PRIVATE_DYN_IP" >> $FIC_PARAM
388
	echo "    - plage d'adresses dynamiques (via DHCP) : $PRIVATE_DYN_IP" >> $FIC_PARAM
390
# Configuration de l'interface eth0 (Internet)
389
# Configuration de l'interface eth0 (Internet)
Line 726... Line 725...
726
# copie des fichiers modifiés
725
# copie des fichiers modifiés
727
	cp -rf $DIR_INSTALL/web/acc/manager/* $DIR_ACC/manager/
726
	cp -rf $DIR_INSTALL/web/acc/manager/* $DIR_ACC/manager/
728
	chown -R apache:apache $DIR_ACC/manager/
727
	chown -R apache:apache $DIR_ACC/manager/
729
# Modification des fichiers de configuration
728
# Modification des fichiers de configuration
730
	[ -e /etc/freeradius-web/admin.conf.default ] || cp /etc/freeradius-web/admin.conf /etc/freeradius-web/admin.conf.default
729
	[ -e /etc/freeradius-web/admin.conf.default ] || cp /etc/freeradius-web/admin.conf /etc/freeradius-web/admin.conf.default
731
	$SED "s?^general_domain:.*?general_domain: $ORGANISME.$DOMAIN?g" /etc/freeradius-web/admin.conf
730
	$SED "s?^general_domain:.*?general_domain: $DOMAIN?g" /etc/freeradius-web/admin.conf
732
	$SED "s?^sql_username:.*?sql_username: $DB_USER?g" /etc/freeradius-web/admin.conf
731
	$SED "s?^sql_username:.*?sql_username: $DB_USER?g" /etc/freeradius-web/admin.conf
733
	$SED "s?^sql_password:.*?sql_password: $radiuspwd?g" /etc/freeradius-web/admin.conf
732
	$SED "s?^sql_password:.*?sql_password: $radiuspwd?g" /etc/freeradius-web/admin.conf
734
	$SED "s?^sql_debug:.*?sql_debug: false?g" /etc/freeradius-web/admin.conf
733
	$SED "s?^sql_debug:.*?sql_debug: false?g" /etc/freeradius-web/admin.conf
735
	$SED "s?^sql_usergroup_table: .*?sql_usergroup_table: radusergroup?g" /etc/freeradius-web/admin.conf
734
	$SED "s?^sql_usergroup_table: .*?sql_usergroup_table: radusergroup?g" /etc/freeradius-web/admin.conf
736
	$SED "s?^sql_password_attribute:.*?sql_password_attribute: Crypt-Password?g" /etc/freeradius-web/admin.conf
735
	$SED "s?^sql_password_attribute:.*?sql_password_attribute: Crypt-Password?g" /etc/freeradius-web/admin.conf
Line 804... Line 803...
804
statip		$PRIVATE_STAT_IP
803
statip		$PRIVATE_STAT_IP
805
domain		localdomain
804
domain		localdomain
806
dns1		$PRIVATE_IP
805
dns1		$PRIVATE_IP
807
dns2		$PRIVATE_IP
806
dns2		$PRIVATE_IP
808
uamlisten	$PRIVATE_IP
807
uamlisten	$PRIVATE_IP
809
uamport		$UAMPORT
808
uamport		3990
810
dhcpif		$INTIF
809
dhcpif		$INTIF
811
ethers		/usr/local/etc/alcasar-ethers
810
ethers		$DIR_DEST_ETC/alcasar-ethers
812
uamanyip
811
uamanyip
813
macallowlocal
812
macallowlocal
814
locationname	$HOSTNAME
813
locationname	$HOSTNAME
815
radiusserver1	127.0.0.1
814
radiusserver1	127.0.0.1
816
radiusserver2	127.0.0.1
815
radiusserver2	127.0.0.1
Line 820... Line 819...
820
uamserver	https://$HOSTNAME/intercept.php
819
uamserver	https://$HOSTNAME/intercept.php
821
radiusnasid	$HOSTNAME
820
radiusnasid	$HOSTNAME
822
papalwaysok
821
papalwaysok
823
uamsecret	$secretuam
822
uamsecret	$secretuam
824
coaport		3799
823
coaport		3799
825
include		/usr/local/etc/alcasar-uamallowed
824
include		$DIR_DEST_ETC/alcasar-uamallowed
826
include		/usr/local/etc/alcasar-uamdomain
825
include		$DIR_DEST_ETC/alcasar-uamdomain
827
include		/usr/local/etc/alcasar-macallowed
826
include		$DIR_DEST_ETC/alcasar-macallowed
828
EOF
827
EOF
829
# Pour la fonctionnalité de DHCP statique, le fichier alcasar-ethers a été copié précédemment dans /usr/local/etc
828
# Pour la fonctionnalité de DHCP statique, le fichier alcasar-ethers a été copié précédemment dans /usr/local/etc
830
# création des fichiers de sites, d'urls et d'adresses MAC de confiance
829
# création des fichiers de sites, d'urls et d'adresses MAC de confiance
831
	echo -e "uamallowed=\"\"" > /usr/local/etc/alcasar-uamallowed
830
	echo -e "uamallowed=\"\"" > $DIR_DEST_ETC/alcasar-uamallowed
832
	echo -e "uamdomain=\"\"" > /usr/local/etc/alcasar-uamdomain
831
	echo -e "uamdomain=\"\"" > $DIR_DEST_ETC/alcasar-uamdomain
833
	echo -e "macallowed=\"\"" > /usr/local/etc/alcasar-macallowed
832
	echo -e "macallowed=\"\"" > $DIR_DEST_ETC/alcasar-macallowed
834
	chown root:apache /usr/local/etc/alcasar-*
833
	chown root:apache $DIR_DEST_ETC/alcasar-*
835
	chmod 660 /usr/local/etc/alcasar-*
834
	chmod 660 $DIR_DEST_ETC/alcasar-*
836
	echo "- URL de deconnexion du portail : http://$PRIVATE_IP:$UAMPORT/logoff" >> $FIC_PARAM
835
	echo "- URL de deconnexion du portail : http://alcasar:3990/logoff" >> $FIC_PARAM
837
# Définition du secret partagé entre coova-chilli et la page d'authentification (intercept.php)
836
# Configuration des fichier WEB d'interception (secret partagé avec coova-chilli et nom d'organisme)
838
	$SED "s?^\$uamsecret =.*?\$uamsecret = \"$secretuam\";?g" $DIR_WEB/intercept.php $DIR_WEB/intercept.php.old
837
	$SED "s?^\$uamsecret =.*?\$uamsecret = \"$secretuam\";?g" $DIR_WEB/intercept.php $DIR_WEB/intercept.php.old
839
	$SED "s?^\$userpassword=1.*?\$userpassword=1;?g" $DIR_WEB/intercept.php $DIR_WEB/intercept.php.old
838
	$SED "s?^\$userpassword=1.*?\$userpassword=1;?g" $DIR_WEB/intercept.php $DIR_WEB/intercept.php.old
840
	$SED "s?^\$organisme = .*?\$organisme = \"$ORGANISME\";?g" $DIR_WEB/intercept.php $DIR_WEB/intercept.php.old
839
	$SED "s?^\$organisme = .*?\$organisme = \"$ORGANISME\";?g" $DIR_WEB/intercept.php $DIR_WEB/intercept.php.old $DIR_WEB/status.php
841
}  # End of param_chilli ()
840
}  # End of param_chilli ()
842
 
841
 
843
##########################################################
842
##########################################################
844
##			Fonction param_squid		##
843
##			Fonction param_squid		##
845
## - Paramètrage du proxy 'squid' en mode 'cache'	##
844
## - Paramètrage du proxy 'squid' en mode 'cache'	##
Line 967... Line 966...
967
	$SED "s?^PRIVATE_NETWORK_MASK=.*?PRIVATE_NETWORK_MASK=\"$PRIVATE_NETWORK_MASK\"?g" $DIR_DEST_BIN/alcasar-iptables.sh  $DIR_DEST_BIN/alcasar-iptables-bypass.sh
966
	$SED "s?^PRIVATE_NETWORK_MASK=.*?PRIVATE_NETWORK_MASK=\"$PRIVATE_NETWORK_MASK\"?g" $DIR_DEST_BIN/alcasar-iptables.sh  $DIR_DEST_BIN/alcasar-iptables-bypass.sh
968
	$SED "s?^PRIVATE_IP=.*?PRIVATE_IP=\"$PRIVATE_IP\"?g" $DIR_DEST_BIN/alcasar-iptables.sh $DIR_DEST_BIN/alcasar-iptables-bypass.sh
967
	$SED "s?^PRIVATE_IP=.*?PRIVATE_IP=\"$PRIVATE_IP\"?g" $DIR_DEST_BIN/alcasar-iptables.sh $DIR_DEST_BIN/alcasar-iptables-bypass.sh
969
	$SED "s?^DNSSERVERS=.*?DNSSERVERS=\"$DNS1,$DNS2\"?g" $DIR_DEST_BIN/alcasar-iptables.sh
968
	$SED "s?^DNSSERVERS=.*?DNSSERVERS=\"$DNS1,$DNS2\"?g" $DIR_DEST_BIN/alcasar-iptables.sh
970
	chmod o+r $DIR_DEST_BIN/alcasar-iptables.sh #lecture possible pour apache (interface php du filtrage réseau)
969
	chmod o+r $DIR_DEST_BIN/alcasar-iptables.sh #lecture possible pour apache (interface php du filtrage réseau)
971
# création du fichier d'exception au filtrage
970
# création du fichier d'exception au filtrage
972
	touch /usr/local/etc/alcasar-filter-exceptions
971
	touch $DIR_DEST_ETC/alcasar-filter-exceptions
973
# le script $DIR_DEST_BIN/alcasar-iptables.sh est lancé à la fin (pour ne pas perturber une mise à jour via ssh)
972
# le script $DIR_DEST_BIN/alcasar-iptables.sh est lancé à la fin (pour ne pas perturber une mise à jour via ssh)
974
}  # End of firewall ()
973
}  # End of firewall ()
975
 
974
 
976
##################################################################################
975
##################################################################################
977
##			param_ulogd function					##
976
##			param_ulogd function					##
Line 1045... Line 1044...
1045
##########################################################
1044
##########################################################
1046
##		Fonction param_dnsmasq			##
1045
##		Fonction param_dnsmasq			##
1047
##########################################################
1046
##########################################################
1048
param_dnsmasq ()
1047
param_dnsmasq ()
1049
{
1048
{
1050
	[ -d /etc/dnsmasq.d ] || mkdir /etc/dnsmasq.d
-
 
1051
	[ -d /var/log/dnsmasq ] || mkdir /var/log/dnsmasq
1049
	[ -d /var/log/dnsmasq ] || mkdir /var/log/dnsmasq
1052
	[ -e /etc/dnsmasq.conf ] && cp /etc/dnsmasq.conf /etc/dnsmasq.conf.default
-
 
1053
	$SED "s?^[^#]?#&?g" /etc/dnsmasq.conf 					# on commente ce qui ne l'est pas
-
 
1054
	$SED "s?^#conf-dir=.*?conf-dir=/etc/dnsmasq.d?g" /etc/dnsmasq.conf	# les fichiers de config se trouvent dans /etc/dnsmasq.d/*
-
 
1055
	$SED "s?^DHCP_LEASE=.*?DHCP_LEASE=/var/log/dnsmasq/lease.log?g" /etc/sysconfig/dnsmasq # fichier contenant les baux
1050
	$SED "s?^DHCP_LEASE=.*?DHCP_LEASE=/var/log/dnsmasq/lease.log?g" /etc/sysconfig/dnsmasq # fichier contenant les baux
-
 
1051
	[ -e /etc/dnsmasq.conf.default ] || cp /etc/dnsmasq.conf /etc/dnsmasq.conf.default
1056
# 1st configuration file for "dnsmasq + blackhole" (listen on udp 52)
1052
# 1st configuration file for "dnsmasq + blackhole" (listen on udp 52)
1057
	cat << EOF > /etc/dnsmasq.d/alcasar-dnsmasq.conf 
1053
	cat << EOF > /etc/dnsmasq.conf 
1058
# Configuration file for "dnsmasq + blackhole"
1054
# Configuration file for "dnsmasq + blackhole"
1059
# Inclusion de la blacklist <domains> de Toulouse dans la configuration
1055
# Inclusion de la blacklist <domains> de Toulouse dans la configuration
1060
conf-dir=/usr/local/etc/alcasar-dnsfilter-enabled
1056
conf-dir=$DIR_DEST_ETC/alcasar-dnsfilter-enabled
1061
conf-file=/usr/local/etc/alcasar-dns-name	# zone de definition de noms DNS locaux
1057
conf-file=$DIR_DEST_ETC/alcasar-dns-name	# zone de definition de noms DNS locaux
1062
listen-address=$PRIVATE_IP
1058
listen-address=$PRIVATE_IP
1063
listen-address=127.0.0.1
1059
listen-address=127.0.0.1
1064
no-dhcp-interface=$INTIF
1060
no-dhcp-interface=$INTIF
1065
bind-interfaces
1061
bind-interfaces
1066
cache-size=256
1062
cache-size=256
Line 1070... Line 1066...
1070
bogus-priv
1066
bogus-priv
1071
filterwin2k
1067
filterwin2k
1072
server=$DNS1
1068
server=$DNS1
1073
server=$DNS2
1069
server=$DNS2
1074
# le servive DHCP est configuré mais n'est exploité que pour le "bypass"
1070
# le servive DHCP est configuré mais n'est exploité que pour le "bypass"
1075
dhcp-range=$ORGANISME,$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_MASK,12h
1071
dhcp-range=$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_MASK,12h
1076
#dhcp-option=3,1.2.3.4
1072
#dhcp-option=3,1.2.3.4
1077
#dhcp-option=option:router,1.2.3.4
1073
#dhcp-option=option:router,1.2.3.4
1078
#dhcp-option=42,0.0.0.0
1074
#dhcp-option=42,0.0.0.0
1079
#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5
1075
#dhcp-option=option:ntp-server,192.168.0.4,10.10.0.5
1080
 
1076
 
Line 1082... Line 1078...
1082
#dhcp-host=11:22:33:44:55:66,ssic-test,192.168.182.20,255.255.255.0,45m
1078
#dhcp-host=11:22:33:44:55:66,ssic-test,192.168.182.20,255.255.255.0,45m
1083
EOF
1079
EOF
1084
# 2nd dnsmasq configuration file for filter exception user (listen on udp 54)
1080
# 2nd dnsmasq configuration file for filter exception user (listen on udp 54)
1085
	cat << EOF > /etc/dnsmasq-forward.conf 
1081
	cat << EOF > /etc/dnsmasq-forward.conf 
1086
# Dnsmasq configuration for exception filter users (no blackhole)
1082
# Dnsmasq configuration for exception filter users (no blackhole)
1087
conf-file=/usr/local/etc/alcasar-dns-name	# zone de definition de noms DNS locaux
1083
conf-file=$DIR_DEST_ETC/alcasar-dns-name	# zone de definition de noms DNS locaux
1088
listen-address=$PRIVATE_IP
1084
listen-address=$PRIVATE_IP
1089
port=54
1085
port=54
1090
no-dhcp-interface=$INTIF
1086
no-dhcp-interface=$INTIF
1091
bind-interfaces
1087
bind-interfaces
1092
cache-size=256
1088
cache-size=256
Line 1097... Line 1093...
1097
filterwin2k
1093
filterwin2k
1098
server=$DNS1
1094
server=$DNS1
1099
server=$DNS2
1095
server=$DNS2
1100
EOF
1096
EOF
1101
# On crée le fichier de résolution locale
1097
# On crée le fichier de résolution locale
1102
touch /usr/local/etc/alcasar-dns-name
1098
cat << EOF > $DIR_DEST_ETC/alcasar-dns-name
-
 
1099
# Here you can define your local domain name
-
 
1100
# use the /etc/hosts file to define your hosts name
-
 
1101
local=/$DOMAIN/
-
 
1102
EOF
1103
# On modifie le fichier d'initialisattion (lancement dune deuxième instance)
1103
# On modifie le fichier d'initialisattion (lancement et arret de la deuxième instance)
1104
[ -e /etc/init.d/dnsmasq ] && cp /etc/init.d/dnsmasq /etc/init.d/dnsmasq.default
1104
[ -e /etc/init.d/dnsmasq.default ] || cp /etc/init.d/dnsmasq /etc/init.d/dnsmasq.default
1105
$SED "s?^DOMAIN_SUFFIX=.*?DOMAIN_SUFFIX=''?g" /etc/init.d/dnsmasq
-
 
1106
$SED "/\$dnsmasq/a daemon \$dnsmasq -C /etc/dnsmasq-forward.conf" /etc/init.d/dnsmasq
1105
$SED "/daemon/a \$dnsmasq -C /etc/dnsmasq-forward.conf \$OPTIONS" /etc/init.d/dnsmasq
1107
$SED "/killproc \$DAEMON_NAME/a killall \$DAEMON_NAME" /etc/init.d/dnsmasq
1106
$SED "/killproc \$DAEMON_NAME/a killproc \$DAEMON_NAME" /etc/init.d/dnsmasq
1108
} # End dnsmasq
1107
} # End dnsmasq
1109
 
1108
 
1110
##########################################################
1109
##########################################################
1111
##		Fonction BL (BlackList)			##
1110
##		Fonction BL (BlackList)			##
1112
##########################################################
1111
##########################################################
Line 1142... Line 1141...
1142
*ip
1141
*ip
1143
EOF
1142
EOF
1144
	chown -R dansguardian:apache /etc/dansguardian/
1143
	chown -R dansguardian:apache /etc/dansguardian/
1145
	chmod -R g+rw /etc/dansguardian
1144
	chmod -R g+rw /etc/dansguardian
1146
# On crée la structure du DNS-blackhole :
1145
# On crée la structure du DNS-blackhole :
1147
  	mkdir /usr/local/etc/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled}
1146
  	mkdir $DIR_DEST_ETC/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled}
1148
	chown -R 770 /usr/local/etc/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled}
1147
	chown -R 770 $DIR_DEST_ETC/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled}
1149
	chown -R root:apache /usr/local/etc/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled}
1148
	chown -R root:apache $DIR_DEST_ETC/{alcasar-dnsfilter-available,alcasar-dnsfilter-enabled}
1150
# On fait pointer le black-hole sur une page interne
1149
# On fait pointer le black-hole sur une page interne
1151
	$SED "s?^IP_RETOUR=.*?IP_RETOUR=\"$PRIVATE_IP\"?g" $DIR_DEST_SBIN/alcasar-bl.sh
1150
	$SED "s?^IP_RETOUR=.*?IP_RETOUR=\"$PRIVATE_IP\"?g" $DIR_DEST_SBIN/alcasar-bl.sh
1152
# On récupère la dernière version de la BL Toulouse
1151
# On récupère la dernière version de la BL Toulouse
1153
	$DIR_DEST_SBIN/alcasar-bl.sh --download
1152
	$DIR_DEST_SBIN/alcasar-bl.sh --download
1154
}
1153
}
Line 1197... Line 1196...
1197
	cat << EOF > /etc/cron.d/awstats
1196
	cat << EOF > /etc/cron.d/awstats
1198
*/30 * * * * root $DIR_ACC/awstats/awstats.pl -config=localhost -update >/dev/null 2>&1
1197
*/30 * * * * root $DIR_ACC/awstats/awstats.pl -config=localhost -update >/dev/null 2>&1
1199
EOF
1198
EOF
1200
# suppression des fichiers de mots de passe lors d'imports massifs par fichier de plus de 24h
1199
# suppression des fichiers de mots de passe lors d'imports massifs par fichier de plus de 24h
1201
	cat << EOF > /etc/cron.d/clean_import
1200
	cat << EOF > /etc/cron.d/clean_import
1202
30 * * * *  root /usr/local/bin/alcasar-import-clean.sh
1201
30 * * * *  root $DIR_DEST_BIN/alcasar-import-clean.sh
1203
EOF
1202
EOF
1204
# mise à jour des stats de connexion (accounting). Scripts provenant de "dialupadmin" (rpm freeradius-web) (cf. wiki.freeradius.org/Dialup_admin).
1203
# mise à jour des stats de connexion (accounting). Scripts provenant de "dialupadmin" (rpm freeradius-web) (cf. wiki.freeradius.org/Dialup_admin).
1205
# on écrase le crontab d'origine installé par le RPM "freeradius-web" (bug remonté à qa.mandriva.com : 46739).
1204
# on écrase le crontab d'origine installé par le RPM "freeradius-web" (bug remonté à qa.mandriva.com : 46739).
1206
# 'tot_stats' (tout les jours à 01h01) : aggrégat des connexions journalières par usager (renseigne la table 'totacct') 
1205
# 'tot_stats' (tout les jours à 01h01) : aggrégat des connexions journalières par usager (renseigne la table 'totacct') 
1207
# 'monthly_tot_stat' (tous les jours à 01h05) : aggrégat des connexions mensuelles par usager (renseigne la table 'mtotacct')
1206
# 'monthly_tot_stat' (tous les jours à 01h05) : aggrégat des connexions mensuelles par usager (renseigne la table 'mtotacct')
Line 1391... Line 1390...
1391
		if [ -e /tmp/alcasar-conf.tar.gz ]
1390
		if [ -e /tmp/alcasar-conf.tar.gz ]
1392
		then
1391
		then
1393
		echo "#### Installation avec mise à jour ####"
1392
		echo "#### Installation avec mise à jour ####"
1394
		echo "#### Installation with update     ####"
1393
		echo "#### Installation with update     ####"
1395
# On récupère le nom d'organisme à partir de fichier de conf
1394
# On récupère le nom d'organisme à partir de fichier de conf
1396
			tar -xvf /tmp/alcasar-conf.tar.gz conf/hostname 
1395
			tar -xvf /tmp/alcasar-conf.tar.gz conf/organisme 
1397
			ORGANISME=`cat $DIR_CONF/hostname|cut -b 9-`
1396
			ORGANISME=`cat $DIR_CONF/organisme`
1398
			hostname `cat $DIR_CONF/hostname`
-
 
1399
			mode="update"
1397
			mode="update"
1400
		else
1398
		else
1401
			mode="install"
1399
			mode="install"
1402
		fi
1400
		fi
1403
		for func in init network gestion AC init_db param_radius param_web_radius param_chilli param_squid param_dansguardian antivirus firewall param_ulogd param_awstats param_dnsmasq BL cron post_install
1401
		for func in init network gestion AC init_db param_radius param_web_radius param_chilli param_squid param_dansguardian antivirus firewall param_ulogd param_awstats param_dnsmasq BL cron post_install