# ISPConfig3: Replication failed. Error



## wiseguy (17. Dez. 2008)

Hallo,

Ich hatte heute (bzw. gestern - also vor ca. 3 bis 4 Stunden) beide Server noch einmal ganz neu installiert. Bis eben hatte ich das Problem, dass ich mich bei dem Hauptserver (und das ist ja der einzige auf dem ich das ISPConfig Webinterface installiert hab) nicht einloggen konnte (siehe diesen Thread).

Nun konnte ich mich wieder einloggen und sehe, dass folgender Fehler auf dem sekundären Server aufgetreten ist:


> Replication failed. Error: (client) 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 'WHERE client_id = 1' at line 1


Der Zeitpunkt, an dem dieser Fehler (erstmalig und bisher einmalig) aufgetreten ist, liegt nachdem Zeitpunkt, an dem ich mein Login Problem hatte; also nachdem die Sperrfrist begonnen hatte (siehe diesen Thread).

Ich hatte allerdings zwischenzeitlich in die MySQL Datenbank per phpmyadmin geschaut (NICHTS GEÄNDERT!). Allerdings KÖNNTE es sein, dass dieses Nachschauen zu diesem Zeitpunkt war, an dem der Fehler in der Logdatei aufgetaucht ist.

Was genau besagt die Fehlermeldung? Irgendwie sieht mir das sehr danach aus, als wäre da ein Quellcode Fehler. Aber bevor ich das als Bug im Bugtracker angebe, wollte ich sichergehen, das ich nicht selber durch eben z.B. phpmyadmin-Zugriff drann schuld bin.


----------



## Till (17. Dez. 2008)

Ich kann Dir nicht sagen ob es an Deinem Zugriff auf die mysql DB liegt, da ich nicht weiß was genau Du geändert hast.


----------



## wiseguy (17. Dez. 2008)

Wie gesagt: Nichts hab ich geändert. Ich war nur per phpmyadmin drinn und hab in die Tabellen geschaut (wegen der Sache mit dem Admin Passwort. Hab aber nichts geändert.)


----------



## wiseguy (17. Dez. 2008)

Hättest du evtl. eine Idee, wie ich den Fehler beheben kann? Bzw. was ich tun kann, damit ich dem Fehler weiter auf die Spur komme?


----------



## Till (18. Dez. 2008)

Lösche den kompletten Inhalt der Tabelle sys_log auf dem Master Server, dann müsstest Du nach einer Minute einen neuen Error Eintrag erhalten, der aussagekräftiger ist. Vorausgesetzt Du hast eine ganz aktuelle SVN Version drauf.


----------



## wiseguy (18. Dez. 2008)

Okay, hab ich gemacht. Hier nun die neue Fehlermeldung:


> Replication failed. Error: (client) 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 'WHERE client_id = 1' at line 1 # SQL: UPDATE client SET WHERE client_id = 1


----------



## wiseguy (19. Dez. 2008)

Hallo,

ich habs mir fast gedacht: Selbst nach einer kompletten Neuinstallation (wieder mit absolut aktueller SVN-Version) ist der Fehler wieder aufgetreten.

Davor hatte ich nur zwei Clients angelegt: Einen beheimatet auf Server1 und den anderen auf Server2.


----------



## Till (19. Dez. 2008)

Ich werde es bei mir nochmal testen und neu aufsetzen, bis jetzt konnte ich aber Deinen Fehler nicht reproduzieren.


----------



## wiseguy (19. Dez. 2008)

Ich habe mittlerweile die beiden Server schon x-mal neu aufgesetzt. Jedesmal komme ich bei meiner Konstelation auf diesen Fehler.

Daher werde ich hier mal meine komplette Instalationsroutine bis zum Eintritt des Fehlers beschreiben:

Server 1 = Hauptserver (ein Client eines Linux vServers)
_Ich ersetze im Folgenden jede Erwähnung der Domain mit server1.de
Ich ersetze die Domain des Servers im Folgenden mit 123.123.123.1
_

Zurücksetzen des Servers über meinen Hoster (VCP-Webinterface)
debian_etch

Einloggen per SSH
Passwort ändern
/etc/hostname editieren

```
server1.de
```

/etc/hosts editieren

```
127.0.0.1       localhost.localdomain   localhost
123.123.123.1   server1.de              server1
```



```
server1:~# [B]ln -s /etc/init.d/hostname.sh /etc/rc3.d/S12hostname[/B]
server1:~# [B]/etc/init.d/hostname.sh[/B]
server1:~# [B]hostname[/B]
server1.de
```

/etc/ssh/sshd_config editieren

```
...
# What ports, IPs and protocols we listen for
Port 1234
...
```



```
server1:~# [B]/etc/init.d/ssh restart[/B]
Restarting OpenBSD Secure Shell server: sshd.
```

/etc/apt/source.list editieren

```
deb http://ftp.debian.org/debian etch main
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
```



```
server1:~# [B]apt-get update[/B]
...
```



```
server1:~# [B]apt-get dist-upgrade[/B]
...
Running 'tzconfig' to set this system's timezone.
Your current time zone is set to Unknown
Do you want to change that? [n]: [B]y[/B]

Please enter the number of the geographic area in which you live:


        1) Africa                       7) Australia

        2) America                      8) Europe

        3) US time zones                9) Indian Ocean

        4) Canada time zones            10) Pacific Ocean

        5) Asia                         11) Use System V style time zones

        6) Atlantic Ocean               12) None of the above


Then you will be shown a list of cities which represent the time zone
in which they are located. You should choose a city in your time zone.

Number: [B]8[/B]

Amsterdam Andorra Athens Belfast Belgrade Berlin Bratislava Brussels
Bucharest Budapest Chisinau Copenhagen Dublin Gibraltar Guernsey Helsinki
Isle_of_Man Istanbul Jersey Kaliningrad Kiev Lisbon Ljubljana London
Luxembourg Madrid Malta Mariehamn Minsk Monaco Moscow Nicosia Oslo Paris
Podgorica Prague Riga Rome Samara San_Marino Sarajevo Simferopol Skopje
Sofia Stockholm Tallinn Tirane Tiraspol Uzhgorod Vaduz Vatican Vienna
Vilnius Volgograd Warsaw Zagreb Zaporozhye Zurich

Please enter the name of one of these cities or zones
You just need to type enough letters to resolve ambiguities
Press Enter to view all of them again
Name: [] [B]Berlin[/B]
Your default time zone is set to 'Europe/Berlin'.
Local time is now:      Fri Dec 19 16:49:13 CET 2008.
Universal Time is now:  Fri Dec 19 15:49:13 UTC 2008.

...
```
<-- *OK*


```
server1:~# [B]apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 ntp ntpdate rkhunter[/B]
...
```
<-- *NO*
<-- *OK*
<-- *Internet Site*
<-- *server1.de*
<-- *OK*

```
...
Not creating home directory `/var/spool/postfix'.
Creating /etc/postfix/dynamicmaps.cf
Adding tcp map entry to /etc/postfix/dynamicmaps.cf
Adding group `postdrop' (GID 106) ...
Done.
setting myhostname: server1.de
setting alias maps
setting alias database
changing /etc/mailname
setting myorigin
setting destinations: server1.de, localhost.de, , localhost
setting relayhost:
setting mynetworks: 127.0.0.0/8
setting mailbox_size_limit: 0
setting recipient_delimiter: +
setting inet_interfaces: all
/etc/aliases does not exist, creating it.
WARNING: /etc/aliases exists, but does not have a root alias.

...
warning: --update given but /var/run/saslauthd does not exist
* To enable saslauthd, edit /etc/default/saslauthd and set START=yes

...
writing new private key to '/usr/lib/courier/pop3d.pem'
-----
1024 semi-random bytes loaded
Generating DH parameters, 512 bit long safe prime, generator 2
This is going to take a long time
........................+.......+...+.......+..................................+..........+................+....................+................................................................+.........................+.+..........................+..+.......+...........+.....................+..+.......+...............+......+.+....+.................+...............+.....................................................+..........+....+...............................+......................+.......+...............................................................................+........................+....+........................+........................+................................................+..........................................................................+............+.............+.............................................................+............................................+........+..................+.....+.....+...........................+.......+...................+.+........................+..........................................+..........+...+...+.............................+............+.......................................+..+.....+..............+....+......................................+.....................+.............++*++*++*++*++*++*
subject= /C=US/ST=NY/L=New York/O=Courier Mail Server/OU=Automatically-generated POP3 SSL key/CN=localhost/emailAddress=postmaster@example.com
notBefore=Dec 19 15:56:02 2008 GMT
notAfter=Dec 19 15:56:02 2009 GMT
SHA1 Fingerprint=46:A2:DD:10:94:EC:EC:0C:40:C9:4C:F5:4F:05:A9:ED:01:A2:D3:5B
Starting Courier POP3-SSL server: pop3d-ssl.

...
writing new private key to '/usr/lib/courier/imapd.pem'
-----
1024 semi-random bytes loaded
Generating DH parameters, 512 bit long safe prime, generator 2
This is going to take a long time
..........+..........................................+.............+.......+............+........................++*++*++*++*++*++*
subject= /C=US/ST=NY/L=New York/O=Courier Mail Server/OU=Automatically-generated IMAP SSL key/CN=localhost/emailAddress=postmaster@example.com
notBefore=Dec 19 15:56:16 2008 GMT
notAfter=Dec 19 15:56:16 2009 GMT
SHA1 Fingerprint=0E:A4:9F:2D:27:65:13:CE:33:86:FE:F9:5E:62:C4:DE:A6:15:06:04
Starting Courier IMAP-SSL server: imapd-ssl.
```

/etc/mysql/my.cnf editieren

```
...
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1
...
```


----------



## wiseguy (19. Dez. 2008)

```
server1:~# [B]/etc/init.d/mysql restart[/B]
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
server1:~# [B]mysqladmin -u root password KENNWORT1[/B]
server1:~# [B]mysqladmin -h server1.de -u root password KENNWORT1[/B]
```



```
server1:~# [B]apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl[/B]
...
Starting ClamAV daemon: clamd LibClamAV Warning: **************************************************
LibClamAV Warning: ***  The virus database is older than 7 days!  ***
LibClamAV Warning: ***   Please update it as soon as possible.    ***
LibClamAV Warning: **************************************************
```



```
server1:~# [B]apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli libapache2-mod-fcgid[/B]
...
/dev/mem: No such file or directory
```
<-- *YES*

```
server1:~# [B]a2enmod suexec[/B]
Module suexec installed; run /etc/init.d/apache2 force-reload to enable.
server1:~# [B]a2enmod rewrite[/B]
Module rewrite installed; run /etc/init.d/apache2 force-reload to enable.
server1:~# [B]a2enmod ssl[/B]
Module ssl installed; run /etc/init.d/apache2 force-reload to enable.
```



```
server1:~# [B]apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool[/B]
...
```

/etc/default/pure_ftpd_common editieren

```
...
# STANDALONE_OR_INETD
# valid values are "standalone" and "inetd".
# Any change here overrides the setting in debconf.
STANDALONE_OR_INETD=standalone
...
```

/etc/inetd.conf editieren

```
...
#:STANDARD: These are standard services.
#ftp    stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
...
```



```
server1:~# [B]/etc/init.d/openbsd-inetd restart[/B]
Restarting internet superserver: inetd* Not starting internet superserver: no services enabled.
```



```
server1:~# [B]apt-get install mydns-mysql[/B]
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
  mydns-mysql
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 249kB of archives.
After unpacking 692kB of additional disk space will be used.
Get:1 http://ftp.debian.org etch/main mydns-mysql 1:1.1.0-7etch1 [249kB]
Fetched 249kB in 0s (579kB/s)
Preconfiguring packages ...
```
<-- *localhost*
<-- *mydns*
<-- *YES*
<-- root
<-- *KENNWORT1*
<-- *KENNWORT1*
<-- *mydns*
<-- *KENNWORT1*

```
Selecting previously deselected package mydns-mysql.
(Reading database ... 17820 files and directories currently installed.)
Unpacking mydns-mysql (from .../mydns-mysql_1%3a1.1.0-7etch1_i386.deb) ...
Setting up mydns-mysql (1.1.0-7etch1) ...
/etc/mydns.conf created/modified. See mydns.conf(5) for details.
A backup of the old config file is at /etc/mydns.conf.dpkg-old. Values
were preserved, except for database (database,db-*)
and distribution-specific information (user, group, pidfile).
Creating database...
Adding user...
Creating tables...
Starting DNS server: mydns.
```



```
server1:~# [B]apt-get install vlogger webalizer[/B]
...
```



```
server1:~# [B]apt-get install subversion[/B]
...
```



```
server1:~# [B]cd /tmp[/B]
server1:/tmp# [B]svn export svn://svn.ispconfig.org/ispconfig3/trunk/[/B]
A    trunk
...
A    trunk/INSTALL_FEDORA_9.txt
Exported revision 752.
```



```
server1:/tmp# [B]cd trunk/install/[/B]
server1:/tmp/trunk/install# [B]php -q install.php[/B]


--------------------------------------------------------------------------------
 _____ ___________   _____              __ _
|_   _/  ___| ___ \ /  __ \            / _(_)
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _
  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |
 _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| |
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, |
                                              __/ |
                                             |___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System: Debian 4.0 or compatible

    Following will be a few questions for primary configuration so be careful.
    Default values are in [brackets] and can be accepted with <ENTER>.
    Tap in "quit" (without the quotes) to stop the installer.


Select language (en,de) [en]: de

Installation mode (standard,expert) [standard]:

Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server1.de]:

MySQL server hostname [localhost]:

MySQL root username [root]:

MySQL root password []: [B]KENNWORT1[/B]

MySQL database to create [dbispconfig]:

MySQL charset [utf8]:

Generating a 2048 bit RSA private key
..+++
...............................................................................................................+++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:[B]DE[/B]
State or Province Name (full name) [Some-State]:[B]BLANK[/B]
Locality Name (eg, city) []:[B]BLANK[/B]
Organization Name (eg, company) [Internet Widgits Pty Ltd]:[B]Test Server[/B]
Organizational Unit Name (eg, section) []:[B]SMTP[/B]
Common Name (eg, YOUR name) []:[B]server1.de[/B]
Email Address []:[B]admin@server1.de[/B]
Configuring Jailkit
Configuring SASL
Configuring PAM
Configuring Courier
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring MyDNS
Configuring Apache
Configuring Firewall
Installing ISPConfig
ISPConfig Port [8080]:

Configuring DBServer
Installing Crontab
no crontab for root
no crontab for getmail
Restarting services ...
Installation completed.
```

In Webbrauser: *http://server1.de/phpmyadmin*
Benutzername: *root*
Passwort: *KENNWORT1*
<-- *OK*
auf *Rechte* gehen
Den Eintrag


> root server1.de Ja ALL PRIVILEGES Ja


editieren
Logininformationen ändern/Benutzer kopieren > Host: *123.123.123.2*
<-- *OK*
Server1 über VCP-Webinterface neustarten


----------



## wiseguy (19. Dez. 2008)

Jetzt das gleiche mit dem server2 (ebenfalls in Linux vServer, aber auf einem anderen Hostrechner) bis zum installieren des ISPConfig3
Die IP des *server2.de* lautet *123.123.123.2* (ist natürlich auch geändert)
Das MySQL Kennwort lautet *KENNWORT2*



```
server2:/tmp/trunk/install# [B]php -q install.php[/B]


--------------------------------------------------------------------------------
 _____ ___________   _____              __ _
|_   _/  ___| ___ \ /  __ \            / _(_)
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _
  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |
 _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| |
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, |
                                              __/ |
                                             |___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System: Debian 4.0 or compatible

    Following will be a few questions for primary configuration so be careful.
    Default values are in [brackets] and can be accepted with <ENTER>.
    Tap in "quit" (without the quotes) to stop the installer.


Select language (en,de) [en]: [B]de[/B]

Installation mode (standard,expert) [standard]: [B]expert[/B]

Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server2.de]:

MySQL server hostname [localhost]:

MySQL root username [root]:

MySQL root password []: [B]KENNWORT2[/B]

MySQL database to create [dbispconfig]:

MySQL charset [utf8]:

Shall this server join an existing ISPConfig multiserver setup (y,n) [n]: [B]y[/B]

MySQL master server hostname []: [B]server1.de[/B]

MySQL master server root username [root]:

MySQL master server root password []: [B]KENNWORT1[/B]

MySQL master server database name [dbispconfig]:

Adding ISPConfig server record to database.

Configure Mail (y,n) [y]: [B]y[/B]

Configuring Postfix
Generating a 2048 bit RSA private key
.......................................+++
............................................+++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:[B]DE[/B]
State or Province Name (full name) [Some-State]:[B]BLANK[/B]
Locality Name (eg, city) []:[B]BLANK[/B]
Organization Name (eg, company) [Internet Widgits Pty Ltd]:[B]Test Server[/B]
Organizational Unit Name (eg, section) []:[B]SMTP[/B]
Common Name (eg, YOUR name) []:[B]server2.de[/B]
Email Address []:[B]admin@server2.de[/B]
Configuring PAM
Configuring Courier
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
* To enable saslauthd, edit /etc/default/saslauthd and set START=yes
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
Stopping ClamAV daemon: clamd.
Starting ClamAV daemon: clamd .
Stopping Courier authentication services: authdaemond.
Starting Courier authentication services: authdaemond.
Stopping Courier IMAP server: imapd.
Starting Courier IMAP server: imapd.
Stopping Courier IMAP-SSL server: imapd-ssl.
Starting Courier IMAP-SSL server: imapd-ssl.
Stopping Courier POP3 server: pop3d.
Starting Courier POP3 server: pop3d.
Stopping Courier POP3-SSL server: pop3d-ssl.
Starting Courier POP3-SSL server: pop3d-ssl.
Configure Jailkit (y,n) [y]: [B]y[/B]

Configuring Jailkit
Configure FTP Server (y,n) [y]: [B]y[/B]

Configuring Pureftpd
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -u 1000 -E -A -O clf:/var/log/pure-ftpd/transfer.log -B
Configure DNS Server (y,n) [y]: [B]y[/B]

Configuring MyDNS

Hint: If this server shall run the ispconfig interface, select 'y' in the next option.

Configure Apache Server (y,n) [y]: [B]y[/B]

Configuring Apache
Configure Firewall Server (y,n) [y]: [B]y[/B]

Configuring Firewall
Install ISPConfig Web-Interface (y,n) [y]: [B]y[/B]

Installing ISPConfig
ISPConfig Port [8080]:

Configuring DBServer
Installing Crontab
no crontab for root
no crontab for getmail
Forcing reload of web server (apache2)... waiting .
Installation completed.
```
Server2 neustarten


----------



## wiseguy (19. Dez. 2008)

Auf server2 als admin eingeloggt und das Admin-Kennwort (in Registrierkarte Tools) geändert. Anschließend wieder ausgeloggt.
Auf server1 als admin eingeloggt und das Admin-Kennwort und die Sprache (in Registrierkarte Tools) geändert
Auf Registrierkarte Monitor, Refresh auf *5 minutes* gestellt und 5 Minuten warten
Bis jetzt sieht alles gut aus.
In dem Moment, wo ich anfange einen Client hinzuzufügen*, kommt der Fehler (bzw. kurz danach). Ich werde jetzt aber mal ohne weiter etwas zu machen warten. Mal sehn, ob der Fehler dann trotzdem nach einiger Zeit auftaucht.

*Beim Client hinzufügen hab ich die Standardeistellungen gelassen. Lediglich hab ich bei Limits > Shell Users *-1* statt der standard 0 eingetragen.


----------



## wiseguy (19. Dez. 2008)

Der Fehler tauchte nicht auf, solange ich nichts weiter gemacht habe.
Mittlerweile habe ich einen Client hinzugefügt. Eingegeben hab ich nur folgende:

Company name
Contact name
Username
Nachdem ich das getan hab, bin ich wieder auf die Registrierkarte Monitor gewechselt und habe den Refresh auf 5 Minuten gestellt.
Nach ca. 10 Minuten "nichtsgeschehen" hab ich Clientdaten hinzugefügt:

Language
Street
ZIP
City
Country
Mobile
Email
Internet
Nun bin ich erneut in die Registrierkarte Monitor gewechselt und hab den Refresh auf 5 Minuten gestellt.

Nach einer kurzen Zeit tauchte der Fehler wieder auf.


----------



## wiseguy (20. Dez. 2008)

Ich hab grad gesehn, dass *System* > *Edit Server* in beiden Servern irgendwelche standard IPs eingetragen sind.

Hab das jett mal geändert. Aber das macht den Fehler leider nicht weg :-(

Jegliche Änderung, die sich auf den zweiten Server bezieht (Client z.B.) verändert auf diesem Server nichts; Wenn ich auf dem Hauptserver einen Client anlege, dann bekommt der unter /var/clients auch gleich ein Verzeichnis... auf dem zweiten Server gibts das ganze Verzeichnis /var/clients gar nicht - obwohl ich mittlerweile auch einen Client für diesen Server eingetragen hab.


----------

