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