61,7 → 61,6 |
DIR_DG="/etc/dansguardian" # directory of DansGuardian |
DIR_ACC="$DIR_WEB/acc" # directory of the 'ALCASAR Control Center' |
DIR_DEST_BIN="/usr/local/bin" # directory of ALCASAR scripts |
DIR_DEST_SBIN="/usr/local/sbin" # directory of ALCASAR admin scripts |
DIR_DEST_ETC="/usr/local/etc" # directory of ALCASAR conf files |
DIR_DEST_SHARE="/usr/local/share" # directory of share files used by ALCASAR (dnsmasq for instance) |
CONF_FILE="$DIR_DEST_ETC/alcasar.conf" # central ALCASAR conf file |
73,8 → 72,8 |
# ******* Network parameters - paramètres réseau ******* |
HOSTNAME="alcasar" # default hostname |
DOMAIN="localdomain" # default local domain |
EXTIF=`/sbin/ip route|grep default|head -n1|cut -d" " -f5` # EXTIF is connected to the ISP broadband modem/router (In France : Box-FAI) |
INTIF=`/sbin/ip link|grep '^[[:digit:]]:'|grep -v "lo\|$EXTIF\|tun0"|head -n1|cut -d" " -f2|tr -d ":"` # INTIF is connected to the consultation network |
EXTIF=`/usr/sbin/ip route|grep default|head -n1|cut -d" " -f5` # EXTIF is connected to the ISP broadband modem/router (In France : Box-FAI) |
INTIF=`/usr/sbin/ip link|grep '^[[:digit:]]:'|grep -v "lo\|$EXTIF\|tun0"|head -n1|cut -d" " -f2|tr -d ":"` # INTIF is connected to the consultation network |
MTU="1500" |
DEFAULT_PRIVATE_IP_MASK="192.168.182.1/24" # Default ALCASAR IP address |
# ****** Paths - chemin des commandes ******* |
231,7 → 230,7 |
else echo -n "Network parameters tests : " |
fi |
# Test of Ethernet links state |
DOWN_IF=`/sbin/ip link|grep "NO-CARRIER"|cut -d":" -f2|tr -d " "` |
DOWN_IF=`/usr/sbin/ip link|grep "NO-CARRIER"|cut -d":" -f2|tr -d " "` |
for i in $DOWN_IF |
do |
if [ $Lang == "fr" ] |
377,17 → 376,14 |
echo -n "Shared secret between coova-chilli and FreeRadius : " >> $PASSWD_FILE |
echo "$secretradius" >> $PASSWD_FILE |
chmod 640 $PASSWD_FILE |
# Scripts and conf files copy |
# - in /usr/local/bin : alcasar-{CA.sh,conf.sh,import-clean.sh,iptables-bypass.sh,iptables.sh,log.sh,watchdog.sh} |
# copy scripts in in /usr/local/bin |
cp -f $DIR_SCRIPTS/alcasar* $DIR_DEST_BIN/. ; chown root:root $DIR_DEST_BIN/alcasar* ; chmod 740 $DIR_DEST_BIN/alcasar* |
# - in /usr/local/sbin : alcasar-{bl.sh,bypass.sh,dateLog.sh,havp.sh,logout.sh,mysql.sh,nf.sh,profil.sh,uninstall.sh,version-list.sh,load-balancing.sh} |
cp -f $DIR_SCRIPTS/sbin/alcasar* $DIR_DEST_SBIN/. ; chown root:root $DIR_DEST_SBIN/alcasar* ; chmod 740 $DIR_DEST_SBIN/alcasar* |
# - in /usr/local/etc : alcasar-{bl-categories-enabled,dns-name,iptables-local.sh,services} |
# copy conf files in /usr/local/etc |
cp -f $DIR_CONF/etc/alcasar* $DIR_DEST_ETC/. ; chown root:apache $DIR_DEST_ETC/alcasar* ; chmod 660 $DIR_DEST_ETC/alcasar* |
$SED "s?^radiussecret.*?radiussecret=\"$secretradius\"?g" $DIR_DEST_SBIN/alcasar-logout.sh |
$SED "s?^DB_RADIUS=.*?DB_RADIUS=\"$DB_RADIUS\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh |
$SED "s?^DB_USER=.*?DB_USER=\"$DB_USER\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh $DIR_DEST_BIN/alcasar-conf.sh |
$SED "s?^radiuspwd=.*?radiuspwd=\"$radiuspwd\"?g" $DIR_DEST_SBIN/alcasar-mysql.sh $DIR_DEST_BIN/alcasar-conf.sh |
$SED "s?^radiussecret.*?radiussecret=\"$secretradius\"?g" $DIR_DEST_BIN/alcasar-logout.sh |
$SED "s?^DB_RADIUS=.*?DB_RADIUS=\"$DB_RADIUS\"?g" $DIR_DEST_BIN/alcasar-mysql.sh |
$SED "s?^DB_USER=.*?DB_USER=\"$DB_USER\"?g" $DIR_DEST_BIN/alcasar-mysql.sh $DIR_DEST_BIN/alcasar-conf.sh |
$SED "s?^radiuspwd=.*?radiuspwd=\"$radiuspwd\"?g" $DIR_DEST_BIN/alcasar-mysql.sh $DIR_DEST_BIN/alcasar-conf.sh |
# generate central conf file |
cat <<EOF > $CONF_FILE |
########################################## |
473,7 → 469,7 |
private_broadcast_ending=`echo $PRIVATE_BROADCAST | cut -d"." -f4` # last octet of LAN broadcast |
PRIVATE_FIRST_IP=`echo $PRIVATE_NETWORK | cut -d"." -f1-3`"."`expr $private_network_ending + 1` # First network address (ex.: 192.168.182.1) |
PRIVATE_LAST_IP=`echo $PRIVATE_BROADCAST | cut -d"." -f1-3`"."`expr $private_broadcast_ending - 1` # last network address (ex.: 192.168.182.254) |
PRIVATE_MAC=`/sbin/ip link show $INTIF | grep ether | cut -d" " -f6| sed 's/:/-/g'| awk '{print toupper($0)}'` # MAC address of INTIF |
PRIVATE_MAC=`/usr/sbin/ip link show $INTIF | grep ether | cut -d" " -f6| sed 's/:/-/g'| awk '{print toupper($0)}'` # MAC address of INTIF |
# Define Internet parameters |
DNS1=`grep ^nameserver /etc/resolv.conf|awk -F" " '{print $2}'|head -n 1` # 1st DNS server |
nb_dns=`grep ^nameserver /etc/resolv.conf|wc -l` |
776,7 → 772,7 |
do |
/usr/bin/htdigest -c $DIR_DEST_ETC/digest/key_admin "ALCASAR Control Center (ACC)" $admin_portal |
done |
$DIR_DEST_SBIN/alcasar-profil.sh --list |
$DIR_DEST_BIN/alcasar-profil.sh --list |
# !! remove if > V2.9.2 |
# fi |
|
928,8 → 924,8 |
mysql -u$DB_USER -p$radiuspwd $DB_RADIUS < $DIR_CONF/empty-radiusd-db.sql |
# modify the start script in order to close accounting connexion when the system is comming down or up |
[ -e /lib/systemd/system/mysqld.service.default ] || cp /lib/systemd/system/mysqld.service /lib/systemd/system/mysqld.service.default |
$SED "/ExecStartPost=/a ExecStop=/usr/local/sbin/alcasar-mysql.sh -acct_stop" /usr/lib/systemd/system/mysqld.service |
$SED "/ExecStartPost=/a ExecStartPost=/usr/local/sbin/alcasar-mysql.sh -acct_stop" /lib/systemd/system/mysqld.service |
$SED "/ExecStartPost=/a ExecStop=$DIR_DEST_BIN/alcasar-mysql.sh -acct_stop" /usr/lib/systemd/system/mysqld.service |
$SED "/ExecStartPost=/a ExecStartPost=$DIR_DEST_BIN/alcasar-mysql.sh -acct_stop" /lib/systemd/system/mysqld.service |
/usr/bin/systemctl daemon-reload |
} # End of init_db () |
|
1128,7 → 1124,7 |
else |
gprintf "Starting \$prog: " |
rm -f /var/run/chilli* # cleaning |
/sbin/modprobe tun >/dev/null 2>&1 |
/usr/sbin/modprobe tun >/dev/null 2>&1 |
echo 1 > /proc/sys/net/ipv4/ip_forward |
[ -e /dev/net/tun ] || { |
(cd /dev; |
1675,8 → 1671,8 |
$SED "s?safe=vss?safe=strict?g" $DIR_DG/lists/urlregexplist |
# adapt the BL to ALCASAR architecture. Enable the default categories |
if [ "$mode" != "update" ]; then |
$DIR_DEST_SBIN/alcasar-bl.sh --adapt |
$DIR_DEST_SBIN/alcasar-bl.sh --cat_choice |
$DIR_DEST_BIN/alcasar-bl.sh --adapt |
$DIR_DEST_BIN/alcasar-bl.sh --cat_choice |
fi |
} |
|
1689,8 → 1685,8 |
# Modif du fichier 'crontab' pour passer les cron à minuit au lieu de 04h00 |
[ -e /etc/crontab.default ] || cp /etc/crontab /etc/crontab.default |
cat <<EOF > /etc/crontab |
SHELL=/bin/bash |
PATH=/sbin:/bin:/usr/sbin:/usr/bin |
SHELL=/usr/bin/bash |
PATH=/usr/sbin:/usr/bin |
MAILTO=root |
HOME=/ |
|
1709,9 → 1705,9 |
|
cat <<EOF > /etc/cron.d/alcasar-mysql |
# Contrôle, réparation et export de la base des usagers (tous les lundi à 4h45) |
45 4 * * 1 root $DIR_DEST_SBIN/alcasar-mysql.sh --dump |
45 4 * * 1 root $DIR_DEST_BIN/alcasar-mysql.sh --dump |
# Nettoyage des utilisateurs dont la date d'expiration du compte est supérieure à 7 jours |
40 4 * * * root /usr/local/sbin/alcasar-mysql.sh --expire_user 2>&1 >/dev/null |
40 4 * * * root $DIR_DEST_BIN/alcasar-mysql.sh --expire_user 2>&1 >/dev/null |
EOF |
cat <<EOF > /etc/cron.d/alcasar-archive |
# Archive des logs et de la base de données (tous les lundi à 5h35) |
1808,7 → 1804,7 |
pc = localhost |
database = $DB_GAMMU |
|
RunOnReceive = /usr/local/bin/alcasar-sms.sh --new_sms |
RunOnReceive = $DIR_DEST_BIN/alcasar-sms.sh --new_sms |
|
StatusFrequency = 30 |
;LoopSleep = 2 |
1833,7 → 1829,7 |
|
#Création de la règle udev pour les Huawei // idVendor: 12d1 |
cat << EOF > /etc/udev/rules.d/66-huawei.rules |
KERNEL=="ttyUSB0",ATTRS{idVendor}=="12d1",RUN+="/usr/local/bin/alcasar-sms.sh --mode" |
KERNEL=="ttyUSB0",ATTRS{idVendor}=="12d1",RUN+="$DIR_DEST_BIN/alcasar-sms.sh --mode" |
EOF |
|
} # END gammu_smsd() |
1910,8 → 1906,8 |
[Service] |
Type=oneshot |
RemainAfterExit=yes |
ExecStart=/usr/local/sbin/alcasar-load_balancing.sh start |
ExecStop=/usr/local/sbin/alcasar-load_balancing.sh stop |
ExecStart=$DIR_DEST_BIN/alcasar-load_balancing.sh start |
ExecStop=$DIR_DEST_BIN/alcasar-load_balancing.sh stop |
TimeoutSec=0 |
SysVStartPriority=99 |
|
2073,7 → 2069,7 |
if [ -e $CONF_FILE ] |
then |
# Uninstall the running version |
$DIR_SCRIPTS/sbin/alcasar-uninstall.sh |
$DIR_SCRIPTS/alcasar-uninstall.sh |
fi |
# Test if manual update |
if [ -e /tmp/alcasar-conf*.tar.gz ] && [ "$mode" == "install" ] |
2120,7 → 2116,7 |
done |
;; |
-u | --uninstall) |
if [ ! -e $DIR_DEST_SBIN/alcasar-uninstall.sh ] |
if [ ! -e $DIR_DEST_BIN/alcasar-uninstall.sh ] |
then |
if [ $Lang == "fr" ] |
then echo "ALCASAR n'est pas installé!"; |
2145,7 → 2141,7 |
rm -f /tmp/alcasar-conf* |
fi |
# Uninstall the running version |
$DIR_SCRIPTS/sbin/alcasar-uninstall.sh |
$DIR_SCRIPTS/alcasar-uninstall.sh |
;; |
*) |
echo "Argument inconnu :$1"; |