install.inc 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 0
  7. fi
  8. if hestia_module_isinstalled 'phpmyadmin' && [ ! "$param_force" ]; then
  9. echo "phpMyAdmin module is already installed. See 'hestia module info phpmyadmin'."
  10. return 1
  11. fi
  12. local hmd="$HESTIA_INSTALL_DIR/../modules/phpmyadmin.hmd"
  13. local pma_version=$(osal_kv_read $hmd 'version')
  14. echo "Installing phpMyAdmin module..."
  15. hestia_config_backup 'phpmyadmin-remove' $OSAL_PATH_NGINX_CONF_D/phpmyadmin.inc \
  16. $OSAL_PATH_APACHE_CONF_D/phpmyadmin.conf /usr/share/phpmyadmin /etc/phpmyadmin
  17. # Create and change to a temporal directory
  18. local tmp_dir=$(mktemp -d -t hestia-XXXXXXXXXX)
  19. if [ ! -d "$tmp_dir" ]; then
  20. echo Unable to create temporary directory
  21. exit 1
  22. fi
  23. cd $tmp_dir
  24. # Download and unpack
  25. [[ "$HESTIA_DEBUG" ]] && echo $tmp_dir
  26. local pma_archive_name="phpMyAdmin-$pma_version-all-languages.tar.gz"
  27. local pma_download_url="https://files.phpmyadmin.net/phpMyAdmin/$pma_version/$pma_archive_name"
  28. [[ "$HESTIA_DEBUG" ]] && echo wget --quiet $pma_download_url
  29. wget --quiet $pma_download_url
  30. if [ ! -f "$pma_archive_name" ]; then
  31. echo Error downloading phpMyAdmin from $pma_download_url
  32. rm -rf $tmp_dir
  33. exit 1
  34. fi
  35. mkdir -p /usr/share/phpmyadmin
  36. [[ "$HESTIA_DEBUG" ]] && echo tar --strip-components=1 -xz -f $pma_archive_name -C /usr/share/phpmyadmin
  37. tar --strip-components=1 -xz -f $pma_archive_name -C /usr/share/phpmyadmin
  38. cd - > /dev/null
  39. [[ "$HESTIA_DEBUG" ]] || rm -rf $tmp_dir
  40. rm -rf $tmp_dir
  41. # Delete file to prevent error. FIXME: prevent what error?
  42. hestia_safe_rm /usr/share/phpmyadmin/doc/html
  43. # Set config and log directory
  44. sed -i "s|define('CONFIG_DIR', ROOT_PATH);|define('CONFIG_DIR', '/etc/phpmyadmin/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
  45. sed -i "s|define('TEMP_DIR', ROOT_PATH . 'tmp/');|define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
  46. # Create folders and change permissions
  47. mkdir -p /etc/phpmyadmin
  48. mkdir -p /var/lib/phpmyadmin/tmp
  49. chmod 777 /var/lib/phpmyadmin/tmp
  50. if [ -e /var/lib/phpmyadmin/blowfish_secret.inc.php ]; then
  51. chmod 0644 /var/lib/phpmyadmin/blowfish_secret.inc.php
  52. fi
  53. cp -f $HESTIA_INSTALL_DIR/pma/config.inc.php /etc/phpmyadmin/
  54. osal_kv_write $HESTIA/conf/hestia.conf 'DB_PMA_ALIAS' 'phpmyadmin'
  55. $HESTIA/bin/v-change-sys-db-alias 'pma' 'phpmyadmin'
  56. }