phpmyadmin.sh 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. # Define version check function
  3. function version_ge(){ test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" -o ! -z "$1" -a "$1" = "$2"; }
  4. # Set phpMyAdmin version for upgrade
  5. pma_v='4.9.0.1'
  6. pma_release_file=$(ls /usr/share/phpmyadmin/RELEASE-DATE-* 2>/dev/null |tail -n 1)
  7. if version_ge "${pma_release_file##*-}" "$pma_v"; then
  8. echo "(*) phpMyAdmin $pma_v or newer is already installed: ${pma_release_file##*-}, skipping update..."
  9. else
  10. # Display upgrade information
  11. echo "(*) Upgrade phpMyAdmin to v$pma_v..."
  12. [ -d /usr/share/phpmyadmin ] || mkdir -p /usr/share/phpmyadmin
  13. # Download latest phpMyAdmin release
  14. wget --quiet https://files.phpmyadmin.net/phpMyAdmin/$pma_v/phpMyAdmin-$pma_v-all-languages.tar.gz
  15. # Unpack files
  16. tar xzf phpMyAdmin-$pma_v-all-languages.tar.gz
  17. # Delete file to prevent error
  18. rm -fr /usr/share/phpmyadmin/doc/html
  19. # Overwrite old files
  20. cp -rf phpMyAdmin-$pma_v-all-languages/* /usr/share/phpmyadmin
  21. # Set config and log directory
  22. sed -i "s|define('CONFIG_DIR', '');|define('CONFIG_DIR', '/etc/phpmyadmin/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
  23. sed -i "s|define('TEMP_DIR', './tmp/');|define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');|" /usr/share/phpmyadmin/libraries/vendor_config.php
  24. # Create temporary folder and change permissions
  25. if [ ! -d /usr/share/phpmyadmin/tmp ]; then
  26. mkdir /usr/share/phpmyadmin/tmp
  27. chmod 777 /usr/share/phpmyadmin/tmp
  28. fi
  29. # Clean up source files
  30. rm -fr phpMyAdmin-$pma_v-all-languages
  31. rm -f phpMyAdmin-$pma_v-all-languages.tar.gz
  32. fi