Technical articles. No filler.
An MCP server gives an AI agent a few well-defined tools over your database or ticketing system instead of the whole system. Run it on a server inside Saudi Arabia, start read-only, and require authentication plus a log entry for every call.
vLLM wins when you have a GPU and more than 5 to 10 concurrent requests, thanks to PagedAttention, continuous batching, and an OpenAI-compatible API, while Ollama on a CPU server serves a small team at a fixed cost with one-command setup.
Stop domain spoofing with SPF, DKIM, and DMARC set to reject, enforce two-factor authentication, watch for auto-forwarding rules, and above all never change a supplier IBAN without a phone call to the number already on file.
Verify the real Googlebot with reverse and forward DNS instead of trusting the User-Agent, apply Nginx rate limits, block wp-login and xmlrpc probes, and push heavy filtering to the edge without overblocking that hides you from search.
Rotate database passwords, API keys, and payment tokens at least every 90 days, using a written inventory of where each secret lives and two overlapping keys so nothing breaks, with immediate rotation when someone leaves or a .env file leaks.
Scan Linux servers with three tools together: ClamAV for signatures, Maldet for malicious PHP, and rkhunter for rootkits. Schedule them at night with low priority, and when an infection appears, isolate the server and rebuild instead of cleaning.
Open SSH on one hardened server only and let every other server accept connections from it through ProxyJump, with key only login and logged sessions. A Starter server at 3,450 SAR a year protects a whole fleet.
Packages get compromised through stolen maintainer accounts, look alike names and install scripts. Audit on every deploy, install only from lock files, inspect autoloaded files, and if a package turns bad, rotate every secret and rebuild the server instead of cleaning it.
LIKE queries miss Arabic results because of hamza forms, taa marbuta and diacritics. Self-hosted Meilisearch normalizes Arabic, tolerates typos and answers in under 50 ms, with 1 million records needing about 2 to 4 GB of RAM.