{"id":14197,"date":"2025-12-30T10:26:51","date_gmt":"2025-12-30T04:56:51","guid":{"rendered":"https:\/\/www.youstable.com\/blog\/?p=14197"},"modified":"2025-12-30T10:26:53","modified_gmt":"2025-12-30T04:56:53","slug":"create-clamav-on-linux","status":"publish","type":"post","link":"https:\/\/www.youstable.com\/blog\/create-clamav-on-linux","title":{"rendered":"How to Create ClamAV on Linux Server in 2026 &#8211; (Step by Step Guide)"},"content":{"rendered":"\n<p><strong>To create ClamAV on a Linux server<\/strong>, install the ClamAV engine and FreshClam updater, enable the clamd daemon, update the signature databases, and schedule recurring scans. <\/p>\n\n\n\n<p>Use clamscan for one-off checks, clamdscan for faster daemon-based scans, and clamonacc for real-time (on-access) protection via fanotify with well-tuned exclusions.<\/p>\n\n\n\n<p>Setting up ClamAV on a Linux server is one of the simplest, most cost-effective ways to detect malware, web shells, and suspicious files. <\/p>\n\n\n\n<p>In this guide, I\u2019ll show you exactly how to install, configure, and <a href=\"https:\/\/www.youstable.com\/blog\/how-to-optimize-clamav-on-linux-server\/\">optimize ClamAV<\/a> on Ubuntu\/Debian and RHEL\/AlmaLinux\/CentOS, including real time scanning, schedules, performance tuning, and best practices I use on production servers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"what-is-clamav-and-why-use-it-on-a-linux-server\"><strong>What is ClamAV and Why Use it on a Linux Server?<\/strong><\/h2>\n\n\n\n<p>ClamAV is an open-source antivirus engine for detecting trojans, malware, and malicious scripts. It\u2019s widely used on web, mail, and file servers to scan uploads, email attachments, and backups. While no antivirus replaces secure coding and patching, ClamAV adds a vital layer of defense and visibility for your Linux stack.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"prerequisites-and-planning\"><strong>Prerequisites and Planning<\/strong><\/h2>\n\n\n\n<p>Before you start, confirm root or sudo access, outbound internet for signature updates, and at least 1\u20132 GB RAM for comfortable scanning. Plan exclusions (e.g., system directories, caches, large archives) and decide if you need real-time scanning or scheduled scans only.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"install-clamav-on-ubuntu-debian\"><strong>Install ClamAV on Ubuntu\/Debian<\/strong><\/h2>\n\n\n\n<p>On Debian-based systems, you\u2019ll install the engine, updater, and optionally the daemon for faster scans.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt <a href=\"https:\/\/www.youstable.com\/blog\/install-clamav-on-linux\/\">install -y clamav<\/a> clamav-daemon\n\n# Stop services before first DB update to avoid lock contention\nsudo systemctl stop clamav-freshclam || true\nsudo systemctl stop clamav-daemon || true\n\n# Initial signature update (can take a few minutes)\nsudo freshclam\n\n# Start services\nsudo systemctl enable --now clamav-freshclam\nsudo systemctl enable --now clamav-daemon\n\n# Verify\nclamscan --version\nsystemctl status clamav-daemon<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"install-clamav-on-rhel-almalinux-centos\"><strong>Install ClamAV on RHEL\/AlmaLinux\/CentOS<\/strong><\/h2>\n\n\n\n<p>On RPM-based systems, use dnf or yum. Names vary slightly across releases.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install -y epel-release\nsudo dnf install -y clamav clamav-update clamav-scanner clamav-server-systemd\n\n# Stop services before the first update (if present)\nsudo systemctl stop clamav-freshclam 2&gt;\/dev\/null || true\nsudo systemctl stop clamd@scan 2&gt;\/dev\/null || true\n\n# Fresh signatures\nsudo freshclam\n\n# Enable and start\nsudo systemctl enable --now clamav-freshclam\nsudo systemctl enable --now clamd@scan\n\n# Verify\nclamscan --version\nsystemctl status clamd@scan<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"update-signatures-with-freshclam\"><strong>Update Signatures with FreshClam<\/strong><\/h2>\n\n\n\n<p>FreshClam keeps your detection current. It runs as a service by default and checks multiple times daily. When troubleshooting, run it manually to confirm connectivity.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo freshclam\n# Logs often live here:\nsudo tail -n 50 \/var\/log\/clamav\/freshclam.log<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"daemon-vs-one-off-scans-which-should-you-use\"><strong>Daemon vs One-Off Scans: Which Should You Use?<\/strong><\/h2>\n\n\n\n<p>ClamAV supports two scan modes. Choose based on your workload.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>clamscan (standalone): <\/strong>Loads signatures into memory each run. Good for occasional scans, lower memory persistence, but slower per scan.<\/li>\n\n\n\n<li><strong>clamdscan (daemon):<\/strong> Uses the clamd service with signatures preloaded. Much faster per scan, ideal for servers scanning frequently or in production.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Example: one-off scan (recursive) with a report\nsudo clamscan -ri \/var\/www &gt; \/var\/log\/clamav\/www-scan.log\n\n# Example: daemon-backed scan (faster)\nsudo clamdscan --fdpass --multiscan \/var\/www<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"core-configuration-clamd-conf-and-freshclam-conf\"><strong>Core Configuration: clamd.conf and freshclam.conf<\/strong><\/h2>\n\n\n\n<p>Default configs work for most servers. For tighter control, tune paths, exclusions, and performance. Typical locations are \/etc\/clamav\/clamd.conf and \/etc\/clamav\/freshclam.conf (Debian\/Ubuntu) or \/etc\/clamd.d\/scan.conf and \/etc\/freshclam.conf (RHEL family).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"recommended-clamd-conf-basics\"><strong>Recommended clamd.conf basics<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Common clamd.conf options (example snippets)\nLogFile \/var\/log\/clamav\/clamd.log\nLogTime yes\nLogRotate yes\nTCPSocket 3310\nTCPAddr 127.0.0.1\n\n# Performance and safety\nMaxFileSize 200M\nMaxScanSize 500M\nMaxRecursion 16\nMaxDirectoryRecursion 20\nFollowDirectorySymlinks no\nFollowFileSymlinks no\n\n# Exclusions (adjust to your environment)\nExcludePath ^\/proc\/\nExcludePath ^\/sys\/\nExcludePath ^\/dev\/\nExcludePath ^\/var\/log\/\nExcludePath ^\/var\/cache\/\n\n# Improve PHP web app detection\nScanHTML yes\nScanArchive yes\nHeuristicScanPrecedence yes<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"recommended-freshclam-conf-basics\"><strong>Recommended freshclam.conf basics<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># freshclam.conf snippets\nDatabaseMirror database.clamav.net\nDatabaseOwner clamav\nChecks 12\nDNSDatabaseInfo current.cvd.clamav.net\nLogFile \/var\/log\/clamav\/freshclam.log\nLogTime yes<\/code><\/pre>\n\n\n\n<p>After any config changes, reload services.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart clamav-daemon 2&gt;\/dev\/null || sudo systemctl restart clamd@scan\nsudo systemctl restart clamav-freshclam<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"run-your-first-full-scan-safely\"><strong>Run Your First Full Scan (Safely)<\/strong><\/h3>\n\n\n\n<p>Start with web roots or user upload directories. Avoid scanning \/proc, \/sys, and \/dev. Use \u201c\u2013move\u201d or \u201c\u2013remove\u201d cautiously; begin with \u201c\u2013infected\u201d to review findings before taking action.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Dry run: list infected files only\nsudo clamscan -ri --infected \/var\/www\n\n# Move infected files to quarantine for review\nsudo mkdir -p \/quarantine\nsudo clamscan -ri --move=\/quarantine \/var\/www\n\n# Daemon-backed equivalent (faster)\nsudo clamdscan --fdpass --move=\/quarantine \/var\/www<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"schedule-regular-scans-cron-or-systemd\"><strong>Schedule Regular Scans (cron or systemd)<\/strong><\/h3>\n\n\n\n<p>Automate nightly or weekly scans and log results. Keep reports for audits and incident response.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Example cron job: daily 2:30 AM scan of web root\nsudo crontab -e\n\n# Add:\n30 2 * * * \/usr\/bin\/clamdscan --fdpass -ri \/var\/www &gt; \/var\/log\/clamav\/nightly-www.log 2&gt;&amp;1<\/code><\/pre>\n\n\n\n<p>If clamd is not enabled, swap clamdscan for clamscan (slower). For large estates, use systemd timers or a central scheduler.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"enable-real-time-on-access-scanning-with-clamonacc\"><strong>Enable Real-Time (On-Access) Scanning with clamonacc<\/strong><\/h2>\n\n\n\n<p>ClamAV\u2019s clamonacc uses Linux fanotify to watch file operations and scan on access. This is powerful but can add overhead; restrict to high-risk paths (uploads) and exclude caches.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Ensure clamd is running, then:\nsudo clamonacc --fdpass --move=\/quarantine --log=\/var\/log\/clamav\/onacc.log \\\n--include=\/var\/www\/html\/wp-content\/uploads \\\n--exclude-dir=\/var\/cache --exclude-dir=\/var\/log<\/code><\/pre>\n\n\n\n<p>For persistence, create a systemd unit or use screen\/tmux. Always test with synthetic samples (e.g., EICAR) before relying on production.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"tuning-for-performance-and-accuracy\"><strong>Tuning for Performance and Accuracy<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Targeted scanning:<\/strong> Focus on upload, backup import, and mail directories rather than the entire filesystem.<\/li>\n\n\n\n<li><strong>Right-size limits:<\/strong> Increase MaxScanSize and MaxFileSize only if you handle large archives; avoid scanning ISO\/VM images.<\/li>\n\n\n\n<li><strong>Use clamd:<\/strong> Preloaded signatures reduce CPU thrash and cut scan time considerably.<\/li>\n\n\n\n<li><strong>Exclude noisy paths:<\/strong> \/proc, \/sys, \/dev, caches, session stores, and large package caches to prevent false positives and wasted cycles.<\/li>\n\n\n\n<li><strong>Parallelize wisely:<\/strong> clamdscan with &#8211;multiscan can use multiple threads; validate impact on IO and CPU.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"integrations-web-and-mail-workloads\"><strong>Integrations: Web and Mail Workloads<\/strong><\/h2>\n\n\n\n<p>Web servers: Scan user uploads before saving to disk or asynchronously right after upload. Many CMSs support hooks or plugins; for Nginx\/Apache, use tmp directories and a post-upload scan step.<\/p>\n\n\n\n<p>Mail servers: Integrate clamd with Postfix\/Amavis or Exim via Milter or content filter. Quarantine suspicious attachments and alert admins. Validate throughput in staging before rolling to production.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"logging-alerts-and-reporting\"><strong>Logging, Alerts, and Reporting<\/strong><\/h2>\n\n\n\n<p>Centralize ClamAV logs to your SIEM or log stack and enable email alerts on detections. A simple mailx script tied to cron output is often enough for small teams.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Example: email if infected files are found\nif sudo clamscan -ri \/var\/www | grep -q \"Infected files: &#91;1-9]\"; then\n  mail -s \"ClamAV Alert on $(hostname)\" admin@example.com &lt; \/var\/log\/clamav\/www-scan.log\nfi<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"security-notes-permissions-selinux-apparmor\"><strong>Security Notes: Permissions, SELinux, AppArmor<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Run clamd as the clamav user (default). Use &#8211;fdpass with clamdscan to request file-descriptor passing for protected paths.<\/li>\n\n\n\n<li><strong>SELinux\/AppArmor:<\/strong> Ensure policies allow clamd read access to target directories. Adjust contexts or profiles rather than disabling the controls.<\/li>\n\n\n\n<li><strong>Quarantine:<\/strong> Store quarantined files outside web roots, with restrictive permissions (e.g., 700) and no execute bits.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"troubleshooting-common-issues\"><strong>Troubleshooting Common Issues<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>FreshClam database lock:<\/strong> Stop services, remove the stale lock, update, restart services.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl stop clamav-freshclam\nsudo rm -f \/var\/lib\/clamav\/freshclam.dat.lock\nsudo freshclam\nsudo systemctl start clamav-freshclam<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u201cERROR:<\/strong> Can\u2019t connect to clamd\u201d: Verify clamd is running and listening on 127.0.0.1:3310; check TCPSocket\/TCPAddr and firewall.<\/li>\n\n\n\n<li><strong>High CPU or IO:<\/strong> Limit recursion, exclude caches, and switch to clamd. Stagger scans during off-peak hours.<\/li>\n\n\n\n<li><strong>False positives:<\/strong> Quarantine rather than delete. Submit samples to the ClamAV project for review.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"uninstall-or-disable-clamav-if-needed\"><strong>Uninstall or Disable ClamAV (If Needed)<\/strong><\/h2>\n\n\n\n<p>If you must remove ClamAV, stop services and uninstall packages. Keep quarantine and logs for audit.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Debian\/Ubuntu\nsudo systemctl disable --now clamav-daemon clamav-freshclam\nsudo apt remove -y clamav clamav-daemon clamav-freshclam\n\n# RHEL family\nsudo systemctl disable --now clamd@scan clamav-freshclam\nsudo dnf remove -y clamav\\*<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"when-managed-security-makes-sense\"><strong>When Managed Security Makes Sense<\/strong><\/h2>\n\n\n\n<p>If you run mission-critical sites or don\u2019t have time to tune signatures, alerts, and real-time scanning, consider <a href=\"https:\/\/www.youstable.com\/blog\/benefits-of-web-hosting-control-panel-for-managed-hosting\/\">managed hosting<\/a>. At YouStable, our engineers harden Linux servers, configure ClamAV with smart exclusions, and monitor detections 24\/7 so you can focus on growth, not malware hunts.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"best-practices-checklist\"><strong>Best Practices Checklist<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Keep signatures current with freshclam and monitor update logs.<\/li>\n\n\n\n<li>Use clamd for production workloads; reserve clamscan for ad hoc checks.<\/li>\n\n\n\n<li>Scan upload and mail directories automatically; quarantine first, then review.<\/li>\n\n\n\n<li>Exclude system and cache directories to preserve performance.<\/li>\n\n\n\n<li>Enable alerts and retain scan logs for at least 30\u201390 days.<\/li>\n\n\n\n<li>Test with EICAR and validate your incident response process.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"faqs\"><strong>FAQ&#8217;s<\/strong><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1765953350657\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"1-is-clamav-good-for-linux-servers\">1. <strong>Is ClamAV good for Linux servers?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes. ClamAV is reliable, open-source, and widely used for malware detection on web and mail servers. It\u2019s not a silver bullet, but it\u2019s a valuable detection layer alongside patching, WAF, backups, and least-privilege access.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765953368936\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"2-how-do-i-update-clamav-signatures-automatically\">2. <strong>How do I update ClamAV signatures automatically?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Enable the FreshClam service. It checks for new databases several times per day. Verify with freshclam and monitor \/var\/log\/clamav\/freshclam.log for any rate-limit or connectivity errors.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765953378555\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"3-what-should-i-exclude-from-clamav-scans\">3. <strong>What should I exclude from ClamAV scans?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Exclude \/proc, \/sys, \/dev, and large caches like \/var\/cache. Consider excluding logs and VM images. Focus scans on user-writable paths such as uploads, email spools, and shared storage.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765953386933\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"4-how-do-i-enable-real-time-scanning-on-linux\">4. <strong>How do I enable real-time scanning on Linux?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Use clamonacc with fanotify support and a running clamd daemon. Start it against specific directories, set a quarantine path, and apply exclusions to reduce overhead. Test thoroughly before enabling on busy production paths.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765953394214\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"5-clamscan-vs-clamdscan-whats-faster\">5. <strong>clamscan vs clamdscan\u2014what\u2019s faster?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>clamdscan is faster because signatures are preloaded by the clamd daemon. For regular or frequent scans, use clamdscan. For occasional one-off checks, clamscan is acceptable but slower.<\/p>\n<p>Creating ClamAV on your Linux server is straightforward: install, update, configure, and automate. With smart exclusions and clamd, you\u2019ll get fast, dependable malware detection. If you need help, YouStable\u2019s managed experts can deploy, tune, and monitor ClamAV for you\u2014end to end.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>To create ClamAV on a Linux server, install the ClamAV engine and FreshClam updater, enable the clamd daemon, update the [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":16642,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[350],"tags":[],"class_list":["post-14197","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-knowledgebase"],"acf":[],"featured_image_src":"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/How-to-Create-ClamAV-on-Linux-Server.jpg","author_info":{"display_name":"Sanjeet Chauhan","author_link":"https:\/\/www.youstable.com\/blog\/author\/sanjeet"},"_links":{"self":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/14197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/comments?post=14197"}],"version-history":[{"count":4,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/14197\/revisions"}],"predecessor-version":[{"id":16644,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/14197\/revisions\/16644"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media\/16642"}],"wp:attachment":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media?parent=14197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/categories?post=14197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/tags?post=14197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}