@ -241,6 +241,7 @@ exit 0
EOF
######################################### FreeDMR Update ###############################################################
sudo cat > /opt/conf.txt <<- "EOFA1"
@ -605,8 +606,50 @@ if [ -d "/opt/FDMR-Monitor" ]
then
sudo rm -rf /opt/FDMR-Monitor
fi
##
#FDMR-Monitor
#########################
#lamp
apps = ( "mariadb-server" "php" "libapache2-mod-php" "php-zip" "php-mbstring" "php-cli" "php-common" "php-curl" "php-xml" "php-mysql" )
# Función para verificar e instalar una aplicación
check_and_install( ) {
app = $1
if ! dpkg -s $app 2>/dev/null | grep -q "Status: install ok installed" ; then
echo " $app no está instalado. Instalando... "
sudo apt-get install -y $app
echo " $app instalado correctamente. "
else
echo " $app ya está instalado. "
fi
}
# Verificar e instalar cada aplicación
for app in " ${ apps [@] } " ; do
check_and_install $app
done
systemctl restart mariadb
systemctl enable mariadb
#sudo mysql_secure_installation --host=localhost --port=3306
#echo "DROP USER emqte1@localhost" | /usr/bin/mysql -u root
#echo "DROP DATABASE selfcare" | /usr/bin/mysql -u root
newUser = 'hbmon'
newDbPassword = 'hbmon'
newDb = 'hbmon'
host = localhost
#host='%'
# MySQL 5.7 and earlier versions
#commands="CREATE DATABASE \`${newDb}\`;CREATE USER '${newUser}'@'${host}' IDENTIFIED BY '${newDbPassword}';GRANT USAGE ON *.* TO '${newUser}'@'${host}' IDENTIFIED BY '${newDbPassword}';GRANT ALL privileges ON \`${newDb}\`.* TO '${newUser}'@'${host}' IDENTIFIED BY '${newDbPassword}';FLUSH PRIVILEGES;"
# MySQL 8 and higher versions
commands = " CREATE DATABASE IF NOT EXISTS \` ${ newDb } \`;CREATE USER IF NOT EXISTS ' ${ newUser } '@' ${ host } ' IDENTIFIED BY ' ${ newDbPassword } ';GRANT USAGE ON *.* TO ' ${ newUser } '@' ${ host } ';GRANT ALL ON \` ${ newDb } \`.* TO ' ${ newUser } '@' ${ host } ';FLUSH PRIVILEGES; "
#cho "${commands}" | /usr/bin/mysql -u root -p
echo " ${ commands } " | /usr/bin/mysql -u root
###FDMR-Monitor
cd /opt
sudo git clone https://github.com/yuvelq/FDMR-Monitor.git
cd FDMR-Monitor
@ -633,8 +676,10 @@ sudo chmod +x /opt/FDMR-Monitor/sysinfo/cpu.sh
sudo chmod +x /opt/FDMR-Monitor/sysinfo/graph.sh
sudo chmod +x /opt/FDMR-Monitor/sysinfo/rrd-db.sh
sudo sed -i "s/root/emqte1/g" /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg
sudo sed -i "s/test/selfcare/g" /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg
sed -i "s/DB_NAME =.*/DB_NAME = hbmon/g" /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg
sed -i "s/DB_USERNAME =.*/DB_USERNAME = hbmon/g" /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg
sed -i "s/DB_PASSWORD =.*/DB_PASSWORD = hbmon/g" /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg
sudo sed -i "s/PRIVATE_NETWORK = True/PRIVATE_NETWORK = False/g" /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg
sudo sed -i "s/FILES_PATH =.*/FILES_PATH = \/opt\/FDMR-Monitor\/data/g" /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg
@ -655,13 +700,14 @@ sudo sed -i "s/PEER_URL =.*/PEER_URL = https:\/\/freedmr-lh.gb7fr.org.uk\/json\/
sudo sed -i "s/SUBSCRIBER_URL =.*/SUBSCRIBER_URL = http:\/\/datafiles.ddns.net:8888\/user.csv/g" /opt/FDMR-Monitor/fdmr-mon.cfg
sudo sed -i "s/SUBSCRIBER_FILE =.*/SUBSCRIBER_FILE = subscriber_ids.csv/g" /opt/FDMR-Monitor/fdmr-mon.cfg
sudo sed -i "s/TGID_URL =.*/TGID_URL = https:\/\/freedmr-lh.gb7fr.org.uk\/json\/talkgroup_ids.json/g" /opt/FDMR-Monitor/fdmr-mon.cfg
sudo sed -i "s/root/emqte1/g" /opt/FDMR-Monitor/proxy/hotspot_proxy_v2.py
sudo sed -i "s/test/selfcare/g" /opt/FDMR-Monitor/proxy/hotspot_proxy_v2.py
sudo sed -i "s/db_username =.*/db_username = 'hbmon'/g" /opt/FDMR-Monitor/proxy/hotspot_proxy_v2.py
sudo sed -i "s/db_password =.*/db_password = 'hbmon'/g" /opt/FDMR-Monitor/proxy/hotspot_proxy_v2.py
sudo sed -i "s/db_name =.*/db_name = 'hbmon'/g" /opt/FDMR-Monitor/proxy/hotspot_proxy_v2.py
sudo sed -i "s/\/freedmr.cfg/\/config\/FreeDMR.cfg/g" /opt/FDMR-Monitor/proxy/hotspot_proxy_v2.py
sudo sed -i "s/ test/selfcare /g" /opt/FDMR-Monitor/proxy/proxy_db.py
sudo sed -i "s/ root/emqte1/g" /opt/FDMR-Monitor/proxy/proxy_db.py
sudo sed -i "s/ root/emqte1 /g" /opt/FDMR-Monitor/proxy/proxy.cfg
sudo sed -i "s/ test/selfcare /g" /opt/FDMR-Monitor/proxy/proxy.cfg
sudo sed -i "s/ db_selfcare =.*/db_selfcare = ProxyDB('localhost', 'hbmon', 'hbmon', 'hbmon', 3306) /g" /opt/FDMR-Monitor/proxy/proxy_db.py
sudo sed -i "s/ USERNAME =.*/USERNAME = hbmon/g" /opt/FDMR-Monitor/proxy/proxy.cfg
sudo sed -i "s/ PASSWORD =.*/PASSWORD = hbmon /g" /opt/FDMR-Monitor/proxy/proxy.cfg
sudo sed -i "s/ DB_NAME =.*/DB_NAME = hbmon /g" /opt/FDMR-Monitor/proxy/proxy.cfg
sudo sed -i "s/54000/56000/g" /opt/FDMR-Monitor/proxy/proxy_db.py
sudo sed -i "s/54000/56000/g" /opt/FDMR-Monitor/proxy/proxy.cfg
sudo sed -i "s/54100/56100/g" /opt/FDMR-Monitor/proxy/proxy_db.py
@ -972,12 +1018,12 @@ if [ -f "mon.db" ]
then
rm mon.db
fi
mysql -u root -e "DROP TABLE IF EXISTS selfcare .last_heard;" &&
mysql -u root -e "DROP TABLE IF EXISTS selfcare .lstheard_log;" &&
mysql -u root -e "DROP TABLE IF EXISTS selfcare .peer_ids;" &&
mysql -u root -e "DROP TABLE IF EXISTS selfcare .subscriber_ids;" &&
mysql -u root -e "DROP TABLE IF EXISTS selfcare .talkgroup_ids;" &&
mysql -u root -e "DROP TABLE IF EXISTS selfcare .tg_count;"
mysql -u root -e "DROP TABLE IF EXISTS hbmon .last_heard;" &&
mysql -u root -e "DROP TABLE IF EXISTS hbmon .lstheard_log;" &&
mysql -u root -e "DROP TABLE IF EXISTS hbmon .peer_ids;" &&
mysql -u root -e "DROP TABLE IF EXISTS hbmon .subscriber_ids;" &&
mysql -u root -e "DROP TABLE IF EXISTS hbmon .talkgroup_ids;" &&
mysql -u root -e "DROP TABLE IF EXISTS hbmon .tg_count;"
cd /opt/FDMR-Monitor
python3 mon_db.py --create
python3 mon_db.py --update
@ -1131,7 +1177,49 @@ if [ ! -d "/var/www/fdmr2" ]
then
mkdir -p /var/www/fdmr2
fi
#########################
#lamp
apps = ( "mariadb-server" "php" "libapache2-mod-php" "php-zip" "php-mbstring" "php-cli" "php-common" "php-curl" "php-xml" "php-mysql" )
# Función para verificar e instalar una aplicación
check_and_install( ) {
app = $1
if ! dpkg -s $app 2>/dev/null | grep -q "Status: install ok installed" ; then
echo " $app no está instalado. Instalando... "
sudo apt-get install -y $app
echo " $app instalado correctamente. "
else
echo " $app ya está instalado. "
fi
}
# Verificar e instalar cada aplicación
for app in " ${ apps [@] } " ; do
check_and_install $app
done
systemctl restart mariadb
systemctl enable mariadb
#sudo mysql_secure_installation --host=localhost --port=3306
#echo "DROP USER emqte1@localhost" | /usr/bin/mysql -u root
#echo "DROP DATABASE selfcare" | /usr/bin/mysql -u root
newUser = 'hbmon'
newDbPassword = 'hbmon'
newDb = 'hbmon'
host = localhost
#host='%'
# MySQL 5.7 and earlier versions
#commands="CREATE DATABASE \`${newDb}\`;CREATE USER '${newUser}'@'${host}' IDENTIFIED BY '${newDbPassword}';GRANT USAGE ON *.* TO '${newUser}'@'${host}' IDENTIFIED BY '${newDbPassword}';GRANT ALL privileges ON \`${newDb}\`.* TO '${newUser}'@'${host}' IDENTIFIED BY '${newDbPassword}';FLUSH PRIVILEGES;"
# MySQL 8 and higher versions
commands = " CREATE DATABASE IF NOT EXISTS \` ${ newDb } \`;CREATE USER IF NOT EXISTS ' ${ newUser } '@' ${ host } ' IDENTIFIED BY ' ${ newDbPassword } ';GRANT USAGE ON *.* TO ' ${ newUser } '@' ${ host } ';GRANT ALL ON \` ${ newDb } \`.* TO ' ${ newUser } '@' ${ host } ';FLUSH PRIVILEGES; "
#cho "${commands}" | /usr/bin/mysql -u root -p
echo " ${ commands } " | /usr/bin/mysql -u root
#################
cd /opt
sudo git clone https://github.com/CS8ABG/FDMR-Monitor.git /opt/FDMR-Monitor2
cd /opt/FDMR-Monitor2
@ -1148,8 +1236,9 @@ sed -i 's/RELOAD_TIME =.*/RELOAD_TIME = 1/' /opt/FDMR-Monitor2/fdmr-mon_SAMPLE.c
sed -i 's/FREQUENCY =.*/FREQUENCY = 1/' /opt/FDMR-Monitor2/fdmr-mon_SAMPLE.cfg
sed -i "s/LANGUAGE =.*/LANGUAGE = \"es\"/g" /opt/FDMR-Monitor2/fdmr-mon_SAMPLE.cfg
sed -i "s/TELEGRAM/#TELEGRAM/g" /opt/FDMR-Monitor2/fdmr-mon_SAMPLE.cfg
sed -i "s/root/emqte1/g" /opt/FDMR-Monitor2/fdmr-mon_SAMPLE.cfg
sed -i "s/test/selfcare/g" /opt/FDMR-Monitor2/fdmr-mon_SAMPLE.cfg
sed -i "s/DB_NAME =.*/DB_NAME = hbmon/g" /opt/FDMR-Monitor2/fdmr-mon_SAMPLE.cfg
sed -i "s/DB_USERNAME =.*/DB_USERNAME = hbmon/g" /opt/FDMR-Monitor2/fdmr-mon_SAMPLE.cfg
sed -i "s/DB_PASSWORD =.*/DB_PASSWORD = hbmon/g" /opt/FDMR-Monitor2/fdmr-mon_SAMPLE.cfg
sed -i "s/PRIVATE_NETWORK = True/PRIVATE_NETWORK = False/g" /opt/FDMR-Monitor2/fdmr-mon_SAMPLE.cfg
sed -i "s/SUBSCRIBER_FILE =.*/SUBSCRIBER_FILE = subscriber_ids.csv/g" /opt/FDMR-Monitor2/fdmr-mon_SAMPLE.cfg
sed -i "s/FILES_PATH =.*/FILES_PATH = \/opt\/FDMR-Monitor2\/data/g" /opt/FDMR-Monitor2/fdmr-mon_SAMPLE.cfg
@ -1170,6 +1259,27 @@ sudo cp fdmr-mon_SAMPLE.cfg fdmr-mon.cfg
sudo chmod 644 fdmr-mon.cfg
sudo cp /opt/FDMR-Monitor2/html/* /var/www/fdmr2/ -r
###############################
sed -i "s/db_username =.*/db_username = 'hbmon'/g" /opt/FDMR-Monitor2/proxy/hotspot_proxy_v2.py
sed -i "s/db_password =.*/db_password = 'hbmon'/g" /opt/FDMR-Monitor2/proxy/hotspot_proxy_v2.py
sed -i "s/db_name =.*/db_name = 'hbmon'/g" /opt/FDMR-Monitor2/proxy/hotspot_proxy_v2.py
sed -i "s/\/freedmr.cfg/\/config\/FreeDMR.cfg/g" /opt/FDMR-Monitor2/proxy/hotspot_proxy_v2.py
sed -i "s/db_selfcare =.*/db_selfcare = ProxyDB('localhost', 'hbmon', 'hbmon', 'hbmon', 3306)/g" /opt/FDMR-Monitor2/proxy/proxy_db.py
sed -i "s/USERNAME =.*/USERNAME = hbmon/g" /opt/FDMR-Monitor2/proxy/proxy.cfg
sed -i "s/PASSWORD =.*/PASSWORD = hbmon/g" /opt/FDMR-Monitor2/proxy/proxy.cfg
sed -i "s/DB_NAME =.*/DB_NAME = hbmon/g" /opt/FDMR-Monitor2/proxy/proxy.cfg
sed -i "s/54000/56000/g" /opt/FDMR-Monitor2/proxy/proxy_db.py
sed -i "s/54000/56000/g" /opt/FDMR-Monitor2/proxy/proxy.cfg
sed -i "s/54100/56100/g" /opt/FDMR-Monitor2/proxy/proxy_db.py
sed -i "s/54100/56100/g" /opt/FDMR-Monitor2/proxy/proxy.cfg
sed -i "s/54000/56000/g" /opt/FDMR-Monitor2/proxy/hotspot_proxy_v2.py
sed -i "s/54100/56100/g" /opt/FDMR-Monitor2/proxy/hotspot_proxy_v2.py
sed -i "s/1234567/1234567,1231237,123123701/g" /opt/FDMR-Monitor2/proxy/proxy.cfg
#################
cp /opt/FDMR-Monitor2/proxy/hotspot_proxy_v2.py /opt/FreeDMR/hotspot_proxy_v2.py
cp /opt/FDMR-Monitor2/proxy/proxy.cfg /opt/FreeDMR/proxy.cfg
cp /opt/FDMR-Monitor2/proxy/proxy_db.py /opt/FreeDMR/proxy_db.py
#*****
mv /opt/FDMR-Monitor2/utils/logrotate/fdmr_mon /opt/FDMR-Monitor2/utils/logrotate/fdmr_mon2
mv /opt/FDMR-Monitor2/utils/systemd/fdmr_mon.service /opt/FDMR-Monitor2/utils/systemd/fdmr_mon2.service
@ -1195,12 +1305,12 @@ if [ -f "mon.db" ]
then
rm mon.db
fi
mysql -u root -e "DROP TABLE IF EXISTS selfcare .last_heard;" &&
mysql -u root -e "DROP TABLE IF EXISTS selfcare .lstheard_log;" &&
mysql -u root -e "DROP TABLE IF EXISTS selfcare .peer_ids;" &&
mysql -u root -e "DROP TABLE IF EXISTS selfcare .subscriber_ids;" &&
mysql -u root -e "DROP TABLE IF EXISTS selfcare .talkgroup_ids;" &&
mysql -u root -e "DROP TABLE IF EXISTS selfcare .tg_count;"
mysql -u root -e "DROP TABLE IF EXISTS hbmon .last_heard;" &&
mysql -u root -e "DROP TABLE IF EXISTS hbmon .lstheard_log;" &&
mysql -u root -e "DROP TABLE IF EXISTS hbmon .peer_ids;" &&
mysql -u root -e "DROP TABLE IF EXISTS hbmon .subscriber_ids;" &&
mysql -u root -e "DROP TABLE IF EXISTS hbmon .talkgroup_ids;" &&
mysql -u root -e "DROP TABLE IF EXISTS hbmon .tg_count;"
cd /opt/FDMR-Monitor2
python3 mon_db.py --create
python3 mon_db.py --update