install.inc 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/bin/bash
  2. hestia_module_phpmyadmin_install() {
  3. source $HESTIA/bin/module/func.inc
  4. if hestia_module_isinstalled 'phpmyadmin' && [ ! "$param_force" ]; then
  5. echo "phpMyAdmin module is already installed. See 'hestia module info phpmyadmin'."
  6. return 1
  7. fi
  8. if [ -z "$WEB_SYSTEM" ] && [ ! "$param_force" ]; then
  9. echo "phpMyAdmin needs a web server."
  10. return 1
  11. fi
  12. local pma_version='5.0.2'
  13. echo "Installing phpMyAdmin module..."
  14. hestia_config_backup 'phpmyadmin-remove' $OSAL_PATH_NGINX_CONF_D/phpmyadmin.inc \
  15. $OSAL_PATH_APACHE_CONF_D/phpmyadmin.conf /usr/share/phpmyadmin /etc/phpmyadmin
  16. local tmp_dir=$(mktemp -d -t hestia-XXXXXXXXXX)
  17. cd $tmp_dir
  18. # Download and unpack
  19. [[ "$HESTIA_DEBUG" ]] && echo $tmp_dir
  20. [[ "$HESTIA_DEBUG" ]] && echo https://files.phpmyadmin.net/phpMyAdmin/$pma_version/phpMyAdmin-$pma_version-all-languages.tar.gz
  21. wget --quiet https://files.phpmyadmin.net/phpMyAdmin/$pma_version/phpMyAdmin-$pma_version-all-languages.tar.gz
  22. tar xzf phpMyAdmin-$pma_version-all-languages.tar.gz
  23. # Delete file to prevent error. FIXME: prevent what error?
  24. mkdir -p /usr/share/phpmyadmin
  25. cd - > /dev/null
  26. hestia_safe_rm /usr/share/phpmyadmin/doc/html
  27. cp -rf phpMyAdmin-$pma_version-all-languages/* /usr/share/phpmyadmin
  28. [[ "$HESTIA_DEBUG" ]] || rm -rf $tmp_dir
  29. # Set config and log directory
  30. sed -i "s|define('CONFIG_DIR', ROOT_PATH);|define('CONFIG_DIR', '/etc/phpmyadmin/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
  31. sed -i "s|define('TEMP_DIR', ROOT_PATH . 'tmp/');|define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
  32. # Create folders and change permissions
  33. mkdir -p /etc/phpmyadmin
  34. mkdir -p /var/lib/phpmyadmin/tmp
  35. chmod 777 /var/lib/phpmyadmin/tmp
  36. if [ -e /var/lib/phpmyadmin/blowfish_secret.inc.php ]; then
  37. chmod 0644 /var/lib/phpmyadmin/blowfish_secret.inc.php
  38. fi
  39. cp -f $HESTIA_INSTALL_DIR/pma/config.inc.php /etc/phpmyadmin/
  40. osal_kv_write $HESTIA/conf/hestia.conf 'DB_PMA_ALIAS' 'phpmyadmin'
  41. $HESTIA/bin/v-change-sys-db-alias 'pma' 'phpmyadmin'
  42. if [ "$WEB_SYSTEM" = 'nginx' ]; then
  43. cp -f $HESTIA_INSTALL_DIR/nginx/phpmyadmin.inc $OSAL_PATH_NGINX_CONF_D/
  44. else
  45. cp -f $HESTIA_INSTALL_DIR/pma/apache.conf /etc/phpmyadmin/
  46. ln -s /etc/phpmyadmin/apache.conf $OSAL_PATH_APACHE_CONF_D/phpmyadmin.conf
  47. fi
  48. osal_kv_write $HESTIA_CONF_MODULES/phpmyadmin.conf 'installed' '1'
  49. osal_kv_write $HESTIA_CONF_MODULES/phpmyadmin.conf 'description' 'Hestia phpMyAdmin module'
  50. osal_kv_write $HESTIA_CONF_MODULES/phpmyadmin.conf 'enabled' '1'
  51. osal_kv_write $HESTIA_CONF_MODULES/phpmyadmin.conf 'variant' 'phpmyadmin'
  52. osal_kv_write $HESTIA_CONF_MODULES/phpmyadmin.conf 'version' '1'
  53. }