Handmatig bijwerken van phpMyAdmin op Ubuntu
Op het moment van schrijven is de phpMyAdmin-versie beschikbaar in de Ubuntu pakketbeheerder (4.5.4) ondersteunt php7.2 niet volledig, wat leidt tot de vervelende count()-waarschuwing. De oplossing is om te updaten naar de nieuwste phpMyAdmin-versie , wat op het moment van schrijven 4.7.9 is.
Het Ubuntu-pakket loopt achter. Er is een phpMyAdmin PPA , maar ook hij loopt achter:
"Opmerking:deze repository loopt momenteel een beetje achter omdat ik moeite heb om tijd te vinden om deze bij te werken naar de 4.7-serie."
Gelukkig kunnen we handmatig upgraden vanaf de oudere versie.
De basisstappen zijn:
- Maak een reservekopie van de huidige installatie
- Download en pak de nieuwste versie van phpMyAdmin uit
- Wijzig het bestand vendor_config.php naar de juiste map voor Ubuntu
- Voeg een langere willekeurige reeks toe om blowfish-foutmeldingen op te lossen en correcte cookie-authenticatie toe te staan
Deze terminalcommando's zouden de klus moeten klaren (gebruik sudo indien van toepassing):
mv /usr/share/phpmyadmin /usr/share/phpmyadmin_old
mkdir /usr/share/phpmyadmin
mkdir /var/downloads
cd /var/downloads
wget https://files.phpmyadmin.net/phpMyAdmin/4.7.9/phpMyAdmin-4.7.9-all-languages.tar.gz
tar -xf phpMyAdmin-4.7.9-all-languages.tar.gz -C /usr/share/phpmyadmin --strip-components=1
(Optioneel ) Vervang de wget-regel door de nieuwste versie of voorkeursindeling van uw keuze. Bezoek https://www.phpmyadmin.net/downloads/ .
Los de blowfish-foutmelding op
Op dit punt krijgt u waarschijnlijk een blowfish-fout wanneer u phpMyAdmin gebruikt . Om dit op te lossen, moet u een specifiek configuratiebestand bijwerken:
- Open
vendor_config.php
in/usr/share/phpmyadmin/libraries/vendor_config.php
- Op of rond regel 38, vervang
define('CONFIG_DIR', '');
metdefine('CONFIG_DIR', '/etc/phpmyadmin/');
en sla het bestand op.
Als je klaar bent, regel 33-38 van vendor_config.php
zou er ongeveer zo uit moeten zien:
/**
* Directory where configuration files are stored.
* It is not used directly in code, just a convenient
* define used further in this file.
*/
define('CONFIG_DIR', '/etc/phpmyadmin/');
Op dit moment werkt phpMyAdmin mogelijk zonder fouten, maar u moet mogelijk extra lengte toevoegen aan de blowfish_secret-configuratiestring .
- Open het bestand
/var/lib/phpmyadmin/blowfish_secret.inc.php
.
Je zou moeten zien:
<?php
$cfg['blowfish_secret'] = 'Something Short';
- Voeg extra willekeur toe aan de
$cfg['blowfish_secret']
tekenreeks, minimaal 40 tekens en zelfs langer is misschien beter (ik gebruik een tekenreeks van maximaal 100 tekens).
Bijvoorbeeld (gebruik dit niet, slechts een voorbeeld):
$cfg['blowfish_secret'] = 'A much longer random string 7NfSjYezwmwGCfGDuDO7uWn4ESw2sCFCym1RatPjGCfGCym1RatPjGCfG';
- Bewaar het bestand.
Vernieuw nu phpMyAdmin (in uw browser) en log opnieuw in . Alles zou nu naar behoren moeten werken.
Indien gewenst kunt u de reservekopie van de oude phpMyAdmin-versie verwijderen met:
rm -rfv /usr/share/phpmyadmin_old
Aanvullende documentatie
Ter referentie, de volgende fragmenten zijn uit de officiële phpMyAdmin-documentatie over handmatig updaten naar de nieuwste versie (dit is niet Ubuntu-specifiek):
Waarschuwing
Pak nooit de nieuwe versie uit over een bestaande installatie van phpMyAdmin, verwijder altijd eerst de oude bestanden met behoud van alleen de configuratie.
Op deze manier laat u geen oude code die niet meer werkt in de map achter, wat ernstige beveiligingsimplicaties kan hebben of verschillende breuken kan veroorzaken.
En:
De volledige upgrade kan in enkele eenvoudige stappen worden uitgevoerd:
-
Download de nieuwste phpMyAdmin-versie vanhttps://www.phpmyadmin.net/downloads/ .
-
Hernoem de bestaande phpMyAdmin-map (bijvoorbeeld naar phpmyadmin-old).
-
Pak vers gedownloade phpMyAdmin uit naar de gewenste locatie (bijvoorbeeld phpmyadmin).
-
Kopieer config.inc.php` van de oude locatie (phpmyadmin-oud) naar de nieuwe (phpmyadmin).
-
Test of alles goed werkt.
-
Verwijder back-up van vorige versie (phpmyadmin-oud).