Sequence with basic database handling for freeradius

This commit is contained in:
2021-09-14 12:00:06 +02:00
parent f1385197d8
commit 9525aed587
2 changed files with 82 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
#!/bin/bash
## Freeradius settings
FRAD_DB_NAME="radius"
FRAD_DB_USER="radius"
# Default freeradius database password: radpass
## Daloradius settings
DRAD_HOME="/var/www/daloradius"

73
seqs/freeradius.sh Executable file
View File

@@ -0,0 +1,73 @@
#!/bin/bash
toolName=freeradius
toolConfLoc="/etc/freeradius/3.0"
# Get script working directory
# (when called from a different directory)
WDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >>/dev/null 2>&1 && pwd)"
APTOPT=
CONFIG=0
SCRIPT_FILE=$(basename -- $0)
SCRIPT_NAME=${SCRIPT_FILE%%.*}
CONFIG_FILE_NAME="${SCRIPT_NAME}.cfg"
CONFIG_FILE_TEMPLATE="$WDIR/${CONFIG_FILE_NAME}.example"
step_config() {
## or to use sequencer api with profile config file support:
initSeqConfig "$SCRIPT_NAME" "$CONFIG_FILE_TEMPLATE"
if [ $? -eq 0 ] ; then
CONFIG=1
echoseq " [I] Freeradius DB: $FRAD_DB_NAME"
echoseq " Daloradius home: $DRAD_HOME"
else
# End if no configuration file exists
[ $DRY -eq 0 ] && return -1
fi
## Apt cmdline option to suppress user interaction
[ $QUIET -ne 0 ] && APTOPT="-y"
## Return of non zero value will abort the sequence
return 0
}
step_50_info() { echo "Init freeradius and daloradius database"; }
step_50_alias() { ALIAS="initdb"; }
step_50() {
local drDbInit="$DRAD_HOME/contrib/db/mysql-daloradius.sql"
local frDbSchema="$toolConfLoc/mods-config/sql/main/mysql/schema.sql"
local frDbSetup="$toolConfLoc/mods-config/sql/main/mysql/setup.sql"
exe "$WDIR"/mysql.sh createdb -c utf8 -d "$FRAD_DB_NAME" -u "$FRAD_DB_USER"
endReturn -o $? "Creating database failed"
exep "mysql -uroot \"$FRAD_DB_NAME\" < $frDbSchema"
#exep "mysql -uroot \"$FRAD_DB_NAME\" < $frDbSetup"
exep "mysql -uroot \"$FRAD_DB_NAME\" < $drDbInit"
}
step_52_info() { echo "Reset freeradius and daloradius database"; }
step_52_alias() { ALIAS="resetdb"; }
step_52() {
local lAnswer
if [ $QUIET -eq 0 ]; then
read -p "Do you really want to reset the database $FRAD_DB_NAME y/[n]? " lAnswer
else
lAnswer=y
fi
case "$lAnswer" in
[yY])
echoseq -n " [I] Reseting DB...";;
*)
echoerr " [I] Abort reset"
return 1;;
esac
exe mysql -e "DROP DATABASE $FRAD_DB_NAME"
step initdb
}
VERSION_SEQREV=13
. /usr/local/bin/sequencer.sh