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
|