1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/zabbix_ynh.git synced 2024-09-03 20:36:14 +02:00

make script compatible with shellcheck (package not tested actually)

This commit is contained in:
Mickael 2019-02-25 15:26:23 +01:00
parent b2487c77fe
commit be5a004223
5 changed files with 149 additions and 148 deletions

View file

@ -6,7 +6,7 @@
# IMPORT GENERIC HELPERS
#=================================================
source ../settings/scripts/_common.sh
source _common.sh
source /usr/share/yunohost/helpers
#=================================================

View file

@ -19,11 +19,11 @@ ynh_abort_if_errors
# RETRIEVE ARGUMENTS FROM THE MANIFEST
#=================================================
domain=$YNH_APP_ARG_DOMAIN
path_url=$YNH_APP_ARG_PATH
admin=$YNH_APP_ARG_ADMIN
is_public=$YNH_APP_ARG_IS_PUBLIC
language=$YNH_APP_ARG_LANGUAGE
domain="$YNH_APP_ARG_DOMAIN"
path_url="$YNH_APP_ARG_PATH"
admin="$YNH_APP_ARG_ADMIN"
is_public="$YNH_APP_ARG_IS_PUBLIC"
language="$YNH_APP_ARG_LANGUAGE"
### If it's a multi-instance app, meaning it can be installed several times independently
### The id of the app as stated in the manifest is available as $YNH_APP_ID
@ -35,7 +35,7 @@ language=$YNH_APP_ARG_LANGUAGE
### The app instance name is probably what interests you most, since this is
### guaranteed to be unique. This is a good unique identifier to define installation path,
### db names, ...
app=$YNH_APP_INSTANCE_NAME
app="$YNH_APP_INSTANCE_NAME"
#=================================================
# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS
@ -47,22 +47,22 @@ final_path=/var/www/zabbix
test ! -e "$final_path" || ynh_die "This path already contains a folder"
# Normalize the url path syntax
path_url=$(ynh_normalize_url_path $path_url)
path_url=$(ynh_normalize_url_path "$path_url")
# Check web path availability
ynh_webpath_available $domain $path_url
ynh_webpath_available "$domain" "$path_url"
# Register (book) web path
ynh_webpath_register $app $domain $path_url
ynh_webpath_register "$app" "$domain" "$path_url"
#=================================================
# STORE SETTINGS FROM MANIFEST
#=================================================
ynh_app_setting_set $app domain $domain
ynh_app_setting_set $app path $path_url
ynh_app_setting_set $app admin $admin
ynh_app_setting_set $app is_public $is_public
ynh_app_setting_set $app language $language
ynh_app_setting_set "$app" domain "$domain"
ynh_app_setting_set "$app" path "$path_url"
ynh_app_setting_set "$app" admin "$admin"
ynh_app_setting_set "$app" is_public "$is_public"
ynh_app_setting_set "$app" language "$language"
#=================================================
# STANDARD MODIFICATIONS
@ -103,7 +103,7 @@ ynh_package_update
ynh_install_app_dependencies libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 php7.0 php-bcmath php7.0-bcmath ttf-dejavu-core php7.0-bcmath patch smistrip unzip wget fping libcap2-bin libiksemel3 libopenipmi0 libpam-cap libsnmp-base libsnmp30 snmptrapd snmpd snmp-mibs-downloader libjs-prototype zabbix-server-mysql zabbix-agent jq
yunohost service add snmpd -d "Management of SNMP Daemon"
DEBIAN_FRONTEND=noninteractive apt-get -y download zabbix-frontend-php
ar x *.deb
ar x ./*.deb
tar xzf control.tar.gz
sed -i 's/apache2 | httpd, //' control
tar --ignore-failed-read -cvzf control.tar.gz {post,pre}{inst,rm} md5sums control
@ -117,8 +117,8 @@ DEBIAN_FRONTEND=noninteractive apt-mark hold zabbix-server-mysql zabbix-frontend
sed -i "s/# fr_FR.UTF-8 UTF-8/fr_FR.UTF-8 UTF-8/g" /etc/locale.gen
locale-gen
ln -s /usr/share/zabbix $final_path
rm $final_path/conf/zabbix.conf.php
ln -s /usr/share/zabbix "$final_path"
rm "$final_path/conf/zabbix.conf.php"
#=================================================
# CREATE A MYSQL DATABASE
@ -133,46 +133,47 @@ rm $final_path/conf/zabbix.conf.php
### - Remove also the section "REMOVE THE MYSQL DATABASE" in the remove script
### - As well as the section "RESTORE THE MYSQL DATABASE" in the restore script
db_name=$(ynh_sanitize_dbid $app)
db_user=$db_name
ynh_app_setting_set $app db_name $db_name
ynh_app_setting_set $app db_user $db_user
ynh_mysql_setup_db $db_user $db_name
declare db_pwd
db_name=$(ynh_sanitize_dbid "$app")
db_user="$db_name"
ynh_app_setting_set "$app" db_name "$db_name"
ynh_app_setting_set "$app" db_user "$db_user"
ynh_mysql_setup_db "$db_user" "$db_name"
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u$db_user -p$db_pwd $db_name
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u"$db_user" -p"$db_pwd" "$db_name"
#sso integration
mysql -u$db_user -p$db_pwd $db_name -e "UPDATE \`config\` SET \`http_auth_enabled\` = '1', \`http_login_form\` = '1' WHERE \`config\`.\`configid\` = 1;"
mysql -u"$db_user" -p"$db_pwd" "$db_name" -e "UPDATE \`config\` SET \`http_auth_enabled\` = '1', \`http_login_form\` = '1' WHERE \`config\`.\`configid\` = 1;"
if [ $language == "fr" ];then
if [ "$language" == "fr" ];then
lang="fr_FR"
else
lang="en_GB"
fi
#admin creation
surname=$(ynh_user_get_info $admin lastname)
name=$(ynh_user_get_info $admin firstname)
surname=$(ynh_user_get_info "$admin" lastname)
name=$(ynh_user_get_info "$admin" firstname)
mysql -u$db_user -p$db_pwd $db_name -e "INSERT INTO \`users\` (\`userid\`,\`alias\`, \`name\`, \`surname\`, \`passwd\`, \`url\`, \`autologin\`, \`autologout\`, \`lang\`, \`refresh\`, \`type\`, \`theme\`, \`attempt_failed\`, \`attempt_ip\`, \`attempt_clock\`, \`rows_per_page\`) VALUES (3,'"$admin"', '"$admin"', '"$admin"', '5fce1b3e34b520afeffb37ce08c7cd66', '', 0, '0', '"$lang"', '30s', 3, 'default', 0, '', 0, 50);"
mysql -u$db_user -p$db_pwd $db_name -e "INSERT INTO \`users_groups\` (\`id\`, \`usrgrpid\`, \`userid\`) VALUES (5, 7, 3);"
mysql -u"$db_user" -p"$db_pwd" "$db_name" -e "INSERT INTO \`users\` (\`userid\`,\`alias\`, \`name\`, \`surname\`, \`passwd\`, \`url\`, \`autologin\`, \`autologout\`, \`lang\`, \`refresh\`, \`type\`, \`theme\`, \`attempt_failed\`, \`attempt_ip\`, \`attempt_clock\`, \`rows_per_page\`) VALUES (3,'$admin', '$admin', '$admin', '5fce1b3e34b520afeffb37ce08c7cd66', '', 0, '0', '$lang', '30s', 3, 'default', 0, '', 0, 50);"
mysql -u"$db_user" -p"$db_pwd" "$db_name" -e "INSERT INTO \`users_groups\` (\`id\`, \`usrgrpid\`, \`userid\`) VALUES (5, 7, 3);"
#users creation in zabbix database
i=4
for u in $(ynh_user_list);
for user in $(ynh_user_list);
do
if [ "$u" != "$admin" ];then
surname=$(ynh_user_get_info $u lastname)
name=$(ynh_user_get_info $u firstname)
mysql -u$db_user -p$db_pwd $db_name -e "INSERT INTO \`users\` (\`userid\`, \`alias\`, \`name\`, \`surname\`, \`passwd\`, \`url\`, \`autologin\`, \`autologout\`, \`lang\`, \`refresh\`, \`type\`, \`theme\`, \`attempt_failed\`, \`attempt_ip\`, \`attempt_clock\`, \`rows_per_page\`) VALUES ("$i",'"$u"', '"$name"', '"$surname"', '5fce1b3e34b520afeffb37ce08c7cd66', '', 0, '0', '"$lang"', '30s', 1, 'default', 0, '', 0, 50);"
i=$(($i+1))
if [ "$user" != "$admin" ];then
surname=$(ynh_user_get_info "$user" lastname)
name=$(ynh_user_get_info "$user" firstname)
mysql -u"$db_user" -p"$db_pwd" "$db_name" -e "INSERT INTO \`users\` (\`userid\`, \`alias\`, \`name\`, \`surname\`, \`passwd\`, \`url\`, \`autologin\`, \`autologout\`, \`lang\`, \`refresh\`, \`type\`, \`theme\`, \`attempt_failed\`, \`attempt_ip\`, \`attempt_clock\`, \`rows_per_page\`) VALUES ($i,'$user', '$name', '$surname', '5fce1b3e34b520afeffb37ce08c7cd66', '', 0, '0', '$lang', '30s', 1, 'default', 0, '', 0, 50);"
i=$((i+1))
fi
done
#disable default guest
lastid=$(mysql -u$db_user -p$db_pwd $db_name -BN -e "SELECT max(id) from \`users_groups\`")
lastid=$(($lastid + 1 ))
mysql -u$db_user -p$db_pwd $db_name -e "INSERT INTO \`users_groups\` (\`id\` , \`usrgrpid\`, \`userid\`) VALUES ($lastid ,9, 2);"
lastid=$(mysql -u"$db_user" -p"$db_pwd" "$db_name" -BN -e "SELECT max(id) from \`users_groups\`")
lastid=$(("$lastid" + 1 ))
mysql -u"$db_user" -p"$db_pwd" "$db_name" -e "INSERT INTO \`users_groups\` (\`id\` , \`usrgrpid\`, \`userid\`) VALUES ($lastid ,9, 2);"
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
@ -182,7 +183,7 @@ mysql -u$db_user -p$db_pwd $db_name -e "INSERT INTO \`users_groups\` (\`id\` , \
### downloaded from an upstream source, like a git repository.
### `ynh_setup_source` use the file conf/app.src
ynh_app_setting_set $app final_path $final_path
ynh_app_setting_set "$app" final_path "$final_path"
# Download, check integrity, uncompress and patch the source from app.src
#ynh_setup_source "$final_path"
@ -273,9 +274,9 @@ systemctl reload nginx
#ynh_local_curl "/INSTALL_PATH" "key1=value1" "key2=value2" "key3=value3"
# Remove the public access
if [ $is_public -eq 0 ]
if [ "$is_public" -eq 0 ]
then
ynh_app_setting_delete $app skipped_uris
ynh_app_setting_delete "$app" skipped_uris
fi
#=================================================
@ -292,9 +293,9 @@ global \$DB;
\$DB['TYPE'] = 'MYSQL';
\$DB['SERVER'] = 'localhost';
\$DB['PORT'] = '0';
\$DB['DATABASE'] = '"$db_name"';
\$DB['USER'] = '"$db_user"';
\$DB['PASSWORD'] = '"$db_pwd"';
\$DB['DATABASE'] = '$db_name';
\$DB['USER'] = '$db_user';
\$DB['PASSWORD'] = '$db_pwd';
// Schema name. Used for IBM DB2 and PostgreSQL.
\$DB['SCHEMA'] = '';
@ -376,10 +377,10 @@ yunohost service add zabbix-agent -d "Management of Zabbix Agent"
#=================================================
# Make app public if necessary
if [ $is_public -eq 1 ]
if [ "$is_public" -eq 1 ]
then
# unprotected_uris allows SSO credentials to be passed anyway.
ynh_app_setting_set $app unprotected_uris "/"
ynh_app_setting_set "$app" unprotected_uris "/"
fi
#=================================================
@ -401,17 +402,17 @@ sudoUserPpath=$(find /var/cache/yunohost/ -name "etc_sudoers.d_zabbix")
confUserPpath=$(find /var/cache/yunohost/ -name "etc_zabbix_zabbix_agentd.d_userP_yunohost.conf")
bashUserPpath=$(find /var/cache/yunohost/ -name "etc_zabbix_zabbix_agentd.d_yunohost.sh")
cp $sudoUserPpath /etc/sudoers.d/zabbix
cp $confUserPpath /etc/zabbix/zabbix_agentd.d/userP_yunohost.conf
cp $bashUserPpath /etc/zabbix/zabbix_agentd.d/yunohost.sh
cp "$sudoUserPpath" /etc/sudoers.d/zabbix
cp "$confUserPpath" /etc/zabbix/zabbix_agentd.d/userP_yunohost.conf
cp "$bashUserPpath" /etc/zabbix/zabbix_agentd.d/yunohost.sh
chmod a+x /etc/zabbix/zabbix_agentd.d/yunohost.sh
systemctl restart zabbix-agent
curl -k -s --cookie cookiejar.txt --cookie-jar cookiejar.txt \
--form enter=Sign+in \
--form name=Admin \
--form password=zabbix \
--form "enter=Sign+in" \
--form "name=Admin" \
--form "password=zabbix" \
"$zabbixFullpath/index.php"
sid=$(curl -k -s --cookie cookiejar.txt --cookie-jar cookiejar.txt \
@ -421,24 +422,24 @@ sid=$(curl -k -s --cookie cookiejar.txt --cookie-jar cookiejar.txt \
importState=$(curl -k -s --cookie cookiejar.txt --cookie-jar cookiejar.txt \
--form "config=1" \
--form "import_file=@$localpath" \
--form rules[groups][createMissing]=1 \
--form rules[templates][updateExisting]=1 \
--form rules[templates][createMissing]=1 \
--form rules[templateScreens][updateExisting]=1 \
--form rules[templateScreens][createMissing]=1 \
--form rules[templateLinkage][createMissing]=1 \
--form rules[applications][createMissing]=1 \
--form rules[items][updateExisting]=1 \
--form rules[items][createMissing]=1 \
--form rules[discoveryRules][updateExisting]=1 \
--form rules[discoveryRules][createMissing]=1 \
--form rules[triggers][updateExisting]=1 \
--form rules[triggers][createMissing]=1 \
--form rules[graphs][updateExisting]=1 \
--form rules[graphs][createMissing]=1 \
--form rules[httptests][updateExisting]=1 \
--form rules[httptests][createMissing]=1 \
--form rules[valueMaps][createMissing]=1 \
--form "rules[groups][createMissing]=1" \
--form "rules[templates][updateExisting]=1" \
--form "rules[templates][createMissing]=1" \
--form "rules[templateScreens][updateExisting]=1" \
--form "rules[templateScreens][createMissing]=1" \
--form "rules[templateLinkage][createMissing]=1" \
--form "rules[applications][createMissing]=1" \
--form "rules[items][updateExisting]=1" \
--form "rules[items][createMissing]=1" \
--form "rules[discoveryRules][updateExisting]=1" \
--form "rules[discoveryRules][createMissing]=1" \
--form "rules[triggers][updateExisting]=1" \
--form "rules[triggers][createMissing]=1" \
--form "rules[graphs][updateExisting]=1" \
--form "rules[graphs][createMissing]=1" \
--form "rules[httptests][updateExisting]=1" \
--form "rules[httptests][createMissing]=1" \
--form "rules[valueMaps][createMissing]=1" \
--form "import=Import" \
--form "backurl=templates.php" \
--form "form_refresh=1" \
@ -468,6 +469,6 @@ fi
# disable default admin
#=================================================
lastid=$(mysql -u$db_user -p$db_pwd $db_name -BN -e "SELECT max(id) from \`users_groups\`")
lastid=$(($lastid + 1 ))
mysql -u$db_user -p$db_pwd $db_name -e "INSERT INTO \`users_groups\` (\`id\` , \`usrgrpid\`, \`userid\`) VALUES ($lastid ,9, 1);"
lastid=$(mysql -u"$db_user" -p"$db_pwd" "$db_name" -BN -e "SELECT max(id) from \`users_groups\`")
lastid=$((lastid + 1 ))
mysql -u"$db_user" -p"$db_pwd" "$db_name" -e "INSERT INTO \`users_groups\` (\`id\` , \`usrgrpid\`, \`userid\`) VALUES ($lastid ,9, 1);"

View file

@ -15,11 +15,11 @@ source /usr/share/yunohost/helpers
app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get $app domain)
port=$(ynh_app_setting_get $app port)
db_name=$(ynh_app_setting_get $app db_name)
#domain=$(ynh_app_setting_get "$app" domain) #not used
port=$(ynh_app_setting_get "$app" port)
db_name=$(ynh_app_setting_get "$app" db_name)
db_user=$db_name
final_path=$(ynh_app_setting_get $app final_path)
#final_path=$(ynh_app_setting_get "$app" final_path) #not used
#=================================================
# STANDARD REMOVE
@ -73,7 +73,7 @@ rm /var/www/zabbix
#=================================================
# Remove a database if it exists, along with the associated user
ynh_mysql_remove_db $db_user $db_name
ynh_mysql_remove_db "$db_user" "$db_name"
#=================================================
# REMOVE NGINX CONFIGURATION
@ -102,7 +102,7 @@ ynh_remove_logrotate
if yunohost firewall list | grep -q "\- $port$"
then
echo "Close port $port" >&2
yunohost firewall disallow TCP $port 2>&1
yunohost firewall disallow TCP "$port" 2>&1
fi
#=================================================

View file

@ -5,7 +5,7 @@
# IMPORT GENERIC HELPERS
#=================================================
#source _common.sh
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
@ -40,10 +40,10 @@ rm -fr $final_path
#=================================================
domain=$(ynh_app_setting_get $app domain)
path_url=$(ynh_app_setting_get $app path)
admin=$(ynh_app_setting_get $app admin)
#path_url=$(ynh_app_setting_get $app path) #not used
#admin=$(ynh_app_setting_get $app admin) #not used
is_public=$(ynh_app_setting_get $app is_public)
language=$(ynh_app_setting_get $app language)
#language=$(ynh_app_setting_get $app language) #not used
#=================================================
# INSTALL DEPENDENCIES
@ -57,9 +57,9 @@ ynh_package_update
ynh_install_app_dependencies libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 php7.0 php-bcmath php7.0-bcmath ttf-dejavu-core php7.0-bcmath patch smistrip unzip wget fping libcap2-bin libiksemel3 libopenipmi0 libpam-cap libsnmp-base libsnmp30 snmptrapd snmpd snmp-mibs-downloader libjs-prototype zabbix-server-mysql zabbix-agent
yunohost service add snmpd -d "Management of SNMP Daemon"
DEBIAN_FRONTEND=noninteractive apt-get -y download zabbix-frontend-php
ar x *.deb
ar x ./*.deb
tar xzf control.tar.gz
sed -i 's/apache2 | httpd, //' control
ynh_replace_string "apache2 | httpd, " "" control
tar --ignore-failed-read -cvzf control.tar.gz {post,pre}{inst,rm} md5sums control
ar rcs zabbix-frontend-php+stretch_all-noapache2.deb debian-binary control.tar.gz data.tar.xz
@ -68,7 +68,7 @@ dpkg -i zabbix-frontend-php+stretch_all-noapache2.deb
rm -fr zabbix-*.deb
DEBIAN_FRONTEND=noninteractive apt-mark hold zabbix-server-mysql zabbix-frontend-php
sed -i "s/# fr_FR.UTF-8 UTF-8/fr_FR.UTF-8 UTF-8/g" /etc/locale.gen
ynh_replace_string "# fr_FR.UTF-8 UTF-8" "fr_FR.UTF-8 UTF-8" /etc/locale.gen
locale-gen
ln -s /usr/share/zabbix /var/www/zabbix
@ -105,7 +105,7 @@ yunohost app ssowatconf
systemctl reload nginx
# Remove the public access
if [ $is_public -eq 0 ]
if [ "$is_public" -eq 0 ]
then
ynh_app_setting_delete $app skipped_uris
fi
@ -118,8 +118,8 @@ db_name=$(ynh_app_setting_get $app db_name)
db_user=$(ynh_app_setting_get $app db_user)
db_pwd=$(ynh_app_setting_get $app mysqlpwd)
ynh_mysql_setup_db $db_user $db_name $db_pwd
ynh_mysql_connect_as $db_name $db_pwd $db_name < ./db.sql
ynh_mysql_setup_db "$db_user" "$db_name" "$db_pwd"
ynh_mysql_connect_as "$db_name" "$db_pwd" "$db_name" < ./db.sql
#=================================================
# Restore configs files
@ -160,7 +160,7 @@ systemctl enable zabbix-server && systemctl start zabbix-server
#=================================================
# Make app public if necessary
if [ $is_public -eq 1 ]
if [ "$is_public" -eq 1 ]
then
# unprotected_uris allows SSO credentials to be passed anyway.
ynh_app_setting_set $app unprotected_uris "/"

View file

@ -15,15 +15,15 @@ source /usr/share/yunohost/helpers
app=$YNH_APP_INSTANCE_NAME
trustedversion="1:4.0.4-1+stretch"
domain=$(ynh_app_setting_get $app domain)
path_url=$(ynh_app_setting_get $app path)
admin=$(ynh_app_setting_get $app admin)
is_public=$(ynh_app_setting_get $app is_public)
final_path=$(ynh_app_setting_get $app final_path)
language=$(ynh_app_setting_get $app language)
db_name=$(ynh_app_setting_get $app db_name)
db_user=$(ynh_app_setting_get $app db_user)
db_pwd=$(ynh_app_setting_get $app mysqlpwd)
domain=$(ynh_app_setting_get "$app" domain)
path_url=$(ynh_app_setting_get "$app" path)
#admin=$(ynh_app_setting_get "$app" admin) #not used
is_public=$(ynh_app_setting_get "$app" is_public)
final_path=$(ynh_app_setting_get "$app" final_path)
#language=$(ynh_app_setting_get "$app" language) #not used
db_name=$(ynh_app_setting_get "$app" db_name)
db_user=$(ynh_app_setting_get "$app" db_user)
db_pwd=$(ynh_app_setting_get "$app" mysqlpwd)
#=================================================
@ -32,34 +32,34 @@ db_pwd=$(ynh_app_setting_get $app mysqlpwd)
# Fix is_public as a boolean value
if [ "$is_public" = "Yes" ]; then
ynh_app_setting_set $app is_public 1
ynh_app_setting_set "$app" is_public 1
is_public=1
elif [ "$is_public" = "No" ]; then
ynh_app_setting_set $app is_public 0
ynh_app_setting_set "$app" is_public 0
is_public=0
fi
# If db_name doesn't exist, create it
if [ -z $db_name ]; then
db_name=$(ynh_sanitize_dbid $app)
ynh_app_setting_set $app db_name $db_name
if [ -z "$db_name" ]; then
db_name=$(ynh_sanitize_dbid "$app")
ynh_app_setting_set "$app" db_name "$db_name"
fi
# If final_path doesn't exist, create it
if [ -z $final_path ]; then
if [ -z "$final_path" ]; then
final_path=/var/www/$app
ynh_app_setting_set $app final_path $final_path
ynh_app_setting_set "$app" final_path "$final_path"
fi
#=================================================
# Enable default admin temporaly
#=================================================
haveDefaultAdminDisabled=$(mysql -BN -u$db_user -p$db_pwd $db_name -BN -e "SELECT count(id) from \`users_groups\` where userid=1 and usrgrpid=9")
haveDefaultAdminDisabled=$(mysql -BN -u"$db_user" -p"$db_pwd" "$db_name" -BN -e "SELECT count(id) from \`users_groups\` where userid=1 and usrgrpid=9")
if [ "$haveDefaultAdminDisabled" -eq 1 ] ;then
ynh_print_info "Enable default admin"
#enable default admin temporaly
mysql -u$db_user -p$db_pwd $db_name -e "DELETE FROM users_groups where usrgrpid=9 and userid=1;"
mysql -u"$db_user" -p"$db_pwd" "$db_name" -e "DELETE FROM users_groups where usrgrpid=9 and userid=1;"
else
ynh_print_info "default admin already enabled"
fi
@ -69,7 +69,7 @@ fi
#=================================================
ynh_print_info "Import Yunohost template"
#disable sso temporaly
ynh_app_setting_set $app unprotected_uris "/"
ynh_app_setting_set "$app" unprotected_uris "/"
systemctl reload nginx
yunohost app ssowatconf
@ -79,17 +79,17 @@ sudoUserPpath=$(find /var/cache/yunohost/ -name "etc_sudoers.d_zabbix")
confUserPpath=$(find /var/cache/yunohost/ -name "etc_zabbix_zabbix_agentd.d_userP_yunohost.conf")
bashUserPpath=$(find /var/cache/yunohost/ -name "etc_zabbix_zabbix_agentd.d_yunohost.sh")
cp $sudoUserPpath /etc/sudoers.d/zabbix
cp $confUserPpath /etc/zabbix/zabbix_agentd.d/userP_yunohost.conf
cp $bashUserPpath /etc/zabbix/zabbix_agentd.d/yunohost.sh
cp "$sudoUserPpath" /etc/sudoers.d/zabbix
cp "$confUserPpath" /etc/zabbix/zabbix_agentd.d/userP_yunohost.conf
cp "$bashUserPpath" /etc/zabbix/zabbix_agentd.d/yunohost.sh
chmod a+x /etc/zabbix/zabbix_agentd.d/yunohost.sh
systemctl restart zabbix-agent
curl -k -s --cookie cookiejar.txt --cookie-jar cookiejar.txt \
--form enter=Sign+in \
--form name=Admin \
--form password=zabbix \
--form "enter=Sign+in" \
--form "name=Admin" \
--form "password=zabbix" \
"$zabbixFullpath/index.php"
sid=$(curl -k -s --cookie cookiejar.txt --cookie-jar cookiejar.txt \
@ -99,24 +99,24 @@ sid=$(curl -k -s --cookie cookiejar.txt --cookie-jar cookiejar.txt \
importState=$(curl -k -s --cookie cookiejar.txt --cookie-jar cookiejar.txt \
--form "config=1" \
--form "import_file=@$localpath" \
--form rules[groups][createMissing]=1 \
--form rules[templates][updateExisting]=1 \
--form rules[templates][createMissing]=1 \
--form rules[templateScreens][updateExisting]=1 \
--form rules[templateScreens][createMissing]=1 \
--form rules[templateLinkage][createMissing]=1 \
--form rules[applications][createMissing]=1 \
--form rules[items][updateExisting]=1 \
--form rules[items][createMissing]=1 \
--form rules[discoveryRules][updateExisting]=1 \
--form rules[discoveryRules][createMissing]=1 \
--form rules[triggers][updateExisting]=1 \
--form rules[triggers][createMissing]=1 \
--form rules[graphs][updateExisting]=1 \
--form rules[graphs][createMissing]=1 \
--form rules[httptests][updateExisting]=1 \
--form rules[httptests][createMissing]=1 \
--form rules[valueMaps][createMissing]=1 \
--form "rules[groups][createMissing]=1" \
--form "rules[templates][updateExisting]=1" \
--form "rules[templates][createMissing]=1" \
--form "rules[templateScreens][updateExisting]=1" \
--form "rules[templateScreens][createMissing]=1" \
--form "rules[templateLinkage][createMissing]=1" \
--form "rules[applications][createMissing]=1" \
--form "rules[items][updateExisting]=1" \
--form "rules[items][createMissing]=1" \
--form "rules[discoveryRules][updateExisting]=1" \
--form "rules[discoveryRules][createMissing]=1" \
--form "rules[triggers][updateExisting]=1" \
--form "rules[triggers][createMissing]=1" \
--form "rules[graphs][updateExisting]=1" \
--form "rules[graphs][createMissing]=1" \
--form "rules[httptests][updateExisting]=1" \
--form "rules[httptests][createMissing]=1" \
--form "rules[valueMaps][createMissing]=1" \
--form "import=Import" \
--form "backurl=templates.php" \
--form "form_refresh=1" \
@ -145,14 +145,14 @@ fi
#=================================================
# Disable default admin for security issue
#=================================================
haveDefaultAdminDisabled=$(mysql -BN -u$db_user -p$db_pwd $db_name -BN -e "SELECT count(id) from \`users_groups\` where userid=1 and usrgrpid=9")
haveDefaultAdminDisabled=$(mysql -BN -u"$db_user" -p"$db_pwd" "$db_name" -BN -e "SELECT count(id) from \`users_groups\` where userid=1 and usrgrpid=9")
if [ "$haveDefaultAdminDisabled" -eq 0 ] ;then
ynh_print_info "Disable default admin"
#disable default admin
lastid=$(mysql -u$db_user -p$db_pwd $db_name -BN -e "SELECT max(id) from \`users_groups\`")
lastid=$(($lastid + 1 ))
mysql -u$db_user -p$db_pwd $db_name -e "INSERT INTO \`users_groups\` (\`id\` , \`usrgrpid\`, \`userid\`) VALUES ($lastid ,9, 1);"
lastid=$(mysql -u"$db_user" -p"$db_pwd" "$db_name" -BN -e "SELECT max(id) from \`users_groups\`")
lastid=$((lastid + 1 ))
mysql -u"$db_user" -p"$db_pwd" "$db_name" -e "INSERT INTO \`users_groups\` (\`id\` , \`usrgrpid\`, \`userid\`) VALUES ($lastid ,9, 1);"
else
ynh_print_info "default admin already disabled"
fi
@ -161,14 +161,14 @@ fi
#=================================================
# Disable default guest for security issue
#=================================================
haveDefaultGuestDisabled=$(mysql -BN -u$db_user -p$db_pwd $db_name -BN -e "SELECT count(id) from \`users_groups\` where userid=2 and usrgrpid=9")
haveDefaultGuestDisabled=$(mysql -BN -u"$db_user" -p"$db_pwd" "$db_name" -BN -e "SELECT count(id) from \`users_groups\` where userid=2 and usrgrpid=9")
if [ "$haveDefaultGuestDisabled" -eq 0 ] ;then
echo "Disable default guest"
#disable default guest
lastid=$(mysql -u$db_user -p$db_pwd $db_name -BN -e "SELECT max(id) from \`users_groups\`")
lastid=$(($lastid + 1 ))
mysql -u$db_user -p$db_pwd $db_name -e "INSERT INTO \`users_groups\` (\`id\` , \`usrgrpid\`, \`userid\`) VALUES ($lastid ,9, 2);"
lastid=$(mysql -u"$db_user" -p"$db_pwd" "$db_name" -BN -e "SELECT max(id) from \`users_groups\`")
lastid=$((lastid + 1 ))
mysql -u"$db_user" -p"$db_pwd" "$db_name" -e "INSERT INTO \`users_groups\` (\`id\` , \`usrgrpid\`, \`userid\`) VALUES ($lastid ,9, 2);"
else
echo "default guest already disabled"
fi
@ -178,7 +178,7 @@ fi
#=================================================
# Normalize the URL path syntax
path_url=$(ynh_normalize_url_path $path_url)
path_url=$(ynh_normalize_url_path "$path_url")
#=================================================
# STANDARD UPGRADE STEPS
@ -201,7 +201,7 @@ zabbixagentCandidateVersion=$(apt-cache policy zabbix-agent | grep -Po "Candidat
if [ "$trustedversion" == "$zabbixServerCandidateVersion" ]
then
if [ "$zabbixServerInstalledVersion" != "$zabbixServerCandidateVersion" -o "$zabbixFrontendInstalledVersion" != "$zabbixFrontendCandidateVersion" -o "$zabbixagentInstalledVersion" != "$zabbixagentCandidateVersion" ]
if [ "$zabbixServerInstalledVersion" != "$zabbixServerCandidateVersion" ] || [ "$zabbixFrontendInstalledVersion" != "$zabbixFrontendCandidateVersion" ] || [ "$zabbixagentInstalledVersion" != "$zabbixagentCandidateVersion" ]
then
#=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
@ -221,9 +221,9 @@ then
DEBIAN_FRONTEND=noninteractive apt-mark unhold zabbix-server-mysql zabbix-frontend-php
DEBIAN_FRONTEND=noninteractive apt-get -y download zabbix-frontend-php
ar x *.deb
ar x ./*.deb
tar xzf control.tar.gz
sed -i 's/apache2 | httpd, //' control
ynh_replace_string "apache2 | httpd, " "" control
tar --ignore-failed-read -cvzf control.tar.gz {post,pre}{inst,rm} md5sums control
ar rcs zabbix-frontend-php+stretch_all-noapache2.deb debian-binary control.tar.gz data.tar.xz
dpkg -i zabbix-frontend-php+stretch_all-noapache2.deb
@ -252,9 +252,9 @@ ynh_print_info "re-enable SSOWAT"
if [ $is_public -eq 1 ]
then
# unprotected_uris allows SSO credentials to be passed anyway.
ynh_app_setting_set $app unprotected_uris "/"
ynh_app_setting_set "$app" unprotected_uris "/"
else
ynh_app_setting_set $app unprotected_uris ""
ynh_app_setting_set "$app" unprotected_uris ""
fi
systemctl reload nginx