phpMyAdmin Installation schlägt fehl

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
derdomi
Beiträge: 15
Registriert: 20.01.2013 22:50:36

phpMyAdmin Installation schlägt fehl

Beitrag von derdomi » 20.01.2013 23:24:47

Hallo zusammen,

ich habe ein "frisches" Debian6 in einer VirtualBox aufgesetzt. Ich verwende die Pakete von dotdeb [1] und möchte mir einen Webserver aufsetzen.

Dazu installiere ich folgendes:

Code: Alles auswählen

apt-get install apache2 libapache2-mod-php5 mysql-server
Die folgenden zusätzlichen Pakete werden installiert:
  apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libaio1 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient16 libnet-daemon-perl libonig2
  libplrpc-perl libqdbm14 mysql-client-5.5 mysql-client-core-5.5 mysql-common mysql-server-5.5 mysql-server-core-5.5
  php5-cli php5-common ssl-cert

Code: Alles auswählen

apt-get install phpmyadmin
Die folgenden zusätzlichen Pakete werden installiert:
  dbconfig-common javascript-common libjpeg62 libjs-mootools libltdl7 libmcrypt4 libpng12-0 libt1-5 php5-gd
  php5-mcrypt php5-mysql wwwconfig-common
Dabei erhalte ich aber foglende Fehlermeldung (egal ob mit oder ohne PHP 5.4 Paket von dotdeb):

Code: Alles auswählen

Creating config file /etc/phpmyadmin/config-db.php with new version
granting access to database phpmyadmin for phpmyadmin@localhost: success.
verifying access for phpmyadmin@localhost: success.
creating database phpmyadmin: success.
verifying database phpmyadmin exists: success.
populating database via sql...  error encountered populating database:
mysql said: ERROR 1064 (42000) at line 72: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL, `sqlquery` text NOT NULL, PRIMARY KEY (`id`), KEY `usernam' at line 6
dbconfig-common: phpmyadmin configure: aborted.
Wenn ich das Ganze ohne die dotdeb-Pakete mache, funktioniert natürlich alles wie erwartet.
Meine Frage ist nun: Woran liegt das? Kann ich die Konfiguration auch ohne Fehler ausführen? Die Suchmaschine meines Vertrauens hat mir leider nicht weiterhelfen können.

Vielen Dank im Voraus!
Dominik

[1] http://www.dotdeb.org/instructions/

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: phpMyAdmin Installation schlägt fehl

Beitrag von rendegast » 21.01.2013 06:35:30

mysql-client-5.5 mysql-client-core-5.5 mysql-common mysql-server-5.5 mysql-server-core-5.5
...
...
mysql said: ERROR 1064 (42000) at line 72: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL, `sqlquery` text NOT NULL, PRIMARY KEY (`id`), KEY `usernam' at line 6

Code: Alles auswählen

apt-cache policy
Debian6 ist eigentlich squeeze, mysql-5.5 also von dotdeb?
In sqeeze ist mysql 5.1, daher dürften auch die Einrichtungsskripte von phpmyadmin/squeeze auf diese Version zugeschnitten sein.
Versuche es mit phpmyadmin 3.4.11.1 aus wheezy.

Die Stelle in .../install/mysql aus 3.3.7/squeeze:

Code: Alles auswählen

  `timevalue` timestamp(14) NOT NULL,
  `sqlquery` text NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `username` (`username`,`db`,`table`,`timevalue`)
und in 3.4.11.1/wheezy:

Code: Alles auswählen

  `timevalue` timestamp NOT NULL,
  `sqlquery` text NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `username` (`username`,`db`,`table`,`timevalue`)
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

derdomi
Beiträge: 15
Registriert: 20.01.2013 22:50:36

Re: phpMyAdmin Installation schlägt fehl

Beitrag von derdomi » 21.01.2013 22:17:00

Hallo!

erstmal vielen Dank für deine Antwort.

Etwas off-topic: Ich werde mir überlegen, ob ich die dotdeb-Pakete wirklich benötige. Was ich aber noch nicht so ganz verstanden habe: Wenn nun in PHP 5.3.22 eine Sicherheitslücke geschlossen wird, wird dann das Debian-Team in ihrem PHP 5.3.3-x diese Lücke ebenfalls durch ein Update schließen?

Zurück zum Thema. Auch wenn ich bei den originalen Paketen bleibe, würde ich gerne verstehen, wie ich zu einer Lösung komme.
rendegast hat geschrieben:

Code: Alles auswählen

apt-cache policy

Code: Alles auswählen

# apt-cache policy
Paketdateien:
 100 /var/lib/dpkg/status
     release a=now
 500 http://ftp.de.debian.org/debian/ squeeze-updates/contrib amd64 Packages
     release o=Debian,a=stable-updates,n=squeeze-updates,l=Debian,c=contrib
     origin ftp.de.debian.org
 500 http://ftp.de.debian.org/debian/ squeeze-updates/main amd64 Packages
     release o=Debian,a=stable-updates,n=squeeze-updates,l=Debian,c=main
     origin ftp.de.debian.org
 500 http://security.debian.org/ squeeze/updates/contrib amd64 Packages
     release v=6.0,o=Debian,a=stable,n=squeeze,l=Debian-Security,c=contrib
     origin security.debian.org
 500 http://security.debian.org/ squeeze/updates/main amd64 Packages
     release v=6.0,o=Debian,a=stable,n=squeeze,l=Debian-Security,c=main
     origin security.debian.org
 500 http://packages.dotdeb.org/ squeeze-php54/all amd64 Packages
     origin packages.dotdeb.org
 500 http://packages.dotdeb.org/ squeeze/all amd64 Packages
     origin packages.dotdeb.org
 500 http://ftp.de.debian.org/debian/ squeeze/main amd64 Packages
     release v=6.0.6,o=Debian,a=stable,n=squeeze,l=Debian,c=main
     origin ftp.de.debian.org
Mit Pinning verwaltete Pakete:

# apt-cache policy phpmyadmin
phpmyadmin:
  Installiert: 4:3.3.7-7
  Kandidat:    4:3.3.7-7
  Versionstabelle:
 *** 4:3.3.7-7 0
        500 http://ftp.de.debian.org/debian/ squeeze/main amd64 Packages
        500 http://security.debian.org/ squeeze/updates/main amd64 Packages
        100 /var/lib/dpkg/status
Liest man nun daraus, dass dotdeb keine Pakete für PhpMyAdmin bereitstellt? Was bedeuten die Ziffern? Leider finde ich keine detalierte Infos zu policy.
rendegast hat geschrieben:Versuche es mit phpmyadmin 3.4.11.1 aus wheezy.
Uih, wie macht man das denn nun schon wieder? Ich hätte so etwas wie

Code: Alles auswählen

deb http://ftp.de.debian.org/debian/ testing phpmyadmin
deb-src http://ftp.de.debian.org/debian/ testing phpmyadmin
in sources.list erwartet. Funktioniert aber nicht.
rendegast hat geschrieben:Die Stelle in .../install/mysql aus 3.3.7/squeeze:

Code: Alles auswählen

  `timevalue` timestamp(14) NOT NULL,
und in 3.4.11.1/wheezy:

Code: Alles auswählen

  `timevalue` timestamp NOT NULL,
Das macht Sinn. Aber meine Frage ist nun wieder, wie man darauf kommt? Ist das Erfahrung, wo man da schauen muss?


Vielen Dank nochmals im Voraus!
Dominik

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: phpMyAdmin Installation schlägt fehl

Beitrag von rendegast » 21.01.2013 22:53:43

deb http://ftp.de.debian.org/debian/ testing phpmyadmin
deb-src http://ftp.de.debian.org/debian/ testing phpmyadmin
Willst Du from-source bauen? Warum dann 'deb-src'.
Und wie kommst Du auf den Syntax?
Und ohne weitere Vorsichtsmaßnahme ziehst Du so eventuell das System auf wheezy,

Code: Alles auswählen

deb http://ftp.de.debian.org/debian/ testing main
/etc/apt/preferences:

Code: Alles auswählen

Package: *
Pin: origin packages.dotdeb.org
Pin-Priority: 101

Package: *
Pin: release o=Debian,n=wheezy,l=Debian
Pin-Priority: 100

Package: *
Pin: release o=Debian,a=testing,l=Debian
Pin-Priority: 99
(Zwei Einträge, damit nicht die mittelfristige stable-Umstellung eventuelles Chaos verursacht)
Damit wäre testing/wheezy als repo auf "backports"-Priorität, von dort installierte Pakete würden beim dist-upgrade berücksichtigt.
dotdeb auf Pin-Priority 101,
damit nicht die mysql5.5/squeeze-Pakete von dort durch entsprechende testing-Pakete
übertrumpft werden.

Das einzelne Paket läßt sich aber auch von http://packages.debian.org/phpmyadmin herunterladen.




, wie man darauf kommt? Ist das Erfahrung, wo man da schauen muss?
Die Stelle war ja angegeben.
Ob es an der '(14)' liegt, ist aber noch nicht raus.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

derdomi
Beiträge: 15
Registriert: 20.01.2013 22:50:36

Re: phpMyAdmin Installation schlägt fehl

Beitrag von derdomi » 22.01.2013 22:02:23

rendegast hat geschrieben:

Code: Alles auswählen

deb http://ftp.de.debian.org/debian/ testing main
/etc/apt/preferences
Gut. Wenn ich das nun richtig verstehe, muss ich folgenden Befehl absetzen

Code: Alles auswählen

apt-get install phpmyadmin/wheezy
um PhpMyAdmin von Wheezy zu installieren. Wenn ich keine Herkunft angebe, wird Squeeze installiert. Das mit dem Pinning werde ich mir aber nochmal genau in der Doku anschauen.
Die Installation vom Wheezy hat dann auch geklappt :D

Als ich es aber wieder mit autoremove entfernte, klappt die Installation nicht mehr. Das verstehe ich noch nicht so ganz, wo das herkommt

Code: Alles auswählen

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
 phpmyadmin : Hängt ab von: php5-mysql soll aber nicht installiert werden oder
                             php5-mysqli ist aber nicht installierbar oder
                             php5-mysqlnd soll aber nicht installiert werden
              Hängt ab von: php5-mcrypt soll aber nicht installiert werden
              Hängt ab von: dbconfig-common soll aber nicht installiert werden
              Empfiehlt: php5-gd soll aber nicht installiert werden
Für was stehen denn die Bustaben?

Code: Alles auswählen

v=6.0,o=Debian,a=stable,n=squeeze,l=Debian-Security,c=main
v=Version; o=Origin; a=?; n=?; l=?; c=?
Vielleicht ist es einfacher zu verstehen, wenn man die Bedeutung kennt.


Grüße
Dominik

derdomi
Beiträge: 15
Registriert: 20.01.2013 22:50:36

Re: phpMyAdmin Installation schlägt fehl

Beitrag von derdomi » 22.01.2013 22:37:30

Ich habe nun spaßeshalber noch mal ein frisches Squeeze aufgesetzt und von Anfang an die AptPreferences wie von dir vorgeschlagen angegeben. Es wurden mit den Befehlen

Code: Alles auswählen

apt-get install apache2 libapache2-mod-php5 mysql-server
und

Code: Alles auswählen

apt-get install phpmyadmin
ausschließlich die Pakete von Squeeze installiert. Ich hätte erwartet, dass zumindest MySQL-Server 5.5 von dotdeb installiert wird.

derdomi
Beiträge: 15
Registriert: 20.01.2013 22:50:36

Re: phpMyAdmin Installation schlägt fehl

Beitrag von derdomi » 22.01.2013 22:54:14

rendegast hat geschrieben:
, wie man darauf kommt? Ist das Erfahrung, wo man da schauen muss?
Die Stelle war ja angegeben.
Ob es an der '(14)' liegt, ist aber noch nicht raus.
Sodele, nun habe ich noch mal den Ursprungszustand installiert, um dem nachzugehen.

Beim beschriebenen Fehlerpopup habe ich einer neuen Konsole die Zeile in
/usr/share/dbconfig-common/data/phpmyadmin/install/mysql
editiert. Nun konnte ich es korrekt installieren. Leider meldet mir phpmyadmin beim ausführen

Code: Alles auswählen

Die Version der verwendeten PHP MySQL Bibliothek 5.1.66 unterscheidet sich von der Version des MySQL Servers 5.5.29. Dies kann zu unerwartetem Verhalten führen.
Ich sehe schon: Ich sollte einfach die originalen Pakete verwenden und gut ist... :wink:

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: phpMyAdmin Installation schlägt fehl

Beitrag von rendegast » 23.01.2013 05:26:54

ausschließlich die Pakete von Squeeze installiert. Ich hätte erwartet, dass zumindest MySQL-Server 5.5 von dotdeb installiert wird.
Du hast Dein 'apt-cache policy' nicht richtig angesehen.
squeeze, welches keine explizite Priority zugewiesen bekam, hat die automatische Priority 500.

Die von mir vorgeschlagenen Priority um hundert sind dafür,
daß deren Repos der Priority der 'installierten' Pakete 100 gleichkommt,
um automatische Upgrades von explizit ausgewählt installierten zu gewährleiten.
Paketdateien:
100 /var/lib/dpkg/status
release a=now
...
Dein
'... install mysql-server'
trifft das Paket aus squeeze, dieses hat keinen Bezug zu mysql-5.5, da nicht in squeeze.

mysql-5-5 müssen angegeben werden,
durch die Priority dotdeb > wheezy wird dann das aus dotdeb ausgesucht.



Die Version der verwendeten PHP MySQL Bibliothek 5.1.66 unterscheidet sich von der Version des MySQL Servers 5.5.29. Dies kann zu unerwartetem Verhalten führen.
Stelle fest, daß entsprechende mysql/php-Pakete alle von selber Version sind, zBsp.

Code: Alles auswählen

dpkg -l | grep mysql
dpkg -l | grep php


Vorbereitung wäre eher
(Die anzugebenden mysql-Pakete haben leider doch keine versionsbezogenen Namen)

Code: Alles auswählen

MYSQLV=5.5.29-1~dotdeb.0
aptitude -V install mysql-server=$MYSQLV  mysql-common=$MYSQLV

PHPV=5.4.10-1~dotdeb.0
aptitude -V install php5-gd=$PHPV  php5-mcrypt=$PHPV  php5-mysql=$PHPV   php5-common=$PHPV
Es gibt eine Unstimmigkeit,
mysql-client-5.5 > libdbd-mysql-perl
(squeezeVersion) > libmysqlclient16 (5.1.66)
(wheezyVersion) > libmysqlclient18 (5.5.xx), aber auch perl aus wheezy, Problem.

Dann braucht es noch apache / mod-php5 / php5-cli mit entsprechendem "Gefummel".
Mit dem dann folgenden phpmyadmin/wheezy ist der Fehler aber wirklich verschwunden.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

derdomi
Beiträge: 15
Registriert: 20.01.2013 22:50:36

Re: phpMyAdmin Installation schlägt fehl

Beitrag von derdomi » 23.01.2013 21:00:00

Hallo!

Ich danke dir vielmals für deine Hilfe! Ich denke, dass ich nun einiges mehr an Verständnis für die Paketverwaltung habe. Ob ich zukünftig alles richtig mache... schau'n mehr mal ;o)

Grüße
Dominik

Antworten