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 # IMPORT GENERIC HELPERS
#================================================= #=================================================
source ../settings/scripts/_common.sh source _common.sh
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#================================================= #=================================================

View file

@ -19,11 +19,11 @@ ynh_abort_if_errors
# RETRIEVE ARGUMENTS FROM THE MANIFEST # RETRIEVE ARGUMENTS FROM THE MANIFEST
#================================================= #=================================================
domain=$YNH_APP_ARG_DOMAIN domain="$YNH_APP_ARG_DOMAIN"
path_url=$YNH_APP_ARG_PATH path_url="$YNH_APP_ARG_PATH"
admin=$YNH_APP_ARG_ADMIN admin="$YNH_APP_ARG_ADMIN"
is_public=$YNH_APP_ARG_IS_PUBLIC is_public="$YNH_APP_ARG_IS_PUBLIC"
language=$YNH_APP_ARG_LANGUAGE language="$YNH_APP_ARG_LANGUAGE"
### If it's a multi-instance app, meaning it can be installed several times independently ### 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 ### 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 ### 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, ### guaranteed to be unique. This is a good unique identifier to define installation path,
### db names, ... ### db names, ...
app=$YNH_APP_INSTANCE_NAME app="$YNH_APP_INSTANCE_NAME"
#================================================= #=================================================
# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS # 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" test ! -e "$final_path" || ynh_die "This path already contains a folder"
# Normalize the url path syntax # 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 # Check web path availability
ynh_webpath_available $domain $path_url ynh_webpath_available "$domain" "$path_url"
# Register (book) web path # Register (book) web path
ynh_webpath_register $app $domain $path_url ynh_webpath_register "$app" "$domain" "$path_url"
#================================================= #=================================================
# STORE SETTINGS FROM MANIFEST # STORE SETTINGS FROM MANIFEST
#================================================= #=================================================
ynh_app_setting_set $app domain $domain ynh_app_setting_set "$app" domain "$domain"
ynh_app_setting_set $app path $path_url ynh_app_setting_set "$app" path "$path_url"
ynh_app_setting_set $app admin $admin ynh_app_setting_set "$app" admin "$admin"
ynh_app_setting_set $app is_public $is_public ynh_app_setting_set "$app" is_public "$is_public"
ynh_app_setting_set $app language $language ynh_app_setting_set "$app" language "$language"
#================================================= #=================================================
# STANDARD MODIFICATIONS # 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 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" yunohost service add snmpd -d "Management of SNMP Daemon"
DEBIAN_FRONTEND=noninteractive apt-get -y download zabbix-frontend-php DEBIAN_FRONTEND=noninteractive apt-get -y download zabbix-frontend-php
ar x *.deb ar x ./*.deb
tar xzf control.tar.gz tar xzf control.tar.gz
sed -i 's/apache2 | httpd, //' control sed -i 's/apache2 | httpd, //' control
tar --ignore-failed-read -cvzf control.tar.gz {post,pre}{inst,rm} md5sums 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 sed -i "s/# fr_FR.UTF-8 UTF-8/fr_FR.UTF-8 UTF-8/g" /etc/locale.gen
locale-gen locale-gen
ln -s /usr/share/zabbix $final_path ln -s /usr/share/zabbix "$final_path"
rm $final_path/conf/zabbix.conf.php rm "$final_path/conf/zabbix.conf.php"
#================================================= #=================================================
# CREATE A MYSQL DATABASE # 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 ### - 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 ### - As well as the section "RESTORE THE MYSQL DATABASE" in the restore script
db_name=$(ynh_sanitize_dbid $app) declare db_pwd
db_user=$db_name db_name=$(ynh_sanitize_dbid "$app")
ynh_app_setting_set $app db_name $db_name db_user="$db_name"
ynh_app_setting_set $app db_user $db_user ynh_app_setting_set "$app" db_name "$db_name"
ynh_mysql_setup_db $db_user $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 #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" lang="fr_FR"
else else
lang="en_GB" lang="en_GB"
fi fi
#admin creation #admin creation
surname=$(ynh_user_get_info $admin lastname) surname=$(ynh_user_get_info "$admin" lastname)
name=$(ynh_user_get_info $admin firstname) 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\` (\`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_groups\` (\`id\`, \`usrgrpid\`, \`userid\`) VALUES (5, 7, 3);"
#users creation in zabbix database #users creation in zabbix database
i=4 i=4
for u in $(ynh_user_list); for user in $(ynh_user_list);
do do
if [ "$u" != "$admin" ];then if [ "$user" != "$admin" ];then
surname=$(ynh_user_get_info $u lastname) surname=$(ynh_user_get_info "$user" lastname)
name=$(ynh_user_get_info $u firstname) 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",'"$u"', '"$name"', '"$surname"', '5fce1b3e34b520afeffb37ce08c7cd66', '', 0, '0', '"$lang"', '30s', 1, 'default', 0, '', 0, 50);" 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)) i=$((i+1))
fi fi
done done
#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=$(mysql -u"$db_user" -p"$db_pwd" "$db_name" -BN -e "SELECT max(id) from \`users_groups\`")
lastid=$(($lastid + 1 )) lastid=$(("$lastid" + 1 ))
mysql -u$db_user -p$db_pwd $db_name -e "INSERT INTO \`users_groups\` (\`id\` , \`usrgrpid\`, \`userid\`) VALUES ($lastid ,9, 2);" 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 # 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. ### downloaded from an upstream source, like a git repository.
### `ynh_setup_source` use the file conf/app.src ### `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 # Download, check integrity, uncompress and patch the source from app.src
#ynh_setup_source "$final_path" #ynh_setup_source "$final_path"
@ -273,9 +274,9 @@ systemctl reload nginx
#ynh_local_curl "/INSTALL_PATH" "key1=value1" "key2=value2" "key3=value3" #ynh_local_curl "/INSTALL_PATH" "key1=value1" "key2=value2" "key3=value3"
# Remove the public access # Remove the public access
if [ $is_public -eq 0 ] if [ "$is_public" -eq 0 ]
then then
ynh_app_setting_delete $app skipped_uris ynh_app_setting_delete "$app" skipped_uris
fi fi
#================================================= #=================================================
@ -292,9 +293,9 @@ global \$DB;
\$DB['TYPE'] = 'MYSQL'; \$DB['TYPE'] = 'MYSQL';
\$DB['SERVER'] = 'localhost'; \$DB['SERVER'] = 'localhost';
\$DB['PORT'] = '0'; \$DB['PORT'] = '0';
\$DB['DATABASE'] = '"$db_name"'; \$DB['DATABASE'] = '$db_name';
\$DB['USER'] = '"$db_user"'; \$DB['USER'] = '$db_user';
\$DB['PASSWORD'] = '"$db_pwd"'; \$DB['PASSWORD'] = '$db_pwd';
// Schema name. Used for IBM DB2 and PostgreSQL. // Schema name. Used for IBM DB2 and PostgreSQL.
\$DB['SCHEMA'] = ''; \$DB['SCHEMA'] = '';
@ -376,10 +377,10 @@ yunohost service add zabbix-agent -d "Management of Zabbix Agent"
#================================================= #=================================================
# Make app public if necessary # Make app public if necessary
if [ $is_public -eq 1 ] if [ "$is_public" -eq 1 ]
then then
# unprotected_uris allows SSO credentials to be passed anyway. # unprotected_uris allows SSO credentials to be passed anyway.
ynh_app_setting_set $app unprotected_uris "/" ynh_app_setting_set "$app" unprotected_uris "/"
fi 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") 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") bashUserPpath=$(find /var/cache/yunohost/ -name "etc_zabbix_zabbix_agentd.d_yunohost.sh")
cp $sudoUserPpath /etc/sudoers.d/zabbix cp "$sudoUserPpath" /etc/sudoers.d/zabbix
cp $confUserPpath /etc/zabbix/zabbix_agentd.d/userP_yunohost.conf cp "$confUserPpath" /etc/zabbix/zabbix_agentd.d/userP_yunohost.conf
cp $bashUserPpath /etc/zabbix/zabbix_agentd.d/yunohost.sh cp "$bashUserPpath" /etc/zabbix/zabbix_agentd.d/yunohost.sh
chmod a+x /etc/zabbix/zabbix_agentd.d/yunohost.sh chmod a+x /etc/zabbix/zabbix_agentd.d/yunohost.sh
systemctl restart zabbix-agent systemctl restart zabbix-agent
curl -k -s --cookie cookiejar.txt --cookie-jar cookiejar.txt \ curl -k -s --cookie cookiejar.txt --cookie-jar cookiejar.txt \
--form enter=Sign+in \ --form "enter=Sign+in" \
--form name=Admin \ --form "name=Admin" \
--form password=zabbix \ --form "password=zabbix" \
"$zabbixFullpath/index.php" "$zabbixFullpath/index.php"
sid=$(curl -k -s --cookie cookiejar.txt --cookie-jar cookiejar.txt \ 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 \ importState=$(curl -k -s --cookie cookiejar.txt --cookie-jar cookiejar.txt \
--form "config=1" \ --form "config=1" \
--form "import_file=@$localpath" \ --form "import_file=@$localpath" \
--form rules[groups][createMissing]=1 \ --form "rules[groups][createMissing]=1" \
--form rules[templates][updateExisting]=1 \ --form "rules[templates][updateExisting]=1" \
--form rules[templates][createMissing]=1 \ --form "rules[templates][createMissing]=1" \
--form rules[templateScreens][updateExisting]=1 \ --form "rules[templateScreens][updateExisting]=1" \
--form rules[templateScreens][createMissing]=1 \ --form "rules[templateScreens][createMissing]=1" \
--form rules[templateLinkage][createMissing]=1 \ --form "rules[templateLinkage][createMissing]=1" \
--form rules[applications][createMissing]=1 \ --form "rules[applications][createMissing]=1" \
--form rules[items][updateExisting]=1 \ --form "rules[items][updateExisting]=1" \
--form rules[items][createMissing]=1 \ --form "rules[items][createMissing]=1" \
--form rules[discoveryRules][updateExisting]=1 \ --form "rules[discoveryRules][updateExisting]=1" \
--form rules[discoveryRules][createMissing]=1 \ --form "rules[discoveryRules][createMissing]=1" \
--form rules[triggers][updateExisting]=1 \ --form "rules[triggers][updateExisting]=1" \
--form rules[triggers][createMissing]=1 \ --form "rules[triggers][createMissing]=1" \
--form rules[graphs][updateExisting]=1 \ --form "rules[graphs][updateExisting]=1" \
--form rules[graphs][createMissing]=1 \ --form "rules[graphs][createMissing]=1" \
--form rules[httptests][updateExisting]=1 \ --form "rules[httptests][updateExisting]=1" \
--form rules[httptests][createMissing]=1 \ --form "rules[httptests][createMissing]=1" \
--form rules[valueMaps][createMissing]=1 \ --form "rules[valueMaps][createMissing]=1" \
--form "import=Import" \ --form "import=Import" \
--form "backurl=templates.php" \ --form "backurl=templates.php" \
--form "form_refresh=1" \ --form "form_refresh=1" \
@ -468,6 +469,6 @@ fi
# 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=$(mysql -u"$db_user" -p"$db_pwd" "$db_name" -BN -e "SELECT max(id) from \`users_groups\`")
lastid=$(($lastid + 1 )) lastid=$((lastid + 1 ))
mysql -u$db_user -p$db_pwd $db_name -e "INSERT INTO \`users_groups\` (\`id\` , \`usrgrpid\`, \`userid\`) VALUES ($lastid ,9, 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 app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get $app domain) #domain=$(ynh_app_setting_get "$app" domain) #not used
port=$(ynh_app_setting_get $app port) port=$(ynh_app_setting_get "$app" port)
db_name=$(ynh_app_setting_get $app db_name) db_name=$(ynh_app_setting_get "$app" db_name)
db_user=$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 # STANDARD REMOVE
@ -73,7 +73,7 @@ rm /var/www/zabbix
#================================================= #=================================================
# Remove a database if it exists, along with the associated user # 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 # REMOVE NGINX CONFIGURATION
@ -102,7 +102,7 @@ ynh_remove_logrotate
if yunohost firewall list | grep -q "\- $port$" if yunohost firewall list | grep -q "\- $port$"
then then
echo "Close port $port" >&2 echo "Close port $port" >&2
yunohost firewall disallow TCP $port 2>&1 yunohost firewall disallow TCP "$port" 2>&1
fi fi
#================================================= #=================================================

View file

@ -5,7 +5,7 @@
# IMPORT GENERIC HELPERS # IMPORT GENERIC HELPERS
#================================================= #=================================================
#source _common.sh source _common.sh
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#================================================= #=================================================
@ -40,10 +40,10 @@ rm -fr $final_path
#================================================= #=================================================
domain=$(ynh_app_setting_get $app domain) domain=$(ynh_app_setting_get $app domain)
path_url=$(ynh_app_setting_get $app path) #path_url=$(ynh_app_setting_get $app path) #not used
admin=$(ynh_app_setting_get $app admin) #admin=$(ynh_app_setting_get $app admin) #not used
is_public=$(ynh_app_setting_get $app is_public) 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 # 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 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" yunohost service add snmpd -d "Management of SNMP Daemon"
DEBIAN_FRONTEND=noninteractive apt-get -y download zabbix-frontend-php DEBIAN_FRONTEND=noninteractive apt-get -y download zabbix-frontend-php
ar x *.deb ar x ./*.deb
tar xzf control.tar.gz 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 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 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 rm -fr zabbix-*.deb
DEBIAN_FRONTEND=noninteractive apt-mark hold zabbix-server-mysql zabbix-frontend-php 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 locale-gen
ln -s /usr/share/zabbix /var/www/zabbix ln -s /usr/share/zabbix /var/www/zabbix
@ -105,7 +105,7 @@ yunohost app ssowatconf
systemctl reload nginx systemctl reload nginx
# Remove the public access # Remove the public access
if [ $is_public -eq 0 ] if [ "$is_public" -eq 0 ]
then then
ynh_app_setting_delete $app skipped_uris ynh_app_setting_delete $app skipped_uris
fi fi
@ -118,8 +118,8 @@ db_name=$(ynh_app_setting_get $app db_name)
db_user=$(ynh_app_setting_get $app db_user) db_user=$(ynh_app_setting_get $app db_user)
db_pwd=$(ynh_app_setting_get $app mysqlpwd) db_pwd=$(ynh_app_setting_get $app mysqlpwd)
ynh_mysql_setup_db $db_user $db_name $db_pwd ynh_mysql_setup_db "$db_user" "$db_name" "$db_pwd"
ynh_mysql_connect_as $db_name $db_pwd $db_name < ./db.sql ynh_mysql_connect_as "$db_name" "$db_pwd" "$db_name" < ./db.sql
#================================================= #=================================================
# Restore configs files # Restore configs files
@ -160,7 +160,7 @@ systemctl enable zabbix-server && systemctl start zabbix-server
#================================================= #=================================================
# Make app public if necessary # Make app public if necessary
if [ $is_public -eq 1 ] if [ "$is_public" -eq 1 ]
then then
# unprotected_uris allows SSO credentials to be passed anyway. # unprotected_uris allows SSO credentials to be passed anyway.
ynh_app_setting_set $app unprotected_uris "/" ynh_app_setting_set $app unprotected_uris "/"

View file

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