If you’re like me and want your Nextcloud to scream the moment something shady shows up in your files, then you’re probably using the Antivirus for Files app. But here’s the twist: for performance and true sysadmin joy, you don’t want clamscan. You want the big guns โ the ClamAV Daemon using a local Unix socket.
โ๏ธ Step 1: Install ClamAV and the Daemon
sudo apt update
sudo apt install clamav clamav-daemon -y
This installs the scanner and the background daemon โ the dream team of file hygiene.
๐ Step 2: Update the Virus Definitions (Feed the Beast)
sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam
Don’t scan with stale signatures. Thatโs like fighting dragons with butter knives.
๐ฉ Step 3: Start the Daemon
sudo systemctl enable clamav-daemon
sudo systemctl start clamav-daemon
sudo systemctl status clamav-daemon
At this point, the daemon should be purring quietly in the background, waiting to strike at evil bits and bytes.
๐ Step 4: Check the Socket
ls -l /var/run/clamav/clamd.ctl
This is the local Unix socket that clamdscan uses to talk to clamd. Itโs like a high-speed private hotline just for your cloudโs immune system.
๐ค Step 5: Give Nextcloud Access to the Socket
sudo usermod -a -G clamav www-data
sudo systemctl restart clamav-daemon
sudo systemctl restart apache2 # or nginx/php-fpm depending on your setup
This lets the webserver access the socket โ no root privileges required, just proper group membership.
๐ Step 6: Configure the Antivirus App in Nextcloud
- Mode: ClamAV Daemon (Socket)
- Socket: /var/run/clamav/clamd.ctl
๐งช Step 7: Test Like a Nerd
wget https://secure.eicar.org/eicar.com.txt -O /tmp/eicar.txt
clamdscan /tmp/eicar.txt
Expected result:
/tmp/eicar.txt: Eicar-Test-Signature FOUND
If you see this, your setup is working beautifully. ๐
๐ Optional: Tune Antivirus Settings in Nextcloud
- โAction when infected files are foundโ: set to
Block - โBlock encrypted archivesโ: enable to avoid sneaky zip bombs
- Make sure your Nextcloud is using cron for background scanning
โ Final Thoughts
No TCP, no containers, no drama โ just a good old-fashioned local daemon scanning your files like itโs 1999. Reliable. Fast. Nerd-approved.
Mission status: virus slayer operational. ๐ง โ๏ธ

