Subversion Repositories ALCASAR

Rev

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

Rev 214 Rev 219
Line 1... Line 1...
1
#!/bin/sh
1
#!/bin/sh
2
#  $Id: alcasar.sh 214 2010-07-05 21:51:46Z richard $ 
2
#  $Id: alcasar.sh 219 2010-08-30 23:49:58Z jeremy $ 
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 34... Line 34...
34
#	bind		: Configuration du serveur de noms
34
#	bind		: Configuration du serveur de noms
35
#	cron		: Mise en place des exports de logs (+ chiffrement)
35
#	cron		: Mise en place des exports de logs (+ chiffrement)
36
 
36
 
37
 
37
 
38
VERSION=`cat VERSION`
38
VERSION=`cat VERSION`
39
MDV_NEEDED="2010.0"
39
MDV_NEEDED="2010.1"
40
DATE=`date '+%d %B %Y - %Hh%M'`
40
DATE=`date '+%d %B %Y - %Hh%M'`
41
DATE_SHORT=`date '+%d/%m/%Y'`
41
DATE_SHORT=`date '+%d/%m/%Y'`
42
# ******* Files parameters - paramètres fichiers *********
42
# ******* Files parameters - paramètres fichiers *********
43
DIR_INSTALL=`pwd`				# répertoire d'installation
43
DIR_INSTALL=`pwd`				# répertoire d'installation
44
DIR_GESTION="$DIR_INSTALL/gestion"		# répertoire d'installation contenant l'interface de gestion
44
DIR_GESTION="$DIR_INSTALL/gestion"		# répertoire d'installation contenant l'interface de gestion
Line 62... Line 62...
62
SQUID_PORT="3128"				# Port d'écoute du proxy Squid
62
SQUID_PORT="3128"				# Port d'écoute du proxy Squid
63
UAMPORT="3990"
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 dhcp-server openssh-server php-xml coova-chilli pam_ccreds rng-utils lsb-release bind clamav sudo"
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 dhcp-server openssh-server php-xml coova-chilli pam_ccreds rng-utils lsb-release dnsmasq clamav sudo"
68
# ****************** End of global parameters *********************
68
# ****************** End of global parameters *********************
69
 
69
 
70
header_install ()
70
header_install ()
71
{
71
{
72
	clear
72
	clear
Line 627... Line 627...
627
##########################################################################################
627
##########################################################################################
628
init_db ()
628
init_db ()
629
{
629
{
630
	mkdir -p /var/lib/mysql/.tmp
630
	mkdir -p /var/lib/mysql/.tmp
631
	chown mysql:mysql /var/lib/mysql/.tmp
631
	chown mysql:mysql /var/lib/mysql/.tmp
-
 
632
	[ -e /etc/my.cnf.rpmnew ] && cp /etc/my.cnf.rpmnew /etc/my.cnf		# prend en compte les migrations de MySQL
632
	[ -e /etc/my.cnf.default ] || cp /etc/my.cnf /etc/my.cnf.default
633
	[ -e /etc/my.cnf.default ] || cp /etc/my.cnf /etc/my.cnf.default
633
	$SED "s?^#bind-address.*?bind-address=127.0.0.1?g" /etc/my.cnf
634
	$SED "s?^#bind-address.*?bind-address=127.0.0.1?g" /etc/my.cnf
634
	/etc/init.d/mysqld start
635
	/etc/init.d/mysqld start
635
	sleep 4
636
	sleep 4
636
	mysqladmin -u root password $mysqlpwd
637
	mysqladmin -u root password $mysqlpwd
Line 1033... Line 1034...
1033
EOF
1034
EOF
1034
} # End of param_awstats ()
1035
} # End of param_awstats ()
1035
 
1036
 
1036
##########################################################
1037
##########################################################
1037
##		Fonction bind				##
1038
##		Fonction bind				##
1038
## - Mise en place des différents fichiers de bind	##
1039
## - Mise en place des différents fichiers de bind	##     En cours de remplacement par DNSMASQ
1039
##########################################################
1040
##########################################################
-
 
1041
param_dnsmasq ()
-
 
1042
{
-
 
1043
	[ -d /etc/dnsmasq.d ] || mkdir /etc/dnsmasq.d
-
 
1044
	[ -d /var/log/dnsmasq ] || mkdir /var/log/dnsmasq
-
 
1045
	[ -e /etc/dnsmasq.conf ] || cp /etc/dnsmasq.conf /etc/dnsmasq.conf.default
-
 
1046
	$SED "s?^[^#]?#&?g" /etc/dnsmasq.conf # (on commente ce qui ne l'est pas)
-
 
1047
	cp -f $DIR_CONF/alcasar-dnsmasq.conf /etc/dnsmasq.d/.
-
 
1048
	cp -f $DIR_CONF/alcasar-dnsmasq-filter $DIR_DEST_ETC && ln -s $DIR_DEST_ETC/alcasar-dnsmasq-filter /etc/dnsmasq.d/
-
 
1049
	$SED "s?^#conf-dir=.*?conf-dir=/etc/dnsmasq.d?g" /etc/dnsmasq.conf		# les fichiers de config se trouvent dans /etc/dnsmasq.d/*
-
 
1050
	$SED "s?^#except-interface=.*?except-interface=$EXTIF?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
-
 
1051
	$SED "s?^domain=.*?domain=$DOMAIN?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
-
 
1052
	$SED "s?^#dhcp-range=.*?dhcp-range=$ORGANISME,$PRIVATE_DYN_FIRST_IP,$PRIVATE_DYN_LAST_IP,$PRIVATE_NETMASK,12h?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
-
 
1053
	$SED "s?^#listen-address=.*?listen-address=$PRIVATE_IP?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
-
 
1054
	chown root:apache /usr/local/etc/alcasar-dnsmasq-filter	# modifiable par apache et interface de gestion
-
 
1055
	chmod -R g+rw /usr/local/etc/alcasar-dnsmasq-filter
-
 
1056
}
-
 
1057
 
-
 
1058
 
1040
param_bind ()
1059
param_bind ()
1041
{
1060
{
1042
	ln -sf /var/lib/named/etc/trusted_networks_acl.conf /etc/
1061
	ln -sf /var/lib/named/etc/trusted_networks_acl.conf /etc/
1043
	ln -sf /var/lib/named/etc/named.conf /etc/
1062
	ln -sf /var/lib/named/etc/named.conf /etc/
1044
	ln -sf /var/lib/named/var/named /var/
1063
	ln -sf /var/lib/named/var/named /var/
Line 1115... Line 1134...
1115
# mise à jour des stats de consultation WEB toutes les 30'  ## existe en double pour le daily sans l'@IP
1134
# mise à jour des stats de consultation WEB toutes les 30'  ## existe en double pour le daily sans l'@IP
1116
# sans mèl ( > /dev/null 2>&1)
1135
# sans mèl ( > /dev/null 2>&1)
1117
	cat << EOF > /etc/cron.d/awstats
1136
	cat << EOF > /etc/cron.d/awstats
1118
*/30 * * * * root /var/www/awstats/awstats.pl -config=localhost -update >/dev/null 2>&1
1137
*/30 * * * * root /var/www/awstats/awstats.pl -config=localhost -update >/dev/null 2>&1
1119
EOF
1138
EOF
1120
# suppresssion des fichiers de mots de passe lors d'imports massifs par fichier de plus de 24h
1139
# suppression des fichiers de mots de passe lors d'imports massifs par fichier de plus de 24h
1121
	cat << EOF > /etc/cron.d/clean_import
1140
	cat << EOF > /etc/cron.d/clean_import
1122
30 * * * *  root /usr/local/bin/alcasar-import-clean.sh
1141
30 * * * *  root /usr/local/bin/alcasar-import-clean.sh
1123
EOF
1142
EOF
1124
# mise à jour des stats de connexion (accounting). Scripts provenant de "dialupadmin" (rpm freeradius-web) (cf. wiki.freeradius.org/Dialup_admin).
1143
# mise à jour des stats de connexion (accounting). Scripts provenant de "dialupadmin" (rpm freeradius-web) (cf. wiki.freeradius.org/Dialup_admin).
1125
# on écrase le crontab d'origine installé par le RPM "freeradius-web" (bug remonté à qa.mandriva.com : 46739).
1144
# on écrase le crontab d'origine installé par le RPM "freeradius-web" (bug remonté à qa.mandriva.com : 46739).
Line 1183... Line 1202...
1183
	chmod 644 /etc/logrotate.d/*
1202
	chmod 644 /etc/logrotate.d/*
1184
# processus lancés par défaut au démarrage
1203
# processus lancés par défaut au démarrage
1185
	$SED "s?^# Default-Start.*?# Default-Start: 3 4 5?g" /etc/init.d/mysqld
1204
	$SED "s?^# Default-Start.*?# Default-Start: 3 4 5?g" /etc/init.d/mysqld
1186
	$SED "s?^# Default-Stop.*?# Default-Stop: 0 1 2?g" /etc/init.d/mysqld  	# pour éviter les alertes de dépendance de services (netfs)
1205
	$SED "s?^# Default-Stop.*?# Default-Stop: 0 1 2?g" /etc/init.d/mysqld  	# pour éviter les alertes de dépendance de services (netfs)
1187
	$SED "s?^# chkconfig:.*?# chkconfig: 23 60 40?g" /etc/init.d/dhcpd  	# pour démarrer dhcp avec eth1 up avant chilli
1206
	$SED "s?^# chkconfig:.*?# chkconfig: 23 60 40?g" /etc/init.d/dhcpd  	# pour démarrer dhcp avec eth1 up avant chilli
-
 
1207
	$SED "s?^# chkconfig:.*?# chkconfig: 23 61 40?g" /etc/init.d/dnsmasq  	# pour démarrer dnsmasq avec eth1 up avant chilli - utile ??
1188
	for i in netfs ntpd iptables ulogd dhcpd squid named chilli httpd radiusd mysqld dansguardian havp freshclam
1208
#	for i in netfs ntpd iptables ulogd dhcpd squid named chilli httpd radiusd mysqld dansguardian havp freshclam
-
 
1209
	for i in netfs ntpd iptables ulogd dnsmasq squid chilli httpd radiusd mysqld dansguardian havp freshclam
1189
	do
1210
	do
1190
		/sbin/chkconfig --add $i
1211
		/sbin/chkconfig --add $i
1191
	done
1212
	done
1192
# On supprime la vérification périodique du mode promiscious des interfaces réseaux ( nombreuses alertes sur eth1 dû à Tun0 de coova-chilli )
1213
# On supprime la vérification périodique du mode promiscious des interfaces réseaux ( nombreuses alertes sur eth1 dû à Tun0 de coova-chilli )
1193
	$SED "s?CHECK_PROMISC=.*?CHECK_PROMISC=no?g" /etc/security/msec/security.conf
1214
	$SED "s?CHECK_PROMISC=.*?CHECK_PROMISC=no?g" /etc/security/msec/security.conf