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