2020-08-03 21:32:39 +02:00
|
|
|
#!/bin/sh
|
2020-08-04 00:35:38 +02:00
|
|
|
GLPI_TARBALL="/root/glpi-9.5.1.tgz"
|
2020-08-03 21:32:39 +02:00
|
|
|
FUSION_TARBALL="/root/fusioninventory-9.5.0+1.0.tar.bz2"
|
2020-08-06 18:27:49 +02:00
|
|
|
NORMAL=''
|
|
|
|
RED=''
|
|
|
|
GREEN=''
|
2020-08-03 21:32:39 +02:00
|
|
|
|
2020-08-06 16:20:43 +02:00
|
|
|
msglog() {
|
|
|
|
case "${1}" in
|
|
|
|
green)
|
|
|
|
TEXT_COLOR="${GREEN}"
|
|
|
|
;;
|
|
|
|
red)
|
|
|
|
TEXT_COLOR="${RED}"
|
|
|
|
;;
|
|
|
|
normal)
|
|
|
|
TEXT_COLOR="${NORMAL}"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
DATE=$(date '+%Y %b %d %H:%M:%S')
|
|
|
|
echo ${DATE} ${TEXT_COLOR}${2}${NORMAL}
|
|
|
|
}
|
|
|
|
|
|
|
|
waiting_for_db() {
|
|
|
|
while ! mysqlshow -h db -uroot -p${MYSQL_ROOT_PASSWORD} 2>&1 | grep "^| ${MYSQL_DATABASE}" > /dev/null 2>&1 ; do
|
|
|
|
msglog red "Waiting for mysql database initilization..."
|
2020-08-04 17:27:46 +02:00
|
|
|
sleep 5
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2020-08-06 18:26:12 +02:00
|
|
|
echo GLPI_CONFIG_DIR ${GLPI_CONFIG_DIR}
|
|
|
|
echo GLPI_VAR_DIR ${GLPI_VAR_DIR}
|
|
|
|
echo GLPI_LOG_DIR ${GLPI_LOG_DIR}
|
|
|
|
echo GLPI_VERSION ${GLPI_VERSION}
|
|
|
|
echo FUSIONINVENTORY_VERSION ${FUSIONINVENTORY_VERSION}
|
2020-08-06 16:20:43 +02:00
|
|
|
|
2020-08-06 18:26:12 +02:00
|
|
|
mkdir -p /var/www/glpi
|
|
|
|
if [ -z "$(ls -A /var/www/glpi)" ] ; then
|
2020-08-06 16:20:43 +02:00
|
|
|
waiting_for_db
|
|
|
|
msglog red "Initialazing ${GLPI_TARBALL}..."
|
2020-08-03 21:32:39 +02:00
|
|
|
cd /root
|
|
|
|
tar xf ${GLPI_TARBALL}
|
2020-08-04 17:27:46 +02:00
|
|
|
cp -r /root/glpi/config/. /etc/glpi/.
|
|
|
|
cp -r /root/glpi/files/. /var/lib/glpi/.
|
|
|
|
rm -r /root/glpi/config /root/glpi/files
|
2020-08-06 18:26:12 +02:00
|
|
|
cp -r /root/glpi/. /var/www/glpi/.
|
|
|
|
cd /var/www/glpi/plugins
|
2020-08-03 21:32:39 +02:00
|
|
|
tar xf ${FUSION_TARBALL}
|
|
|
|
rm -r /root/glpi
|
2020-08-04 17:27:46 +02:00
|
|
|
mysql --host=db --user=root --password=${MYSQL_ROOT_PASSWORD} << EOF
|
|
|
|
use mysql;
|
|
|
|
GRANT SELECT ON time_zone_name TO '${MYSQL_USER}'@'%';
|
|
|
|
EOF
|
2020-08-06 18:26:12 +02:00
|
|
|
cd /var/www/glpi
|
2020-08-04 17:27:46 +02:00
|
|
|
php bin/console db:install --config-dir=${GLPI_CONFIG_DIR} -L fr_FR -H db -d ${MYSQL_DATABASE} -u ${MYSQL_USER} -p ${MYSQL_PASSWORD} -n
|
|
|
|
php bin/console glpi:plugin:install -u glpi fusioninventory -n
|
|
|
|
php bin/console glpi:plugin:activate fusioninventory -n
|
|
|
|
rm install/install.php
|
2020-08-06 18:26:12 +02:00
|
|
|
chown -R apache:apache /var/www/glpi /etc/glpi /var/lib/glpi /var/log/glpi
|
2020-08-06 16:20:43 +02:00
|
|
|
msglog green "Initialazing complete..."
|
2020-08-03 21:32:39 +02:00
|
|
|
else
|
2020-08-06 16:20:43 +02:00
|
|
|
msglog green "GLPI is already initialized"
|
2020-08-06 18:26:12 +02:00
|
|
|
cd /var/www/glpi
|
2020-08-06 10:03:42 +02:00
|
|
|
GLPI_ACTUAL_VERSION=$(awk -F", '" '/^define\(.GLPI_VERSION/ { print $2 }' inc/define.php | sed 's/\([0-9\.]*\).*/\1/')
|
|
|
|
FUSIONINVENTORY_ACTUAL_VERSION=$(awk -F', "' '/^define \(.PLUGIN_FUSIONINVENTORY_VERSION/ { print $2 }' plugins/fusioninventory/setup.php | sed 's/\([0-9\.+]*\).*/\1/')
|
|
|
|
if [ "${GLPI_ACTUAL_VERSION}" = "${GLPI_VERSION}" -a "${FUSIONINVENTORY_ACTUAL_VERSION}" = "${FUSIONINVENTORY_VERSION}" ] ; then
|
2020-08-06 16:20:43 +02:00
|
|
|
msglog green "GLPI already up2date"
|
2020-08-06 10:03:42 +02:00
|
|
|
exit
|
|
|
|
fi
|
2020-08-06 16:20:43 +02:00
|
|
|
msglog red "Updating GLPI from ${GLPI_ACTUAL_VERSION} to ${GLPI_VERSION}"
|
|
|
|
waiting_for_db
|
2020-08-06 10:03:42 +02:00
|
|
|
php bin/console glpi:maintenance:enable -n
|
2020-08-04 17:27:46 +02:00
|
|
|
php bin/console glpi:plugin:deactivate fusioninventory -n
|
|
|
|
cd /root
|
|
|
|
tar xf ${GLPI_TARBALL}
|
2020-08-06 18:26:12 +02:00
|
|
|
rm -r glpi/config glpi/files /var/www/glpi
|
|
|
|
mv glpi /var/www/glpi
|
|
|
|
cd /var/www/glpi/plugins
|
2020-08-04 17:27:46 +02:00
|
|
|
tar xf ${FUSION_TARBALL}
|
2020-08-06 18:26:12 +02:00
|
|
|
rm /var/www/glpi/install/install.php
|
|
|
|
cd /var/www/glpi
|
2020-08-04 17:27:46 +02:00
|
|
|
php bin/console db:update --config-dir=${GLPI_CONFIG_DIR} -n
|
2020-08-06 10:03:42 +02:00
|
|
|
php bin/console glpi:maintenance:disable -n
|
2020-08-06 18:26:12 +02:00
|
|
|
chown -R apache:apache /var/www/glpi /etc/glpi /var/lib/glpi /var/log/glpi
|
2020-08-03 21:32:39 +02:00
|
|
|
fi
|