Plesk 8.2 auf Debian 4.0 und Greylisting

In meiner Anleitung findest Du auch die Pakete die Du zusätzlich brauchst.
Dir fehlen die rudimentären C-Libraries. (siehe erste Fehlermeldungen)
Eigentlich verwunderlich, daß Du überhaupt make und einen C-Compiler drauf hast. Versuch doch erstmal den GCC neu zu installieren.

huschi.
 
Danke erstmal für die schnelle Antwort.
gcc ist installiert, hab es auch eben nochmal neu installiert und dabei ist mir eine Meldung aufgefallen, die mir sagt, dass gcc gerne noch die folgenden Pakete hätte:
Code:
libc-dev
libc6-dev
manpages-dev 
autoconf 
automake 
libtool 
flex 
bison 
gdb 
gcc-doc
Die fehlen allesamt. Jetzt wollte ich die mit
Code:
# apt-get install libc-dev libc6-dev manpages-dev autoconf automake libtool flex bison gdb gcc-doc
installieren und bekomme aber eine Fehlermeldung, dass libc6-dev eine andere Version erwartet, als installiert wird.
Code:
The following packages have unmet dependencies:
  libc6-dev: Depends: libc6 (= 2.3.2.ds1-22sarge6) but 2.3.6.ds1-13 is to be installed
meine sources.list
Code:
# cat sources.list
# main sources

deb http://debian.intergenia.de/debian/ sarge main contrib non-free
deb-src http://debian.intergenia.de/debian/ sarge main contrib non-free
deb http://www.backports.org/debian sarge-backports main contrib non-free


# non-us

deb http://debian.intergenia.de/debian-non-US/ sarge/non-US main contrib non-free
deb-src http://debian.intergenia.de/debian-non-US/ sarge/non-US main contrib non-free


# security

deb http://debian.intergenia.de/debian-security/ sarge/updates main contrib non-free
deb-src http://debian.intergenia.de/debian-security/ sarge/updates main contrib non-free


# Dotdeb

deb http://dotdeb.netmirror.org/ sarge all
deb-src http://dotdeb.netmirror.org/ sarge all


# plesk

deb http://autoinstall.plesk.com/debian/PSA_8.2.0 sarge all
Könnt Ihr mir vielleicht helfen?

/EDIT:
Code:
apt-get install libmysqlclient12-dev libssl-dev
Wenn ich versuche die benötigten Pakete mysql-devel und openssl-devel zu installieren, bekomme ich ebenfalls einen Fehler der mit libc-dev zusammenhängt. Also wenn das gelöst ist sollte auch das andere klappen.
Code:
# apt-get install libmysqlclient12-dev libssl-dev
Reading Package Lists... Done
Building Dependency Tree... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  libmysqlclient12-dev: Depends: zlib1g-dev but it is not going to be installed
E: Broken packages
# apt-get install libmysqlclient12-dev libssl-dev zlib1g-dev
Reading Package Lists... Done
Building Dependency Tree... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  zlib1g-dev: Depends: libc6-dev but it is not going to be installed or
                       libc-dev
E: Broken packages
 
Last edited by a moderator:
libc6-dev: Depends: libc6 (= 2.3.2.ds1-22sarge6) but 2.3.6.ds1-13 is to be installed
Konkret:
2.3.2.ds1-22sarge6 ist ein Sarge-Paket
2.3.6.ds1-13 ist ein Etch-Paket oder ein Backport.
Welche libc6 bei Dir wirklich installiert ist findest Du mit "dpkg -l|grep libc6" raus.
Und dann gibst Du diese Version dem apt-get mit.

Der Rest sind Folgefehler. Daher alle anderen Pakete erst installieren wenn die libc6-dev korrekt installiert wurde.

huschi.
 
Code:
# dpkg -l|grep libc6
ii  libc6          2.3.6.ds1-13   GNU C Library: Shared libraries
Also die installierte version ist 2.3.6.ds1-13 und die versucht er ja auch beim libc6-dev zu installieren.
Code:
# aptitude install libc6-dev
Reading Package Lists... Done
Building Dependency Tree
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
E: Unable to correct problems, you have held broken packages.
E: Unable to correct dependencies, some packages cannot be installed
E: Unable to resolve some dependencies!
Some packages had unmet dependencies.  This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

The following packages have unmet dependencies:
  libc6-dev: Depends: libc6 (= 2.3.2.ds1-22sarge6) but 2.3.6.ds1-13 is installed.
Wenn ich das richtig verstehe, dann findet er im repository von sarge nur die version 2.3.2.ds1-22sarge6 von libc6 und libc6-dev. Und da scheint das problem zu liegen oder seh ich das falsch?

/EDIT:
Code:
# aptitude download libc6
Reading Package Lists... Done
Building Dependency Tree
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
E: No downloadable files for libc6 version 2.3.6.ds1-13; perhaps it is a local or obsolete package?
# aptitude download libc6-dev
Reading Package Lists... Done
Building Dependency Tree
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
Get:1 http://debian.intergenia.de sarge/main libc6-dev 2.3.2.ds1-22sarge6 [2532kB]
Fetched 1B in 0s (9B/s)
so wie es aussieht ist scheinbar durch mein Plesk update vor einiger Zeit die neue libc6 version auf meinen server gekommen. da im sarge repository aber nur die 2.3.2.ds1-22sarge6 zu finden ist und das andere, wie du schon sagtest, eine etch-version ist komm ich da nicht wirklich weiter ohne das ganze system zu upgraden!? Aber das würde ich eigentlich gerne vermeiden, weil mein server dannach bestimmt nicht mehr läuft. Plesk hat es meiner erfahrung nach nicht so mit system-upgrades!?
 
Last edited by a moderator:
Schon mal ein "apt-get clean && apt-get update" gemacht?
Und danach mal "apt-get -f install libc6-dev".

PS: Wenn "high-level-Software" nicht will sollte man auf ein "low-level-Tool" zurück greifen.

huschi.
 
UNGLAUBLICH, aber ich hab es hinbekommen. Hab mir von den Debian Servern zwei gleiche Versionen von libc6 und libc6-dev runtergeladen installiert und siehe da, es funktioniert :)
Jetzt konnte ich erstmal kompilieren und es ist imho kein Fehler aufgetreten. Wenn ich jetzt aber den Kontrollbefehl wie ihn ClausVB auzeigt ausführe bekomme ich nicht 85 zurück sondern 84!!
Code:
# make
[...]
> binm3+df
chmod 755 binm3+df
./compile spfquery.c
./load spfquery spf.o ip.o ipme.o ipalloc.o strsalloc.o \
now.o dns.o datetime.a stralloc.a alloc.a str.a substdio.a \
case.a error.a fs.a `cat dns.lib` `cat socket.lib`
# ls -l | grep -cv '\..\{1,12\}$\|conf-\|make-\|Makefile\|warn-\|[[:upper:]].$'
84
Allerdings hat das kompilieren keinen Fehler gebracht!? Einfach ignorieren und weiter machen??

/EDIT:

PS: Was meinst du mit "High-Level" und "Low-Level" Software??
 
Wenn ich jetzt aber den Kontrollbefehl wie ihn ClausVB auzeigt ausführe bekomme ich nicht 85 zurück sondern 84!!
Das Ergebnis des "make" sieht richtig aus. Warum hast Du nicht die "./install.sh" benutzt?

Aber Greylisting sollte jetzt laufen.

Gruß
Claus
 
Weil die install.sh nur für SuSE war, oder ?!?

However... greylisting scheint zu laufen...
Code:
# tail -f /tmp/greylist_dbg.txt
protocol = notneeded4qmail bart@der.com
--------
protocol = notneeded4qmail amd-hammer@gmx.de
--------
protocol = notneeded4qmail webmaster@serversupportforum.de
--------
 
So richtig scheint es doch noch nicht zu funktionieren. Die "qmail" Datenbank bleibt nämlich leer obwohl sich der Inhalt der "/tmp/greylist_dbg.txt" ändert.

Müsste der da nicht die Einträge reinschreiben??
 
Code:
# tail -f /tmp/greylist_dbg.txt
protocol = notneeded4qmail tmeonippkk@aahp.org
--------
protocol = notneeded4qmail MICHIEpgi@aquariussoft.com
--------
protocol = notneeded4qmail jr@cortexpharm.com
--------
protocol = notneeded4qmail jraine68@avantages.net
--------
protocol = notneeded4qmail jraine68@avantages.net
--------
protocol = notneeded4qmail jraine68@avantages.net
--------
protocol = notneeded4qmail jraine68@avantages.net
--------
protocol = notneeded4qmail dagmarmohammed@ausrichtung.ch
--------
protocol = notneeded4qmail webmaster@serversupportforum.de
--------

Die Daten (hab jetzt die local_scan.c überprüft, da dies ja die einzig wichtige sein sollte) stimmen hab das gerade nochmal via "mysql -u greylist -p" nachgeprüft. Hat noch jemand eine Idee??

Ich glaub übrigens in der greylist_dbg.txt fehlt die Zuordnung zur Tabelle und die Information ob die Mail geblockt wurde oder nicht!?
 
Diesen Fehler hatte ich nur ein einziges Mal, als ich vergessen habe, das Passwort in der "qmail.sql" mit der "local_scan" abzugleichen. Dann ist der Fehler auch in Ordnung, weil die C-Binaries nicht in die DB schreiben können.

Bitte mach mal folgendes:

Code:
# mysql -u greylist -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 709248 to server version: 4.0.18

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> USE qmail;
Database changed
mysql> CREATE TABLE test(datum DATE);
Query OK, 0 rows affected (0.00 sec)

mysql> DROP TABLE test;
Query OK, 0 rows affected (0.03 sec)

mysql> SHOW TABLES;
+-----------------+
| Tables_in_qmail |
+-----------------+
| relaytofrom     |
+-----------------+
1 row in set (0.01 sec)

mysql> SELECT * FROM relaytofrom;

Bitte poste die Ausgabe hier, danke!

Ich benutze eine MySQL4 und vielleicht gibt es Probleme mit MySQL5 ... Da gab es eine Änderung der Authentifizierung, kann aber auch sein, dass es nur ein Upgrade von MySQL4.0.x auf MySQL4.1.x war ...

Gruß
Claus
 
Last edited by a moderator:
Danke für die schnelle Antwort. Abgesehn von der Tatsache, dass ich nicht verstehe warum du willst, dass ich eine tabelle test erst anlege und dann lösche hab ich trotzdem mal alles so gemacht wie gewünscht.
Code:
# mysql -u greylist -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4393 to server version: 4.1.15-Debian_0.dotdeb.4-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use qmail;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> create table test(datum DATE);
Query OK, 0 rows affected (0.01 sec)

mysql> drop table test;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW TABLES;
+-----------------+
| Tables_in_qmail |
+-----------------+
| relaytofrom     |
+-----------------+
1 row in set (0.00 sec)

mysql> SELECT * FROM relaytofrom;
Empty set (0.00 sec)

mysql> quit

Bei mir läuft MySQL 4.1.15-Debian_0.dotdeb.4-log sollte also kein MySQL 5 Problem sein. Die Benutzerdaten in der qmail.sql sind identisch mit der in der local_scan.c. Hab Sie aber eben nochmal importiert um auf nummer sicher zu gehen. Vorher hab ich die alte natürlich gelöscht

/EDIT:
Es gibt nicht zufällig Log-Dateien, in denen man mal sehen kann was überhaupt passiert oder?

/EDIT:
Ich hab da eine Vermutung. In der Anleitung von Huschi stand folgenden absatz:
Code:
Unter Debian muß man noch das Makefile anpassen:

edit Makefile
#ersetzte alle Vorkommen von "/usr/lib/mysql/libmysqlclient.a"
#durch "/usr/lib/libmysqlclient.a"
Das habe ich auch gemacht, aber wenn ich nach der Datei "libmysqlclient.a" suche finde ich sie weder in "/usr/lib/" noch in "/usr/lib/mysql/". Auch locate findet sie nicht.

/EDIT:
MySQL-Devel ist aber installiert:
Code:
# apt-get install libmysqlclient12-dev libssl-dev
Reading Package Lists... Done
Building Dependency Tree... Done
libmysqlclient12-dev is already the newest version.
libssl-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
 
Last edited by a moderator:
Danke für die schnelle Antwort. Abgesehn von der Tatsache, dass ich nicht verstehe warum du willst, dass ich eine tabelle test erst anlege und dann lösche hab ich trotzdem mal alles so gemacht wie gewünscht.
Ich wollte sichergehen, dass Du Schreibrechte für die DB hast. :-).

Dann fällt mir nur noch eine Lösung ein:
- "local_scan.c": Benutzer "greylist" ersetzen durch "amdhammer" (Beispiel)
- "local_scan.c": Passwort "topSecret" ersetzen durch "DeinPasswort" (Beispiel)
- "qmail.sql": Benutzer "greylist" ersetzen durch "amdhammer" (Beispiel)
- "qmail.sql": Passwort "topSecret" ersetzen durch "DeinPasswort" (Beispiel)

- qmail stoppen
- die Datenbank "qmail" löschen
- Gemäß meiner Anleitung Datenbank "qmail" und Tabelle "relaytofrom" mit neuen Daten erzeugen
- Testen ob das neue Login funktioniert
- "make" erneut ausführen ("local_scan.c" neu übersetzen)
- Dateien wie beschrieben noch mal kopieren
- qmail starten

Huschis Anleitung enthält außerdem eine Menge Tipps für 64-Bit-System und Debian. Es kann nicht schaden, es mal nach seiner Anleitung zu versuchen.

Wenn das nicht geht, dann ist es ein Problem von Debian, C oder MySQL.

Gruß
Claus
 
Last edited by a moderator:
MOD: Full-Quote entfernt!

Mein fehler... hatte mich bei locate vertippt... er hat die datei gefunden und sie liegt in "/usr/lib/".
Habs jetzt nochmal wie ClausVB sagte gemacht (benutzernamen etc. auch geändert) und probiers jetzt aus. Muss leider jetzt erstmal los, aber ich hoffe es funktioniert jetzt. dAnke erstmal für die tipps.

gruß udn danke erstmal
amd-hammer

/edit:
Hat leider immernoch nicht geklappt.
Code:
# tail -f /tmp/greylist_dbg.txt
protocol = notneeded4qmail jraine68@avantages.net
--------
protocol = notneeded4qmail jraine68@avantages.net
--------
protocol = notneeded4qmail jraine68@avantages.net
--------
protocol = notneeded4qmail dagmarmohammed@ausrichtung.ch
--------
protocol = notneeded4qmail webmaster@serversupportforum.de
Datenbank ist weiterhin leer! :( Noch irgendwelche ideen?
 
Last edited by a moderator:
Datenbank ist weiterhin leer! :( Noch irgendwelche ideen?
Nein. Wenn Huschis Anleitung (siehe Post oben) auch nicht klappt, bin ich ratlos. Du wirkst jetzt auch nicht wie jemand, der ein "FLUSH PRIVILEGES;" vergisst bzw. meine "qmail.sql" nicht verwendet, aber irgendwas scheinst Du zu vergessen ...

Ich habe aber alle wichtigen Schritte oben hin gepostet. Es wirkt wie ein ungleiches Passwort in "local_scan.c" und MySQL.

Gruß
Claus
 
Steht evtl. in irgendeinem anderen Logfile noch etwas dazu? Ich denke da an /var/log/syslog.

Nun kannst Du die Debug-Ausgabe in local_scan.c erweitern (ca. Zeile 284):
Code:
[COLOR="DarkRed"]//[/COLOR] if(mysql) mysql_close(mysql);
[COLOR="DarkRed"]
 if (dbglog) {
   if (mysql) {
       if (mysql_errno(mysql)) 
           fprintf(dbglog, "MySQL-Error: %s\n", mysql_error(mysql));
       mysql_close(mysql);
   } else {
       fprintf(dbglog, "MySQL-Error: %s\n", "cannot initialize!");
   }[/COLOR]
   fprintf(dbglog, "--------\n");
   fclose(dbglog);
 }
(untested!!!)
Wenn es korrekt läuft sollten die MySQL-Fehlermeldungen ebenfalls im debug-Log erscheinen.

huschi.
 
hab die debug ausgabe gerade mal ausprobiert und bekomme fehler im Protokoll.
Code:
# tail -f /tmp/greylist_dbg.txt
--------
protocol = notneeded4qmail ufn@br.egroups.com  
MySQL-Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client
--------
protocol = notneeded4qmail saikumar@myrealbox.com  
MySQL-Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client
--------
protocol = notneeded4qmail santos.dalzell@uher.at  
MySQL-Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client
--------
protocol = notneeded4qmail lambert@talk21.com  
MySQL-Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client
--------
Hilft das?

/EDIT
Sieht aus als hätte ich es hinbekommen!!
=> MySQL AB :: MySQL 3.23, 4.0, 4.1 Reference Manual :: A.1.2.3 Client does not support authentication protocol
 
Last edited by a moderator:
Deine libmysqlclient paßt also nicht zum MySQL-Server.
Mit "hinbekommen" meinst Du dann bestimmt, daß Du nun die richtige libmysqlclient installiert hast, oder?

huschi.
 
Back
Top