kopia lustrzana https://github.com/jprochazka/adsb-receiver
Allow remote MySQL setup.
rodzic
6e74ee0812
commit
6e4b3e830a
|
|
@ -159,7 +159,8 @@ if [[ $ADVANCED =~ ^[yY]$ ]]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
# Check for prerequisite packages.
|
||||
## CHECK FOR PREREQUISITE PACKAGES
|
||||
|
||||
echo -e "\033[33m"
|
||||
echo "Installing packages needed to build and fulfill dependencies..."
|
||||
echo -e "\033[37m"
|
||||
|
|
@ -172,15 +173,18 @@ if [[ $ADVANCED =~ ^[yY]$ ]]; then
|
|||
if [[ $LOCALDATABASE != 2 ]]; then
|
||||
# Install MySQL locally.
|
||||
CheckPackage mysql-server
|
||||
CheckPackage mysql-client
|
||||
fi
|
||||
CheckPackage mysql-client
|
||||
CheckPackage php5-mysql
|
||||
CheckPackage python-mysqldb
|
||||
fi
|
||||
fi
|
||||
|
||||
# Create the database If advanced features was selected
|
||||
if [[ $ADVANCED =~ ^[yY]$ ]]; then
|
||||
if [[ $INSTALLED == "n" ]]; then
|
||||
|
||||
## CREATE THE DATABASE IF ADVANCED FEATURES WAS SELECTED
|
||||
|
||||
if [[ $ADVANCED =~ ^[yY]$ ]]; then
|
||||
if [[ $DATABASEENGINE != 2 ]]; then
|
||||
echo -e "\033[31m"
|
||||
echo "Gathering Database Information"
|
||||
|
|
@ -191,27 +195,33 @@ if [[ $ADVANCED =~ ^[yY]$ ]]; then
|
|||
echo "created automatically for you. If you are hosting your database remotely"
|
||||
echo "you will need to manually create the database and user on the remote device."
|
||||
echo -e "\033[37m"
|
||||
|
||||
DATABASEHOST="localhost"
|
||||
if [[ $LOCALDATABASE == 2 ]]; then
|
||||
# Ask for remote MySQL address if the database is hosted remotely.
|
||||
read -p "Remote MySQL Server Address: " DATABASEHOST
|
||||
else
|
||||
DATABASEHOST="localhost"
|
||||
fi
|
||||
read -p "Password for MySQL root user: " MYSQLROOTPASSWORD
|
||||
|
||||
# Check that the supplied password is correct.
|
||||
while ! mysql -u root -p$MYSQLROOTPASSWORD -h $DATABASEHOST -e ";" ; do
|
||||
echo -e "\033[31m"
|
||||
echo -e "Unable to connect to the MySQL server using the supplied password.\033[37m"
|
||||
read -p "Password for MySQL root user: " MYSQLROOTPASSWORD
|
||||
done
|
||||
|
||||
read -p "New Database Name: " DATABASENAME
|
||||
read -p "New Database User Name: " DATABASEUSER
|
||||
read -p "New Database User Password: " DATABASEPASSWORD
|
||||
|
||||
# Database creation can only be handled locally.
|
||||
if [[ $LOCALDATABASE != 2 ]]; then
|
||||
# Create the database and user as well as assign permissions.
|
||||
if [[ $DATABASEENGINE == 1 ]] || [[ $DATABASEENGINE == "" ]]; then
|
||||
echo -e "\033[33m"
|
||||
echo -e "Creating MySQL database and user...\033[37m"
|
||||
mysql -uroot -p${MYSQLROOTPASSWORD} -e "CREATE DATABASE ${DATABASENAME};"
|
||||
mysql -uroot -p${MYSQLROOTPASSWORD} -e "CREATE USER '${DATABASEUSER}'@'localhost' IDENTIFIED BY \"${DATABASEPASSWORD}\";";
|
||||
mysql -uroot -p${MYSQLROOTPASSWORD} -e "GRANT ALL PRIVILEGES ON ${DATABASENAME}.* TO '${DATABASEUSER}'@'localhost';"
|
||||
mysql -uroot -p${MYSQLROOTPASSWORD} -e "FLUSH PRIVILEGES;"
|
||||
fi
|
||||
mysql -uroot -p${MYSQLROOTPASSWORD} -h $DATABASEHOST -e "CREATE DATABASE ${DATABASENAME};"
|
||||
mysql -uroot -p${MYSQLROOTPASSWORD} -h $DATABASEHOST -e "CREATE USER '${DATABASEUSER}'@'localhost' IDENTIFIED BY \"${DATABASEPASSWORD}\";";
|
||||
mysql -uroot -p${MYSQLROOTPASSWORD} -h $DATABASEHOST -e "GRANT ALL PRIVILEGES ON ${DATABASENAME}.* TO '${DATABASEUSER}'@'localhost';"
|
||||
mysql -uroot -p${MYSQLROOTPASSWORD} -h $DATABASEHOST -e "FLUSH PRIVILEGES;"
|
||||
fi
|
||||
|
||||
echo -e "\033[31m"
|
||||
|
|
@ -231,25 +241,27 @@ if [[ $ADVANCED =~ ^[yY]$ ]]; then
|
|||
echo "Database Name: ${DATABASENAME}"
|
||||
echo -e "\033[37m"
|
||||
read -p "Press enter to continue..." CONTINUE
|
||||
|
||||
fi
|
||||
|
||||
# Setup the flight logging script.
|
||||
## SETUP FLIGHT LOGGING SCRIPT
|
||||
|
||||
echo -e "\033[33m"
|
||||
echo -e "Creating configuration file...\033[37m"
|
||||
case $DATABASEENGINE in
|
||||
"2")
|
||||
tee ~/adsb-receiver/build/portal/logging/config.json > /dev/null <<EOF
|
||||
tee $BUILDDIR/portal/logging/config.json > /dev/null <<EOF
|
||||
{
|
||||
"database":{"type":"sqlite",
|
||||
"host":"",
|
||||
"user":"",
|
||||
"passwd":"",
|
||||
"db":"${HTMLDIR}/data/portal.sqlite"}
|
||||
"db":"${DOCUMENTROOT}/data/portal.sqlite"}
|
||||
}
|
||||
EOF
|
||||
;;
|
||||
*)
|
||||
tee ~/adsb-receiver/build/portal/logging/config.json > /dev/null <<EOF
|
||||
tee $BUILDDIR/portal/logging/config.json > /dev/null <<EOF
|
||||
{
|
||||
"database":{"type":"mysql",
|
||||
"host":"${DATABASEHOST}",
|
||||
|
|
@ -263,15 +275,15 @@ EOF
|
|||
|
||||
# Create and set permissions on the flight logging maintainance script.
|
||||
PYTHONPATH=`which python`
|
||||
tee ~/adsb-receiver/build/portal/logging/flights-maint.sh > /dev/null <<EOF
|
||||
tee $BUILDDIR/portal/logging/flights-maint.sh > /dev/null <<EOF
|
||||
#!/bin/sh
|
||||
while true
|
||||
do
|
||||
sleep 30
|
||||
${PYTHONPATH} ~/adsb-receiver/build/portal/logging/flights.py
|
||||
${PYTHONPATH} ${BUILDDIR}/portal/logging/flights.py
|
||||
done
|
||||
EOF
|
||||
chmod +x ~/adsb-receiver/build/portal/logging/flights-maint.sh
|
||||
chmod +x $BUILDDIR/portal/logging/flights-maint.sh
|
||||
|
||||
# Add flight logging maintainance script to rc.local.
|
||||
if ! grep -Fxq "${BUILDDIR}/portal/logging/flights-maint.sh &" /etc/rc.local; then
|
||||
|
|
@ -284,7 +296,8 @@ EOF
|
|||
# Start flight logging.
|
||||
echo -e "\033[33m"
|
||||
echo -e "Starting flight logging...\033[37m"
|
||||
~/adsb-receiver/build/portal/logging/flights-maint.sh &
|
||||
nohup ${BUILDDIR}/portal/logging/flights-maint.sh > /dev/null 2>&1 &
|
||||
fi
|
||||
fi
|
||||
|
||||
## FINISH CONFIGURATION
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue