Running ISPConfig 3.0.4.3 on two servers (master/slave). Both servers are running Squeeze and are currently up to date. Since upgrading from 3.0.4.2 to 3.0.4.3 my system monitor quit updating. Nothing updates at all in any of the system monitor tab. Might be related to the following bug: http://bugtracker.ispconfig.org/index.php?do=details&task_id=2054 So, I will assume it is and leave it at that until the next update. More importantly, since the update, changes in ISPConfig to any DNS Zone will not update the zone files on either server. I have to manually go into both servers and add the changes by hand and restart BIND9 to affect the changes. Everything had been working fine before the update and everything else is working fine but not being unable to add DNS records in ISPConfig3 is a pain. I have changed nothing in either server configuration wise in quite a while.
DNS updates work fine here with 3.0.4.3, on new installed servers as well as on updated systems. You might want to check whats wrong on your servers by debugging the server process: http://www.faqforge.com/linux/debugging-ispconfig-3-server-actions-in-case-of-a-failure/
The only thing that shows up in the Debug log in both ISPConfig and on the command line is: There is already an instance of server.php running. Exiting. This is in both server's logs and command line and it happens over and over again.
Delete the ispconfig lock file and run the command again: rm -f /usr/local/ispconfig/server/temp/.ispconfig_lock and then run /usr/local/ispconfig/server/server.sh
Ok, that worked. Sort of. Now when I run the server.sh from a command line, this commits all the changes that have been queued up in the Jobqueue, so that's good. There are no errors. But, when I make more changes in the panel, they stay in the Jobqueue uncommitted until I go back into the command line and run the server.sh command again. I don't see any errors in the System-Log nor do I get any errors when I run the command from the command line. And, my System Monitor is still not working. No updates since I upgraded to 3.0.4.3 on the 13th of Feb.
This indicates that cron is not working on your server as the server.sh script is normally executed by cron once a minute. Please check that cron is installed and started and that you enabled the cronjob in the root crontab again after your tests.
cron is running. service cron status on both servers gives me: Checking periodic command scheduler...done (running). The cronjob is (re)enabled in crontab. Still no updates and jobs sit in the Jobqueue in ISPConfig. Not sure what to do from here.
Check the syslog in /var/log, if cron is running correctly, you should see a record once a minute about the excution of the ispconfig server.sh cronjob. If you dont see them, then you have a problem with cron as ispconfig works correctly when you execute it manually.
When I tail the syslog, I can see cron running the server.sh shell every minute with the following message: There is already an instance of server.php running. Exiting. If I rm the lock file, the script will run from the command line over and over again but when I add a new job in ISPconfig, it still sits in the Jobqueue. Then when I ssh back into the command line and try to run the script, I get the same error: There is already an instance of server.php running. Exiting. It's like the script isn't removing the lock file.
Any ideas? It's still not working. The ISPConfig server.sh script is not removing the lock file after it runs unless I run it from a command prompt. If I remove the file manually, it will run one time from the panel and not again. I keep getting "There is already an instance of server.php running. Exiting." in the System Log every minute (which means cron is running the script every minute like it's supposed to). This is happening on both of my servers. They are both running Squeeze and are up to date. This happened right after the upgrade to ISPConfig 3.0.4.3 but I also did some other updates as well on both servers (the usual apt-get update, apt-get upgrade) at the same time. My systems were working perfectly up to then.
- Is this a multiserver or single server system? - If its a multiserver system: is /var/vmail a local drive or a nfs or cluster filesystem? - Do you use courier or imap?
2 Servers. One server (the master) runs Web, DNS, File and DB. The Second server runs Mail and DNS only. /var/vmail is on a local drive. We use Dovecot.
/var/vmail has 2.7G Here is dovecot.conf: ## ISPConfig3 Template file. ## This file was installed by ISPConfig3 ## It will be replaced if ISPConfig3 is updated. ## Dovecot configuration file base_dir = /var/run/dovecot/ protocols = imap imaps pop3 pop3s disable_plaintext_auth = no log_timestamp = "%Y-%m-%d %H:%M:%S " # ssl_cert_file = /etc/ssl/_.my-domain.tld/_.my-domain.tld.crt # ssl_key_file = /etc/ssl/_.my-domain.tld/_.my-domain.tld.key ssl_cert_file = /etc/postfix/smtpd.cert ssl_key_file = /etc/postfix/smtpd.key mail_privileged_group = mail login_greeting = ISPConfig3 IMAP server ready... ## IMAP specific settings protocol imap { mail_executable = /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap mail_plugins = quota imap_quota } ## POP3 specific settings protocol pop3 { mail_executable = /usr/lib/dovecot/rawlog /usr/lib/dovecot/pop3 pop3_uidl_format = %08Xu%08Xv mail_plugins = quota } ## LDA specific settings protocol lda { # Address to use when sending rejection mails. postmaster_address = [email protected] # Support for dynamically loadable plugins. mail_plugins is a space separated # list of plugins to load. mail_plugin_dir = /usr/lib/dovecot/modules/lda # UNIX socket path to master authentication server to find users. auth_socket_path = /var/run/dovecot/auth-master # Enabling Sieve plugin for server-side mail filtering mail_plugins = sieve quota } ## Plugin settings plugin { quota = dict:user::file:/var/vmail/%d/%n/.quotausage # Because the mail quota is called in the user query # the maildir quota does not need to be set. # You do not need: quota = maildir sieve=/var/vmail/%d/%n/.sieve } ## Authentication processes # Executable location #auth_executable = /usr/lib/dovecot/dovecot-auth auth default { mechanisms = plain login # SQL database <doc/wiki/AuthDatabase.SQL.txt> passdb sql { # Path for SQL configuration file args = /etc/dovecot/dovecot-sql.conf } # new quota support: userdb prefetch { } userdb sql { args = /etc/dovecot/dovecot-sql.conf } ## dovecot-lda specific settings ## socket listen { master { path = /var/run/dovecot/auth-master mode = 0600 user = vmail # User running Dovecot LDA #group = vmail # Or alternatively mode 0660 + LDA user in this group } client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } } mail_location = maildir:/var/vmail/%d/%n/Maildir mail_uid = 5000 mail_gid = 5000
Thats ok. May you please pos the ls -la output of a mialdir, like: ls -la /var/vmail/domain.tld/user/
total 24 drwxr-xr-x 3 vmail vmail 4096 Mar 7 07:58 . drwxr-xr-x 10 vmail vmail 4096 Apr 26 2011 .. drwx------ 9 vmail vmail 4096 Mar 7 08:03 Maildir -rw------- 1 vmail vmail 52 Mar 7 07:58 .quotausage -rw-r--r-- 1 root root 48 Apr 26 2011 .sieve -rw-r--r-- 1 vmail vmail 96 May 9 2011 .sieve.svbin
Thats all ok, so its no problem with a long running statistics job. Seems as if the php process is somehow dying when run as cronjob so that the lock file cant be removed. Do you get any errors in the ispconfig cron log file (in /var/log/ispconfig )
Just a couple of warnings: PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 78 PHP Warning: mysql_errno() expects parameter 1 to be resource, boolean given in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 63 PHP Warning: mysql_error() expects parameter 1 to be resource, boolean given in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 64 PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 78 PHP Warning: mysql_errno() expects parameter 1 to be resource, boolean given in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 63 PHP Warning: mysql_error() expects parameter 1 to be resource, boolean given in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 64 PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 78 PHP Warning: mysql_errno() expects parameter 1 to be resource, boolean given in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 63 PHP Warning: mysql_error() expects parameter 1 to be resource, boolean given in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 64 I do have this over and over again in cron.log: repquota: Cannot open quotafile //aquota.group: No such file or directory repquota: Cannot open quotafile //aquota.user: No such file or directory Not sure if that's related.
I'am a bit astonished about the line numbers in the error messages as they do not match with the line numbers of the file from 3.0.4.3. May you please post line 63 from the file /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php