(最終更新日: 2025年12月29日)
社外に出せないデータでAIを使いたい、LinuxサーバーとNVIDIA GPUはあるが、Ollamaの入れ方や運用像が見えない――そんな悩みに応えます。
本記事はUbuntuでの安全なインストールから、Llama 3をローカルで動かす手順までを日本語で丁寧に解説。
curl一発だけでなく、ポリシーで避けたい「curl | sh」を使わない手動やDocker手順も網羅します。
GPUを認識しない、サービスが起動しない等の詰まりどころも原因と対処を整理。
Windows/macOSとの違い、公開時の安全設計、API連携や他ツール比較まで、実機検証と最新情報でカバー。
読み終えれば、あなたの用途にOllama on Linuxが最適か自信を持って判断できます。
OllamaをLinuxで使うメリットと、Windows/macOSとの違い
当セクションでは、OllamaをLinuxで使うメリットと、WindowsおよびmacOS版との違いを整理します。
導入や運用の前提、ハードウェア要件、セキュリティ設計がOSごとに異なり、判断を誤るとコストや安定性に影響するためです。
- なぜエンタープライズ用途ではLinux+Ollamaが選ばれやすいのか
- Linux対応ディストリと前提条件(CPU・GPU・メモリ)
- Windows・macOSとの違いと、どの環境を選ぶべきか
なぜエンタープライズ用途ではLinux+Ollamaが選ばれやすいのか
結論として、社内データを外に出さず低遅延で運用し、既存の運用基盤に組み込みやすい点から、企業はLinux+Ollamaを選びやすいです。
理由は、データ主権の確保、API従量課金から自前GPUへのコスト構造の転換、systemdやjournalctlによるサービス管理、OpenAI互換APIでの移行容易性が揃うためです。
具体例として、公的機関や大企業ではオンプレRAGが増え、OllamaをLinuxサービス化して監視や再起動を既存の運用フローに統合する事例が見られます(参考: Ollama Linux ドキュメント)。
またOpenAI互換エンドポイントにより、既存の社内ツールの接続先を切り替えるだけでローカル実行へ移行でき、検証から本番への橋渡しが容易になります(参考: Ollama API (GitHub))。
結局のところ、デスクトップ検証はどのOSでも可能ですが、本番サーバー用途はLinux前提で設計すると移行がスムーズです(参考: Ollama FAQ)。
- 参考: Ollama Linux ドキュメント
- 参考: Ollama API (GitHub)
- 参考: ServerMania: Private RAG インフラ
- 参考: Empirical Study on LLM Deployment (arXiv)
Linux対応ディストリと前提条件(CPU・GPU・メモリ)
結論は、UbuntuやDebian、RHEL系のLinuxでx86_64/ARM64を公式想定し、NVIDIAはCompute Capability 5.0以上、AMDはROCm対応、GPUが無い場合はCPU推論へ自動フォールバックという前提です。
理由として、Ollamaは起動時にGPUドライバを検出し、NVIDIAならCUDA、AMDならROCmを動的ロードし、不足分はRAMへオフロードする設計だからです(参考: Hardware support – Ollama)。
実務の目安は、7B/8BはVRAM 8〜12GB、13B〜27Bは16〜24GB、70Bは48GB以上や24GB×2枚以上が現実的で、CPU併用時はRAM 64GB以上を推奨します(出典: Ollama FAQ)。
イメージしやすいよう、モデル規模とVRAMの対応イメージを図に示します。
結論として、まずは12〜24GB級GPUから始め、70B級を見据えるなら48GB級やマルチGPUの計画を早期に立てるのが安全です。
| モデル規模 | 現実的なVRAM目安 | 代表GPU例 |
|---|---|---|
| 7B/8B | 8〜12GB | RTX 3060 12GB / RX 7800 XT |
| 13B〜27B | 16〜24GB | RTX 4080/4090, 3090, Radeon 7900 XTX |
| 70B | 48GB以上 or 24GB×2枚+RAM補助 | RTX 6000 Ada, A100 80GB, 24GB×2構成 |
Windows・macOSとの違いと、どの環境を選ぶべきか
結論は、個人のデスクトップ検証はWindows/macOSが手軽で、本番サーバーやチーム共有はLinuxを前提に設計すると失敗が少ないです。
理由は、LinuxはGPUドライバの安定性と性能、systemdによる常時稼働、Nginxでの認証・TLS化などセキュリティ設計が標準化しやすいためです(参考: Ollama Linux ドキュメント)。
例として、監修者はMacBook Proで7BモデルをMetal推論で試し、動作感やプロンプト方針を固めた後、Ubuntu+RTX 4090のサーバーへ移行し、systemdとNginxのリバースプロキシで社内SSOを連携しました(参考: Ollama Windows)。
判断パターンは次のとおりです。
- 個人PoCや短期検証は自宅のWindows/macOSで開始
- 部署共有・24/7運用・RAG本番は最初からLinuxサーバー設計
- 既存OpenAIアプリはOpenAI互換APIで接続先だけ切替
総括すると、初動は手元のOSで素早く試し、要件が固まり次第Linuxサーバーへ段階的に乗り換える二段構えが現実的です。
- 参考: Ollama API (GitHub)
- 参考: Ollama Windows
- 参考: Ollama Linux
Ubuntuを例にしたOllamaインストール手順(curl一発&手動インストール)
当セクションでは、Ubuntuを例にOllamaのインストール方法を「curl一発」と「手動インストール」、さらにDocker運用まで通して解説します。
企業導入ではセキュリティポリシーやネットワーク制約が多様であり、最短手順と堅牢手順の両方を押さえることでトラブルを未然に防げるからです。
- 事前チェック:OSバージョン・GPUドライバ・ディスク容量
- 最も簡単な方法:curl一発インストールの流れ
- セキュリティポリシーが厳しい環境向け:手動インストール手順
- Dockerでのコンテナ運用:Kubernetesや検証環境向け
事前チェック:OSバージョン・GPUドライバ・ディスク容量
インストール前の3点チェックを徹底するだけで、後続の9割のトラブルは回避できます。
OllamaはOSバージョンやGPUドライバ、ディスク容量に強く依存するため、最初に環境差分を潰しておくことが重要です。
あわせてcurlやsystemdの有無を確認しておくと、インストール途中で詰まる事態を防げます。
以下はUbuntu 22.04とRTX 4090の実機で確認したコマンド例で、AMD環境ではnvidia-smiの代わりにrocminfoを使います。
チェック項目の全体像は次の図のとおりです。
- OSバージョン確認(Ubuntu 20.04/22.04/24.04のいずれか推奨)
- GPUとドライバ確認(NVIDIA: nvidia-smi、AMD: rocminfo)
- 空きディスク容量確認(モデル格納に数十GB以上推奨)
- curlとsystemdの有無確認
# Ubuntu 22.04 + RTX 4090 環境の実行例
lsb_release -a || cat /etc/os-release
nvidia-smi # AMDなら: rocminfo | head -n 20
df -h / /var /mnt /data
which curl && curl --version
systemctl --version
GPUサポートの前提条件は公式ドキュメントも併せて確認してください(参考: Hardware support – Ollama)。
最も簡単な方法:curl一発インストールの流れ
最短で始めたい場合は公式のインストールスクリプトを一行で実行する方法が最適です。
このスクリプトはアーキテクチャを自動判別し、バイナリの配置、専用ユーザー作成、systemdサービス登録まで自動で行います。
実行コマンドは次のとおりです。
curl -fsSL https://ollama.com/install.sh | sh
完了後はサービス状態とバージョンを確認します。
sudo systemctl status ollama
ollama --version
最短導入を重視するならこの方法が第一選択ですが、社内ポリシーで外部スクリプトの直接実行が不可の場合は、次項の手動インストール手順を参照してください(出典: Linux – Ollama)。
セキュリティポリシーが厳しい環境向け:手動インストール手順
エアギャップや厳格な審査がある環境では、アーティファクトを検証しながらの手動配置が安心です。
この方法ならバイナリ取得元を限定し、ファイルハッシュや署名の検証プロセスも組み込めます。
以下の手順に従って進めてください。
- バイナリ取得(接続可能な端末): 公式サイトまたはGitHubからollama-linux-amd64.tgz(AMD GPUならollama-linux-amd64-rocm.tgz)をダウンロード。
- 転送: scpやUSBで対象サーバーへ安全に搬送。
- 展開:
sudo tar -C /usr -xzf ollama-linux-amd64.tgzを実行。 - 専用ユーザー作成:
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama。 - systemdユニット作成:
/etc/systemd/system/ollama.serviceを新規作成。 - 起動と自動起動:
sudo systemctl daemon-reload && sudo systemctl enable --now ollama。
# 展開例
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
# 専用ユーザー
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
# /etc/systemd/system/ollama.service の例
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=127.0.0.1:11434"
Environment="OLLAMA_MODELS=/mnt/nvme/ollama/models"
[Install]
WantedBy=default.target
sudo systemctl daemon-reload
sudo systemctl enable --now ollama
sudo systemctl status ollama
まずはOLLAMA_HOSTを127.0.0.1のまま運用し、公開が必要な場合は後段に認証付きのリバースプロキシを置くのが安全です。
大容量モデルを使う場合はOLLAMA_MODELSをNVMeなどの大容量ストレージに向けると実運用での安定度が増します(参考: Linux – Ollama)。
Dockerでのコンテナ運用:Kubernetesや検証環境向け
ホストを汚したくない、複数環境で同一構成を試したい場合はDockerが有効です。
特に検証やKubernetes連携ではDockerが最短経路になりますが、GPU周りはホスト側のNVIDIA Container Toolkitなどのセットアップが前提になります。
最小構成の実行例は次のとおりです。
docker run -d --name ollama \
--gpus=all -p 11434:11434 \
-v ollama:/root/.ollama \
ollama/ollama
docker-composeで管理したい場合は以下が便利です。
version: "3.8"
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
ports:
- "11434:11434"
deploy:
resources:
reservations:
devices:
- capabilities: [gpu]
volumes:
- ollama-data:/root/.ollama
volumes:
ollama-data:
KubernetesではHelmチャートやOllama Operatorの活用で展開が容易になります(参考: Ollama Operator – Supported models)。
Dockerでの詳細な運用は内部記事も参考になりますので、併せて確認してください(参考: 【2025年版】OllamaをDockerで動かす完全ガイド)。
インストール後の基本操作:モデルのpull・チャット・管理・アンインストール
当セクションでは、UbuntuにOllamaを入れた直後に行う基本操作を、最短のチャット開始から管理・容量対策・アンインストールまで一気通貫で解説します。
導入後につまずきやすいのは「モデルの取得と起動」「容量不足」「後片付け」であり、ここを押さえると実運用にスムーズに移行できるからです。
- 初回起動からLlama 3モデルでチャットするまで
- よく使う基本コマンド一覧(一覧表)
- モデルの保管場所と容量管理のポイント
- Ollamaのアンインストール・クリーンアップ方法
初回起動からLlama 3モデルでチャットするまで
初回は「ollama run llama3」一発で自動ダウンロードと対話開始まで到達できます。
これはモデル未取得時にrunがpullを自動実行し、対話REPLを直ちに開く仕組みだからです(参考: Ollama Quickstart)。
コマンド例と短い対話ログは次のとおりです。
$ ollama run llama3
>>> UbuntuでのOllamaセットアップは完了しました。次に何をすべき?
モデル: Llama 3
アシスタント: まずは使い方を試しましょう。例えば「要約して」や「コマンド例を教えて」と話しかけてください。
>>> ありがとう!
回線や時間帯を選びたい場合は「ollama pull llama3」で取得後に「ollama run llama3」と二段階に分けると安心です。
$ ollama pull llama3
$ ollama run llama3
エアギャップでは別端末でモデルを取得し、OLLAMA_MODELS配下にGGUFを持ち込むか、アーカイブを展開して運用サーバーへコピーする方法が実務的です(参考: Ollama Docs: Linux)。
体感速度の目安として、CPUのみは数トークン/秒程度で、GPU搭載機では十数〜数十トークン/秒に向上するケースが多いです(例: CPU約6 tok/s、RTX 4090約45 tok/sの実測目安)(参考: Ollama Docs: Hardware support)。
よく使う基本コマンド一覧(一覧表)
日常運用は次の基本コマンド群だけで8割カバーできます。
モデルの取得・実行・一覧・詳細・作成・削除と、サービス管理が一通りそろうからです。
代表的な用途と例を一覧表に整理しました。
| コマンド | 用途 | 代表例 |
|---|---|---|
ollama run <model> |
モデルを実行して対話開始 | ollama run llama3 |
ollama pull <model> |
モデルの取得(ダウンロード) | ollama pull llama3:8b |
ollama list |
ローカルにあるモデル一覧 | ollama list |
ollama show <model> |
メタ情報・ライセンス確認 | ollama show llama3 --license |
ollama create <name> -f Modelfile |
Modelfileから独自モデルを作成 | ollama create my-corp -f Modelfile |
ollama delete <model> |
不要モデルの削除 | ollama delete llama3:8b |
ollama serve |
APIサーバーの手動起動 | OLLAMA_HOST=127.0.0.1:11434 ollama serve |
systemctl status|restart ollama |
Linuxサービス管理 | sudo systemctl status ollama |
docker run ... ollama/ollama |
Dockerでデーモン起動 | docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama |
大容量モデルのpullは帯域と時間を消費するため、メンテナンス時間帯の実行が安全です。
詳細オプションやAPI活用は公式ドキュメントとあわせて確認してください(参考: Ollama Quickstart、Ollama Docs: Linux)。
さらに深掘りした使い方は「【2025年版】Ollamaコマンド完全ガイド」も参考になります。
モデルの保管場所と容量管理のポイント
ストレージはOllama運用のボトルネックになりやすいため、保存場所と容量を最初に設計します。
モデルは数GB〜数十GBが積み上がるため、デフォルトのユーザーディレクトリだとOS領域を圧迫しやすいからです。
OLLAMA_MODELS環境変数で保存先をNVMeの大容量パーティションに変更し、不要モデルはollama deleteで定期削除します(参考: Ollama Docs: Linux)。
現況の空き容量はdf -hで、モデルごとのサイズはdu -sh ~/.ollama/models/*などで可視化できます。
$ df -h
$ du -sh ~/.ollama/models/*
以下の簡易シミュレーション図も目安にし、将来増設を見込んで常に30〜50%の空きを確保してください。
本番ではモデルディスクをOSと分離し、障害時の復旧を短縮する設計が安全です。
Ollamaのアンインストール・クリーンアップ方法
検証環境を一度リセットしたい場合は、サービス停止とファイル削除を順に行うのが安全です。
実行中にファイルを消すとロックや不整合が残り、再インストール時に失敗しやすいからです。
systemdの場合はstopとdisableを実行し、ユニットとバイナリを削除します。
$ sudo systemctl stop ollama
$ sudo systemctl disable ollama
$ sudo rm -f /etc/systemd/system/ollama.service
$ sudo rm -f /usr/bin/ollama /usr/local/bin/ollama
モデルデータは$OLLAMA_MODELS配下を削除し、Docker導入時はコンテナとボリュームも消去します。
# ローカル導入例
$ sudo rm -rf /usr/share/ollama/.ollama/models # 例: OLLAMA_MODELS の実体
# Docker導入例
$ docker rm -f ollama
$ docker volume rm ollama
本番では消去前にスナップショットやバックアップを取得し、誤削除を避ける運用手順を整備してください(参考: Ollama Docs: Linux、Ollama Docs: Troubleshooting)。
Docker運用の注意点は「【2025年版】OllamaをDockerで動かす完全ガイド」も参考になります。
LinuxでよくあるOllamaのエラーとトラブルシューティング
当セクションでは、Linuxで発生しやすいOllamaのエラーと解決手順を体系的に解説します。
なぜなら、Ollamaはsystemdのサービス管理、GPUドライバ、ネットワーク、セキュリティ設定が絡み合うため、原因切り分けの型を知らないと復旧に時間がかかるからです。
- Ollamaサービスが起動しない・すぐ落ちるときの確認ポイント
- GPUを認識しない・CPU推論になってしまう場合の対処法
- ポート11434の競合・ネットワーク周りのエラー
- Linux固有のその他のハマりどころと対処のコツ
Ollamaサービスが起動しない・すぐ落ちるときの確認ポイント
最短で復旧するには「status → logs → port → unit設定 → リソース」の順で切り分けるのが鉄則です。
systemd配下で動くため、まずsystemctlで状態を見てからjournalctlの詳細ログで原因を特定します。
ポート11434の占有やSELinux/Permission起因の失敗は頻出なので、早期にポート競合と権限をチェックします。
ユニットファイルのExecStartパスやUser/Groupの不整合、Environmentのスペルミスは起動直後の即落ちの典型です。
筆者はExecStartに/usr/bin/ollamaと書くべきところを/usr/local/bin/ollamaと誤記し、statusが“code=exited, status=203/EXEC”で即死した経験があり、journalctlの一行が決め手で修正できました。
ディスクフルやOOM Killerでも落ちるため、dfとdmesgを合わせて確認し、必要ならモデル保存先の移動やメモリ増設を検討します(参考: Ollama Linuxドキュメント、Troubleshooting)。
- 基本確認フロー
# 1) サービス状態と直近ログ
sudo systemctl status ollama
sudo journalctl -u ollama -b --no-pager -n 200
# 2) ポート11434の占有確認
sudo ss -lntp | grep 11434 || true
# 3) ディスク・メモリ
df -h
free -h
sudo dmesg | grep -i oom || true
- 典型ログ例(ポート競合と権限)
# ポート競合
listen tcp 0.0.0.0:11434: bind: address already in use
# 実行権限/パス不備
systemd[1]: ollama.service: Failed at step EXEC spawning /usr/bin/ollama: No such file or directory
# SELinux/Permission
permission denied opening models directory
ユニットの作成や見直しが必要な場合は、本ガイドのインストール章やOllamaインストール完全ガイドも併せて参照するとスムーズです。
GPUを認識しない・CPU推論になってしまう場合の対処法
結論として、ドライバ→ランタイム→コンテナ設定(該当時)→Ollama起動ログの順で「GPUが見えるか」を確認すれば解決が早まります。
NVIDIAではnvidia-smiで認識とドライバ整合を確認し、Compute Capabilityが要件を満たすかを見極めます。
Docker運用なら–gpus=allとnvidia-container-toolkitの導入が必須で、欠けると自動でCPUフォールバックします。
AMDではROCm対応バージョンの整合を取り、必要に応じてHSA_OVERRIDE_GFX_VERSIONで一時的に認識を合わせます。
最終確認はollama runの起動メッセージやサーバーログで「using CUDA/ROCm」等の表示を探すのが確実です(出典: Ollama Hardware support)。
より詳しい高速化の勘所はOllamaをGPUで高速化する完全ガイドも参考になります。
| 確認項目 | NVIDIA | AMD |
|---|---|---|
| ドライバ/ランタイム | nvidia-smi で認識/バージョン確認 | rocminfo / rocm-smi で認識 |
| コンテナ設定 | –gpus=all と nvidia-container-toolkit | –device=/dev/kfd –device=/dev/dri など |
| 要件適合 | Compute Capability 5.0+ 目安 | ROCm対応GFX世代/カーネル |
| 最終確認 | Ollamaログ: using CUDA | Ollamaログ: using ROCm |
# NVIDIA例
nvidia-smi
# DockerでGPUを渡す
sudo docker run --rm --gpus=all ollama/ollama:latest
# AMD例(必要時の一例・本番は要検証)
export HSA_OVERRIDE_GFX_VERSION=10.3.0
rocminfo | head
# OllamaがGPUを掴んだかの目視
ollama run llama3 < /dev/null | true # 起動ログに "using CUDA" / "using ROCm" が出ることを確認
ポート11434の競合・ネットワーク周りのエラー
デフォルトの11434が塞がっているか外部到達性がないだけのケースが多いので、占有確認→ポート変更→FW解放→疎通試験の順で対処します。
ssで競合プロセスを洗い出し、重複使用ならOLLAMA_HOSTで空きポートへ変更します。
ufwやfirewalldで受信許可がないと外から見えないため、合わせてポート開放を実施します。
最後にクライアント側から/api/tagsへcurlし、HTTP 200とJSONが返るかを確認します。
社内公開時はNginx経由でTLS/認証をかける構成が安全で、後段のセキュリティ節の内容とも整合します(参考: Ollama Linuxドキュメント)。
# ポート使用状況
sudo ss -lntp | grep 11434 || true
# 競合時の一例(ユニットに環境変数を設定して再起動)
# /etc/systemd/system/ollama.service の Environment= を 0.0.0.0:18080 等に変更
sudo systemctl daemon-reload
sudo systemctl restart ollama
# UFWで開放
sudo ufw allow 11434/tcp
# 疎通確認(クライアント側)
curl -s http://server:11434/api/tags | jq .
APIエンドポイントの詳細はOllama API徹底ガイドを参照すると運用の見通しが立ちます。
Linux固有のその他のハマりどころと対処のコツ
結論は「OS/コンテナの制約を疑い、事前の長時間テストで炙り出す」です。
RHEL系のSELinux有効環境では、モデル保存ディレクトリへのアクセスで拒否が起きるため、適切なコンテキスト付与が必要です。
コンテナ運用では/dev/driや/dev/kfdなどのデバイスマッピング不足でGPUが見えないことがあります。
cgroupのメモリ上限が厳しすぎると大規模モデルのロード時にOOMが発生するため、上限緩和やスワップ設計を検討します。
本番前に小さな検証環境で負荷テストと長時間連続稼働を実施すると、隠れた設定不備を早期に潰せます(参考: Ollama Troubleshooting)。
- 関連トピックの深掘りはOllamaをDockerで動かす完全ガイドや生成AIのセキュリティ完全解説も有用
LinuxでOllamaを安全に公開する:リバースプロキシと認証設計
当セクションでは、Linux上のOllamaを社内外に安全に公開するためのリバースプロキシ設計と認証の実装ポイントを解説します。
実務ではOllamaがデフォルトで認証機能を持たないため、誤った公開設定が情報漏えいとサービス停止の両リスクを招くからです。
- なぜOllamaをそのままLAN/インターネットに晒してはいけないのか
- 推奨構成:Nginxリバースプロキシ+認証で保護する
- ユーザーごとの権限管理にはOpen WebUIなどのフロントエンドを
なぜOllamaをそのままLAN/インターネットに晒してはいけないのか
結論として、Ollama単体は認証を持たないため、裸の公開は厳禁です。
理由は、環境変数で OLLAMA_HOST=0.0.0.0 とすると、誰でもAPIに到達でき、モデルの実行・大量リクエストによるGPU占有・モデル削除まで実行され得るからです(参考: Ollama公式ドキュメント Linux)。
この状態はDoSの踏み台にもなり、プロンプトや出力が第三者に閲覧される恐れがあり、社外秘データ運用では致命的です。
実際にShodanで露出したOllamaサーバーの事例が報告されており、検索エンジンから容易に特定されることが示されています(出典: Cisco Blogs: Detecting Exposed LLM Servers)。
したがって、機密を扱う前提なら「まずセキュリティ設計」、そしてプロキシでの認証・暗号化が最低ラインとなります(関連記事: 生成AIのセキュリティ完全解説)。
- 参考: Ollama FAQ
- 参考: Ollama公式ドキュメント Linux
- 出典: Cisco Blogs
推奨構成:Nginxリバースプロキシ+認証で保護する
結論は、Ollamaは127.0.0.1:11434に閉じ、前段のNginxでHTTPS終端と認証を行う構成が安全・簡潔・運用容易です。
理由は、TLSと認証をプロキシで集約すれば鍵管理・アクセス制御・監査を一箇所に統合でき、Ollama本体を最小露出で運用できるからです。
手順は概ね「1) Ollamaはローカルバインド、2) Nginxで proxy_pass、3) 証明書導入、4) Basic認証またはoauth2-proxyでOkta/Azure AD連携」の順になります。
server {
listen 443 ssl http2;
server_name ai.example.internal;
ssl_certificate /etc/ssl/certs/fullchain.pem;
ssl_certificate_key /etc/ssl/private/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_buffering off;
proxy_read_timeout 3600;
proxy_pass http://127.0.0.1:11434;
auth_basic "Corporate AI Access";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
# Basic認証ユーザー作成例(初回のみ -c)
sudo apt-get install -y apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd alice
sudo systemctl reload nginx
ここまで整備すれば最低限の防御線は張れますが、systemdの環境変数でOLLAMA_HOSTは必ず127.0.0.1のままにし、直接公開を避けてください(参考: Ollama公式ドキュメント Linux)。
企業認証基盤と統合する場合はoauth2-proxyをNginxと組み合わせ、OktaやAzure ADのOIDCでSSOを実装すると安全で使い勝手も高まります(参考: Securing Ollama with an Nginx Reverse Proxy)。
詳細の実装手順は別途「OllamaをNginxで保護する手順」で順次公開予定です(関連: Ollamaインストール完全ガイド)。
ユーザーごとの権限管理にはOpen WebUIなどのフロントエンドを
結論として、部署別の利用制限や履歴の監査が必要なら、Ollamaの前にOpen WebUIのようなフロントエンドを置いてRBACを実現します。
理由は、Ollama自体にユーザーやロールの概念がないため、認可や個人別の可視化・ログ管理をアプリ層で補完する必要があるからです。
Ubuntuでは「利用者→Open WebUI(ログイン・RBAC・監査)→Nginx→Ollama(127.0.0.1)」という分離構成にすると、推論エンジンとUX/認証を綺麗に役割分担できます。
Open WebUIはログイン、ワークスペース、モデルの可視性制御、会話履歴の保存などを提供し、企業導入の要件を満たしやすいのが利点です(参考: Open WebUI Docs)。
再度の結論として、Ollama=推論エンジン、WebUI=認証とUXとログという設計にすると、権限分離と監査性が両立し、運用負荷も抑えられます(参考: Ollama API徹底ガイド/関連記事: RAG構築のベストプラクティス)。
API連携と他ツールとの比較:あなたの用途にOllama on Linuxは向いている?
当セクションでは、Linux上のOllamaをAPIでどう活用するか、他のローカルLLMツールとの違い、ユースケース別のおすすめ構成、そしてOllama Cloudを組み合わせたハイブリッド運用までを解説します。
なぜなら、導入後に最も効くのは「連携と運用設計」の上手さであり、ここを外すと性能やコストの優位が活きないからです。
- Ollama REST APIとOpenAI互換APIで既存ツールを活かす
- 他のローカルLLMツール(LM Studio, text-generation-webui, Open WebUIなど)との比較
- ユースケース別のおすすめ構成:社内チャットボット・RAG・コード補完
- Ollama Cloudとのハイブリッド運用という選択肢
Ollama REST APIとOpenAI互換APIで既存ツールを活かす
結論として、OllamaはREST APIとOpenAI互換APIを同時に備えるため、既存のLangChainやVS Code拡張、社内Botを“ほぼそのまま”ローカルLLMへ切り替えられます。
理由はシンプルで、/api/generate・/api/chat・/api/embedといった基本エンドポイントに加え、/v1/chat/completions等のOpenAI互換経路が用意されているからです(参考: Ollama GitHub docs/api.md)。
具体例として、Linuxサーバー上のOllamaをチーム共通エンジンにし、アプリ側はBASE_URLだけ差し替える運用が可能です。
公式のPython/JavaScriptライブラリも充実しており、サーバー側はsystemd常駐、クライアント側はSDKで接続という分担がとれます(参考: ollama-python、参考: ollama-js、参考: LangChain Docs (Ollama))。
まずは次の最小コードで「社内Ollamaに対してチャット」を試し、手応えを確認してください。
# pip install ollama
from ollama import Client
client = Client(host="http://linux-ollama.internal:11434")
res = client.chat(
model="llama3:8b",
messages=[{"role": "user", "content": "この社内ポリシーを3点で要約して"}],
)
print(res["message"]["content"])
アーキテクチャの全体像は次の通りで、IDEやBot、業務アプリが共通エンジンへ集約されます。
- 参考: Ollama REST API | Postman
- 参考: Ollama GitHub docs/api.md
- 参考: ollama-python
- 参考: LangChain Docs (Ollama)
他のローカルLLMツール(LM Studio, text-generation-webui, Open WebUIなど)との比較
結論は、サーバー/API基盤ならOllama、個人のGUI中心ならLM Studio、細かいチューニングや実験ならtext-generation-webui、UIフロントとしてはOpen WebUIが鉄板です。
理由は、各ツールの設計思想が異なり、GUIの扱いやすさ、API整備度、Linuxサーバー運用適性に明確な差があるためです。
代表的ツールの比較を以下にまとめます(詳細は関連記事も参照: ローカル環境でAIを実行するベストな方法)。
| ツール | セットアップ難易度 | GUI有無 | API/SDK整備 | Linuxサーバー運用適性 | 向いている用途 |
|---|---|---|---|---|---|
| Ollama | 低〜中 | CLI中心(外部UIと連携) | REST+OpenAI互換、公式SDK | 高(systemd/Docker運用しやすい) | 共通推論エンジン、社内基盤 |
| LM Studio | 低 | あり(充実) | 限定的 | 中(個人マシン想定) | 個人利用、試行・学習 |
| text-generation-webui | 中〜高 | あり | 豊富だが手管理が必要 | 中(柔軟だが運用負荷) | 研究・細かな実験 |
| Open WebUI | 中 | あり(強力) | APIはバックエンド依存 | 高(Ollama等の前段UI) | 共通UI、RBACやログ管理 |
用途で迷ったら、検証/個人はLM Studio、細かな実験はtext-generation-webui、エンタープライズ運用はOllama+Open WebUIの組み合わせが安定です。
最終的には、誰が運用し、どの範囲へ展開するかで選ぶと失敗しません。
ユースケース別のおすすめ構成:社内チャットボット・RAG・コード補完
結論は「まずは8B〜14Bクラスから小さく始め、必要に応じて70Bやクラウドへ伸ばす」ステップが最短で実用に届きます。
理由は、初期から大規模モデルに固執するとVRAMや電力・運用コストの負担が跳ね上がり、検証速度が落ちるためです。
具体例として、以下の3構成が現実解です。
- 社内チャットボット:Ollama(llama3:8b等)+Open WebUI+RAG基盤(埋め込みはnomic-embed-text等)で内製ナレッジに強い応答を実現(関連: Ollama Embeddingsガイド、関連: RAG構築ベストプラクティス)。
- 社外秘ドキュメント要約:夜間バッチでCPU/GPU混在運用、平時はCPU、ピーク時のみGPUを使い分けてコスト最適化。
- コード補完:開発者のVS Code(Continueなど)からOllamaのOpenAI互換APIへ接続し、Qwen2.5 CoderやCode Llama系を利用(関連: Ollamaモデル完全ガイド)。
この進め方なら、Linuxサーバー1台から部門展開まで無理なくスケールできます。
ボトルネックが見えた段階で初めて70Bやクラウドを検討するとムダがありません。
Ollama Cloudとのハイブリッド運用という選択肢
結論として、日常はローカルOllama、重い推論や巨大モデル時だけOllama Cloudへ逃がすハイブリッドが、プライバシーと性能のバランスを最も取りやすいです。
理由は、405B級の超大規模モデルはローカルGPUで現実的に動かしにくく、必要時だけクラウドを使う方がTCOを抑えられるためです(参考: Ollama Cloud)。
たとえば普段はllama3:8bで内製チャットを回し、数十ページの難案件や戦略案生成など重負荷タスク時のみCloudへ切り替えます。
料金は月額課金プランが用意され、頻度やトークン量次第ではクラウドの方が安いケースもあるため、全社のAPI利用とインフラ費を合わせて試算してください(関連: 無料で使えるAI API徹底比較、関連: Ollama API徹底ガイド)。
結局のところ、ローカルの即応性とクラウドのスケールを併用する設計が、2025年の最適解です。
まとめと次の一歩
LinuxでのOllamaはデータ主権・低遅延・コスト最適化に優れ、Windows/macOSとの違いと導入の勘所を押さえました。
Ubuntuへのインストールからモデル運用、GPU要件とトラブル対処、公開時のNginx+認証までを実務目線で整理しました。
小さく始めて段階的に本番設計へ移すことで、あなたのチームでもすぐ価値を出せます。
まずはUbuntuにOllamaを入れLlama 3で社内ドキュメント要約とチャットを試しつつ、最適なGPU構成とOllama Cloud併用の要否を検討しましょう。
導入はOllama公式ダウンロードで最新手順を確認し、実運用は生成AI 最速仕事術や生成AI活用の最前線、DMM 生成AI CAMPで強化してください。


