OllamaをインストールしてLinuxサーバーでローカルLLMを直接運用する構成を示す代表画像

概要

Ollamaは、個人サーバーやPCでLLMを直接実行できるローカルAI実行ツールです。

必要なモデルをダウンロードして自分の環境で実行するため、外部のAIサービスにデータを送信することなく、チャットボット、文書要約、コード補助機能を構成できます。

この記事では、LinuxサーバーにOllamaをインストールし、外部接続を許可する方法をまとめます。

Oracle Cloud A1 ARM環境で使えそうなモデル選定の基準と、HTTP API呼び出し例についても併せて扱います。

注意点

Ollamaは主にHTTP API方式で使用されます。

外部接続を許可すると、同じネットワークの外からもモデル呼び出しが可能になる場合があるため、アクセス制御が必要です。

インターネットに直接公開する場合は、以下の保護対策を併せて構成することをお勧めします。

  1. ファイアウォールで11434番ポートを信頼できるIP帯域のみに許可します。
  2. VPNで接続を迂回します。個人的にはTailscaleをお勧めします。
  3. リバースプロキシ(nginxなど)の背後に置き、認証を付けます。
  4. 許可するIPを明示的に制限します。

インストール

スクリプトインストール

1curl -fsSL https://ollama.com/install.sh | sh

実行確認

1ollama --version

サービス確認

1systemctl status ollama

サービス自動起動

1sudo systemctl enable ollama

ログ確認

1journalctl -u ollama -f

外部接続の許可

bind ipの確認

  • 下記の例では127.0.0.1にバインドされています
  • ローカルからのみアクセスできるという意味です
1ss -tlnp | grep 11434
2
3# Result
4# LISTEN 0      4096                     127.0.0.1:11434      0.0.0.0:*

設定ディレクトリの作成

1sudo mkdir -p /etc/systemd/system/ollama.service.d

環境設定ファイルの編集

1sudo vim /etc/systemd/system/ollama.service.d/override.conf

内容の追加

1[Service]
2Environment="OLLAMA_HOST=0.0.0.0:11434"

サービスへの適用

1sudo systemctl daemon-reload
2sudo systemctl restart ollama

バインドの再確認

  • *:11434により、すべてのIPからの接続が許可されます
1ubuntu@a1-free:~$ ss -tlnp | grep 11434
2
3# Result
4# LISTEN 0      4096                             *:11434            *:*

LLMモデルのおすすめ

Oracle Cloud A1 ARM 2OCPU / 12 RAM基準

**用途モデル推奨度速度****Tool Calling韓国語メモリ備考**
🥇 チャット+Tool兼用Qwen3:4B⭐⭐⭐⭐⭐★★★★☆★★★★★★★★★★4~5GB最もおすすめ
チャット専用Gemma3:4B⭐⭐⭐⭐☆★★★★★★★★☆☆★★★★☆4GB高速応答
軽量Llama3.2:3B⭐⭐⭐⭐☆★★★★★★★★☆☆★★★★☆3GB最も軽量
高品質(遅い)Qwen3:8B⭐⭐⭐☆☆★★☆☆☆★★★★★★★★★★8~10GBCPUでは遅い
開発/コーディング特化Qwen3-Coder⭐⭐⭐⭐☆★★☆☆☆★★★★★★★★★★コーディング専用に近い
  • GPUなし、常時無料インスタンス
  • 上記スペックでQwen3:4Bを使用しましたが、遅すぎて使い物になりませんでした…
    • GPUがないと限界が明確です
    • バッチスケジュールでしか使えないレベルです

LLMモデルのインストール

1# chat + tool chain
2ollama pull qwen3:4b
3
4# fast chat
5ollama pull gemma3:4b

LLMの使用

Warm up

 1curl -s \
 2  -w "\n\nHTTP Status: %{http_code}\nTotal Time : %{time_total}s\n" \
 3  http://localhost:11434/api/generate \
 4  -d '{
 5    "model":"qwen3:4b",
 6    "prompt":"hi",
 7    "stream":false,
 8    "keep_alive":"5m",
 9    "options": {
10      "num_predict": 32
11    }
12  }'

プロンプトの実行

 1curl -s \
 2  -w "\n\nHTTP Status: %{http_code}\nTotal Time : %{time_total}s\n" \
 3  http://localhost:11434/api/chat \
 4  -d '{
 5    "model":"qwen3:4b",
 6    "messages":[
 7      {
 8        "role":"user",
 9        "content":"한국어로 대답해줘. 1+1?"
10      }
11    ],
12    "think": false,    
13    "stream":false
14  }'

追加設定

環境設定の編集

1sudo systemctl edit ollama

必要な環境変数の追加

1# デフォルトのkeep alive時間
2# -1: 無制限
3# example: 10m, 1h, ... 
4Environment="OLLAMA_KEEP_ALIVE=-1"

サービスへの適用

1sudo systemctl daemon-reload && sudo systemctl restart ollama

関連記事