On this page
What this guide covers
This is an official installation signpost and a reference for checking an installed Ollama instance locally, not a one-stop installation tutorial tested end to end by AIOOS. Official sources were checked on 10 October 2026. We have not completed an actual Linux installation, service startup, model inference and API test. The commands below are documentation-based examples, statically checked, not successful results observed on our test machine.
Check Linux, architecture and capacity
On your own Linux test machine, use these read-only checks:
uname -s
uname -m
free -h
df -h .
command -v curl sha256sumThe Linux instructions distinguish x86_64/amd64 and aarch64/arm64 packages. Select the matching asset; do not assume other architectures or GPU drivers work. Missing utilities should come from your distribution's trusted package manager. Memory and storage depend on the exact model, quantization, context and concurrency. Reserve room for the installer, installed libraries and model cache; the download size is not the runtime memory requirement. Four CPU cores or 20 GiB free disk are not universal official minimums.
You need HTTPS access to official release files and the model registry, trusted CA certificates, and appropriate installation permissions. Review changes requiring administrator privileges with the machine owner. Do not install on a shared production host just to try this guide. Back up existing configuration and application data before any installation or upgrade.
Follow the official installation path and verify files
Use the official Linux instructions to select a supported installation method. They include privileged system changes; this article does not reproduce a download-and-execute shortcut, deletion commands, extraction into system directories or a custom user-directory installer. Review any downloaded script before deciding whether to execute it. An official URL alone does not establish that its current bytes and side effects have been reviewed.
For a fixed release, the official 0.40.2 release is the reference examined for this revision, not a claim that it has been installed here or is suitable for every machine. Obtain the complete architecture-specific asset and the same release's sha256sum.txt from that page. Do not mix a moving latest download with a fixed-release checksum. A partial file is not an installer.
For a complete ARM64 file already saved in your current directory, this read-only example prints its digest; it does not download, install or run anything:
sha256sum -- ollama-linux-arm64.tar.zstCompare all 64 hexadecimal characters with the exact matching entry in the official manifest. An entry may prefix the filename with ./; identify the same basename and architecture. An amd64 reader must use the amd64 asset and corresponding entry instead. A mismatch, missing entry or incomplete download means stop. A matching checksum establishes consistency with that manifest, not an independent signature or a guarantee of compatibility. Keep the version, asset URL and digest with your installation record. Complete installation through the reviewed official procedure before proceeding.
Choose one service mode after installation
Check the installed client version and record it:
ollama --versionA version string verifies the client is available, not that a server or model works. A client may report that the server is not running. Do not mix an executable from one installation with another installation's service.
Manual foreground process
If no Ollama service already occupies the local port, start the installed program as an ordinary user in terminal A:
OLLAMA_HOST=127.0.0.1:11434 ollama serveKeep this terminal open and use terminal B for the checks below. Inspect terminal A for errors. Ctrl-C ends this foreground process; it is not a persistent systemd service. Do not start a second instance if a service is already running. The official FAQ documents the default loopback listener and OLLAMA_HOST; setting an environment variable in a separate shell does not change an existing system service.
Existing system-level systemd service
This mode applies only if the reviewed installation has already created the official system service ollama.service on a systemd distribution. First inspect the unit and status:
systemctl cat ollama.service
systemctl status ollama.service --no-pager
journalctl -u ollama.service --no-pager -n 50Check the executable, service user and any overrides, especially the bind address. If the unit is missing, return to the official service setup instructions rather than creating an improvised unit. If it exists, is reviewed, and no manual server occupies the port, an authorized administrator can start it using the official system-service method:
sudo systemctl start ollama.service
systemctl status ollama.service --no-pagerCheck for active (running) and inspect errors; starting a unit is not proof that inference works. Reading logs may require an administrator or journal permissions. The service's model cache and permissions can differ from those of a manual process. This section is not `systemctl --user` setup. A container without a running systemd manager cannot validate this mode; systemd user services are outside this guide. Do not run both modes at once.
Download and check one explicit local model
After the local server is working, consult the official model library entry for gemma3:270m. It is a small, explicit optional test tag, not a recommendation for production answer quality. Check its licence and the installed Ollama version's support before downloading. We have not measured its resource use or inference here. These commands may download model data and consume memory/CPU; do not run them merely because the client version check passed:
ollama pull gemma3:270m
ollama listProceed only if the download completes without error and the exact tag appears in the list. A downloaded model is not proof of successful inference. Then try a short prompt:
ollama run gemma3:270m "Reply with a short greeting."The criterion is an actual generated response without a runtime error, not an exact promised sentence. Stop and inspect resource or compatibility errors instead of repeatedly downloading larger models.
Check the local API from the same machine
The official generate API uses POST; stream: false requests one JSON response instead of streamed fragments. Use the same tag you have successfully downloaded and run:
curl --fail --show-error --silent --connect-timeout 5 --max-time 120 \
-H 'Content-Type: application/json' \
http://127.0.0.1:11434/api/generate \
-d '{"model":"gemma3:270m","prompt":"Reply with a short greeting.","stream":false}'Check the HTTP result and JSON: there should be no error, done should be true and response should contain generated text. We provide no fabricated passing response. A 120-second timeout is a bounded client check, not an inference-speed guarantee; it does not necessarily cancel server-side work. Inspect logs and capacity before retrying. API success does not establish answer accuracy, production throughput or secure remote access.
Troubleshoot without weakening safety
- Command not found: check whether the reviewed installation completed and which executable your PATH selects. Do not replace system files with an unverified binary.
- Connection refused: check the selected service mode and its logs. Client availability alone is insufficient.
- Address already in use: identify the existing service; do not blindly kill processes or run another server on a public interface.
- Download or checksum failure: stop, verify the official source, network and complete file. Do not disable certificate validation or switch to an unknown mirror.
- Permission failure: inspect the actual service user and intended cache ownership. Do not use broad permission changes or recursive ownership changes without understanding their scope.
- Memory or model errors: review the exact tag, context and runtime requirements. Avoid unlimited retries or unplanned large-model downloads.
Keep port 11434 private. Do not publish it directly, change the listener to a wildcard to fix a connection error, or disable a firewall. Remote use needs a separately reviewed authenticated gateway; this guide does not configure that gateway or promise public deployment security. Monitor memory, latency, disk and service restarts, and protect configuration and application backups. If you need a browser interface, see the existing Open WebUI guide, subject to its own prerequisites and security review.
Verification boundary
Official documentation supports the operations described; static syntax and content checks are not execution tests. AIOOS has not completed actual installation, manual or systemd startup, model inference or API validation for this revision. Readers must record their own version and observed results. This revision improves the official path, mode distinctions and self-check criteria, but is not an end-to-end tested installation tutorial.
Only if you need hosting
These options match the scenario in this guide. Verify current price and specifications before buying; AIOOS may earn a commission at no extra cost to you.
RainYun Los Angeles 8 vCPU / 16 GB
Contextual hosting option; verify current price and workload fit before purchase.
8 vCPU · 16 GB · 30 GB system diskNext steps
Continue with the next useful task; you do not need to read everything at once.
- Size the server →
- Deploy Open WebUI with Docker and Persistent Storage →
- Host Multiple Websites on One Server with Caddy →
- Ollama vs Open WebUI: Different Roles in a Self-hosted AI Stack →