Unable to use Clamav via Cloudmin Services

I am finally starting to setup the Cloudmin Services. However, I am having a problem with setting up Clamav on clients. I get the following error:

Requesting virus scanning system .. .. request failed : scan.xyz.tld is not ready for provisioning : The ClamAV server clamd is not running

However, clamd is actually running and the port is open (I added TCPSocket 3310 to the clamd.conf file), so I don't really understand why this is not working. The DNS and Spamassassin services are being set up correctly.

Status: 
Closed (fixed)

Comments

Howdy -- what output do you receive if you run this command from the command line of one of your client servers:

telnet scan.xyz.tld 3310

Where "scan.xyz.tld" is the domain name of your server that is running ClamAV.

root@h1:~# telnet scan.xyz.tld 3310
Trying 12.34.56.78...
Connected to scan.xyz.tld.
Escape character is '^]'.
COMMAND READ TIMED OUT
Connection closed by foreign host.

Jamie, it does appear that ClamAV is accessible from the client server.

What process does Cloudmin use to determine whether ClamAV is available?

If you login to Virtualmin on the remote system and go to Email Messages -> Spam and Virus Scanning, does the "Enable ClamAV Server" button appear at the bottom of the page? If so, click it.

Server scanner (clamdscan) is selected, and there only is a button to disable the clamav server.

Maybe there is a problem with clamd-stream-client? I followed instructions on http://virtualmin.com/documentation/provisioning/clients, except that I did execute ./configure before issuing the make command. However, I got an error on make install and thus copied the binary manually to /usr/local/bin

root@uranus:~/clamd-stream-client-1.3# make install
clamd-stream-client /usr/local/bin/
connect(127.0.0.1:3310): Connection refused
unable to connect to 127.0.0.1
make: *** [install] Error 74

Is the clamd process running on the scan.xyz.tld system? The original error that you saw means that Virtualmin couldn't see the process.

To determine if the clamd process is running on scan.xyz.tld, what you can do is log into that server, and run this command:

ps auxw | grep clamd

What you run that command, what output do you receive?

It sure is running:

clamav    2081  0.0  9.5 246160 49884 ?        Ssl  Sep01   1:42 /usr/sbin/clamd

By the way I also tried configuring the remote clamav manually in Virtualmin under Spam and Virus scanning. On the clamd host server I can see the following messages in the log:

Tue Sep  3 21:15:15 2013 -> ERROR: ScanStream 1610: accept timeout.
Tue Sep  3 21:15:15 2013 -> ERROR: ScanStream 1958: accept timeout.
Tue Sep  3 21:25:13 2013 -> ERROR: ScanStream 1535: accept timeout.
Tue Sep  3 21:25:13 2013 -> ERROR: ScanStream 1985: accept timeout.

Can you check if the Cloudmin master system can also see that process? This can be done by SSHing into the master and running :

cloudmin list-processes --host scan.xyz.tld | grep clamd
root@cloudmin:~# cloudmin list-processes --host scan.xyz.tld | grep clamd
2081     clamav           /usr/sbin/clamd

That all looks fine - so I am mystified as to why Cloudmin thinks that clamd isn't running.

Is there any chance that I could login to your Cloudmin master system and see what is going wrong here? Email me at jcameron@virtualmin.com if so.

Thanks for the login - I found the bug that is causing this, and will include a fix for it in the next Cloudmin Services release. Also, I have fixed the issue on your system.

Automatically closed -- issue fixed for 2 weeks with no activity.