第06回 ネット越しアクセス(1)ローカルPCからDDNS経由

Ola-UI構築チュートリアル

【第6回】社内AIチャットシステムOla-UIを構築しよう!- ネット越しアクセス(1)ローカルPCからDDNS経由

はじめに

「社内AIチャットシステムOla-UI構築シリーズ」の第6回へようこそ!

前回(第5回)までで、ローカル環境でのOla-UIシステムが完成しました。今回からは、ネットワーク越しにアクセスする方法を3回に分けて解説します。

これまでのおさらい

第1〜3回: 基本構築

✅ Ollama環境構築
✅ PHP環境構築
✅ Ola-UI本体の設置と起動

第4〜5回: カスタマイズと実践

✅ システムプロンプトでAIの性格作り
✅ ナレッジデータの準備とQ&A化

今回は、自宅やオフィス外からOla-UIシステムにアクセスする方法を学びます。


本記事の目標

第6回では、ローカルPCでOllamaとPHP+Ola-UIを動かし、DDNS経由で外部からアクセスする方法を解説します。

所要時間

学べること


この構成の特徴

システム構成図

【外部(インターネット)】
         ↓
    DDNSドメイン
   (例: myola.ddns.net)
         ↓
   【自宅/オフィス】
     ルーター
   (ポート転送設定)
         ↓
      Windows PC
    ┌─────────┐
    │ Ollama    │ ← AIエンジン
    │ PHP+Ola-UI│ ← Webサーバー
    └─────────┘

メリット

✅ 低コスト: サーバー不要、自宅PCのみ
✅ 完全ローカル: データが外部に出ない
✅ 柔軟性: 自由にカスタマイズ可能

デメリット

⚠️ PCの電源を常時ONにする必要がある
⚠️ 固定IPがない場合、DDNSの定期更新が必要
⚠️ 上りの回線速度に依存


STEP 1: DDNSサービスの選定と登録

1.1 DDNSとは?

DDNS(Dynamic DNS)は、動的に変わるIPアドレスに固定のドメイン名を紐付けるサービスです。

一般的なインターネット環境

DDNSを使うと

1.2 おすすめDDNSサービス

No-IP(推奨)

Duck DNS

MyDNS.JP(日本製)

💡 推奨: この記事ではNo-IPを使った手順を解説します。

1.3 No-IPアカウントの作成

ステップ1: アカウント登録

  1. https://www.noip.com/ にアクセス
  2. 「Sign Up」をクリック
  3. 以下の情報を入力:
  4. Email address
  5. Password
  6. Confirm Password
  7. 「Create My Free Account」をクリック

ステップ2: メール認証

  1. 登録したメールアドレスに確認メールが届く
  2. メール内のリンクをクリックして認証

ステップ3: ホスト名の作成

  1. No-IPにログイン
  2. 「Dynamic DNS」→「No-IP Hostnames」を選択
  3. 「Create Hostname」をクリック
  4. 以下を入力:
  5. Hostname: myola(任意の名前)
  6. Domain: ddns.net(選択)
  7. Record Type: A (IPv4 Address)
  8. IPv4 Address: 自動取得(そのまま)
  9. 「Create Hostname」をクリック

完成: myola.ddns.net というドメインが作成されます。


STEP 2: ルーターのポート転送設定

2.1 自分のローカルIPアドレスを確認

Windows PCの場合

ipconfig

出力例:

IPv4 アドレス . . . . . . . . . . : 192.168.1.100

この 192.168.1.100 がPCのローカルIPアドレスです。

💡 メモしておきましょう: このIPアドレスは後で使います。

2.2 ルーター管理画面へのアクセス

一般的なルーターのIPアドレス

アクセス方法

  1. ブラウザを開く
  2. アドレスバーに http://192.168.1.1 と入力
  3. ユーザー名とパスワードを入力

デフォルトの認証情報(ルーターによって異なります): - ユーザー名: admin / パスワード: admin - ユーザー名: admin / パスワード: password - ユーザー名: 空欄 / パスワード: admin

⚠️ セキュリティ: デフォルトパスワードは必ず変更してください!

2.3 ポート転送(ポートフォワーディング)の設定

ルーター管理画面で、以下の設定を行います。

設定項目の場所

ポート転送の設定内容

項目 設定値 説明
サービス名 Ola-UI-Web 任意の名前
プロトコル TCP HTTPはTCPを使用
外部ポート 8000 外部からアクセスするポート
内部IPアドレス 192.168.1.100 PCのローカルIP(STEP 2.1で確認)
内部ポート 8000 PHPサーバーのポート
有効/無効 有効 チェックを入れる

設定例(Buffalo製ルーター)

Internet側IPアドレス: 任意のアドレス
プロトコル: TCP/UDP
任意のTCP/UDPポート: 8000
LAN側IPアドレス: 192.168.1.100
LAN側ポート: 8000

「設定」または「保存」ボタンをクリック

💡 ポート番号の選択: - 8000は一般的だが、セキュリティのため 8443、9000 などに変更も可


STEP 3: PHP内蔵サーバーの外部アクセス対応

3.1 起動バッチファイルの修正

C:\ola-ui\start_server(ローカルの場合の起動バッチ).bat を編集します。

変更前(ローカル専用)

php -S localhost:8000

変更後(外部アクセス対応)

php -S 0.0.0.0:8000

💡 0.0.0.0 の意味: すべてのネットワークインターフェースでリッスン(外部からもアクセス可能)

3.2 Windowsファイアウォールの設定

ステップ1: ファイアウォール設定を開く

  1. Windows + R キーを押す
  2. wf.msc と入力してEnter
  3. 「セキュリティが強化されたWindowsファイアウォール」が開く

ステップ2: 受信規則の追加

  1. 左側の「受信の規則」をクリック
  2. 右側の「新しい規則」をクリック
  3. 「ポート」を選択して「次へ」
  4. 以下を設定:
  5. TCPを選択
  6. 特定のローカルポート: 8000
  7. 「次へ」をクリック
  8. 「接続を許可する」を選択
  9. 「次へ」をクリック
  10. すべてのプロファイル(ドメイン、プライベート、パブリック)にチェック
  11. 「次へ」をクリック
  12. 名前: Ola-UI Web Server と入力
  13. 「完了」をクリック

STEP 4: DDNSクライアントの設定

4.1 No-IP DUC(Dynamic Update Client)のインストール

ステップ1: ダウンロード

  1. https://www.noip.com/download にアクセス
  2. 「Windows」版をダウンロード
  3. DUC-Windows-x64-v3.x.x.exe を実行

ステップ2: インストール

  1. インストールウィザードに従って進む
  2. インストール先: デフォルト(C:\Program Files (x86)\No-IP\)
  3. 「Install」をクリック

ステップ3: 設定

  1. No-IP DUCを起動
  2. No-IPアカウントでログイン
  3. Email
  4. Password
  5. 「Sign In」をクリック
  6. 作成したホスト名(myola.ddns.net)が表示される
  7. チェックを入れて「Save」をクリック

DUCが自動的にIPアドレスを更新してくれます。

4.2 自動起動の設定

Windowsスタートアップに登録

  1. Windows + R キーを押す
  2. shell:startup と入力してEnter
  3. No-IP DUCのショートカットをこのフォルダにコピー

これで、Windows起動時に自動でDUCが起動します。


STEP 5: 動作確認

5.1 ローカルでの確認

まず、PC内からアクセスできるか確認します。

http://localhost:8000/index_t.html

✅ 正常に表示されればOK

5.2 同一ネットワーク内からの確認

スマホやタブレット(同じWi-Fi)から確認します。

http://192.168.1.100:8000/index_t.html

✅ 正常に表示されればポート転送の準備OK

5.3 外部ネットワークからの確認

スマホのモバイルデータ通信(Wi-Fiをオフ)または外部の友人に協力してもらい、以下にアクセス:

http://myola.ddns.net:8000/index_t.html

✅ 正常に表示されれば完全成功!🎉


STEP 6: セキュリティ対策

6.1 基本認証(Basic Authentication)の設定

誰でもアクセスできる状態は危険なので、パスワード認証を設定します。

.htaccess の作成

C:\ola-ui\.htaccess を作成:

AuthType Basic
AuthName "Ola-UI System"
AuthUserFile C:/ola-ui/.htpasswd
Require valid-user

.htpasswd の作成

パスワードファイルを生成します。

オンラインツールを使用(簡単)
  1. https://hostingcanada.org/htpasswd-generator/ にアクセス
  2. ユーザー名とパスワードを入力
  3. 生成されたテキストをコピー
  4. C:\ola-ui\.htpasswd に保存

例:

admin:$apr1$abc12345$xyz...
PHPスクリプトで生成
<?php
$username = 'admin';
$password = 'your-secure-password';
$hash = password_hash($password, PASSWORD_BCRYPT);
file_put_contents('.htpasswd', "{$username}:{$hash}\n");
echo "✅ .htpasswd を生成しました\n";
?>

実行:

php generate_htpasswd.php

⚠️ 強力なパスワード: 最低12文字、英数字+記号を含める

6.2 HTTPSの設定(推奨)

現状ではHTTP(非暗号化)なので、通信内容が盗聴される可能性があります。

自己証明書の作成

cd C:\php
php -r "system('openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt');"

対話形式で以下を入力: - Country Name: JP - State: Tokyo - Locality: Shibuya - Organization: Your Company - Common Name: myola.ddns.net

PHPサーバーでHTTPSを有効化

残念ながら、PHP内蔵サーバーはHTTPSをサポートしていません。

代替案: 1. Apacheを使用(本格的) 2. Caddyを使用(簡単、自動HTTPS) 3. Cloudflareを経由(後述)

💡 第7回で詳しく解説します。

6.3 IPアドレス制限(オプション)

特定のIPアドレスからのみアクセスを許可します。

.htaccess に追加

Order deny,allow
Deny from all
Allow from 203.0.113.0/24
Allow from 198.51.100.50

STEP 7: トラブルシューティング

Q1: DDNSドメインにアクセスできない

原因: ポート転送が正しく設定されていない

確認方法: 1. https://www.canyouseeme.org/ にアクセス 2. ポート番号 8000 を入力 3. 「Check Port」をクリック

結果: - ✅ Success → ポート転送OK、他の問題 - ❌ Error → ポート転送失敗、ルーター設定を再確認

解決策: - ルーターのポート転送設定を再確認 - PCのローカルIPが変わっていないか確認 - Windowsファイアウォールの設定を確認

Q2: 「このサイトにアクセスできません」エラー

原因: PCの電源がオフ、またはPHPサーバーが起動していない

解決策: 1. PCの電源を確認 2. コマンドプロンプトで php -S 0.0.0.0:8000 が実行中か確認 3. No-IP DUCが起動しているか確認

Q3: IPアドレスが更新されない

原因: No-IP DUCが動作していない

解決策: 1. No-IP DUCを起動 2. ログイン状態を確認 3. 手動で「Update Now」をクリック

Q4: 接続が遅い

原因: 上りの回線速度が遅い

確認方法: - https://fast.com/ で速度テスト - 上り速度が10Mbps以下だと遅く感じる

解決策: - インターネット回線のアップグレード - 画像やデータを圧縮 - キャッシュを有効化

Q5: OllamaがTimeout

原因: Ollamaの応答が遅い、またはメモリ不足

解決策: 1. config.iniの max_execution_time を延長(300 → 600) 2. Gemma 2 27B → Gemma 2 9Bに変更(軽量化) 3. PCのメモリを増設


STEP 8: 運用のベストプラクティス

8.1 PCの常時稼働

電力設定

  1. Windows + I キーで設定を開く
  2. 「システム」→「電源とスリープ」
  3. 以下を設定:
  4. スリープ: なし
  5. ディスプレイの電源を切る: 10分
  6. 「電源の追加設定」をクリック
  7. 「プラン設定の編集」
  8. 「詳細な電源設定の変更」
  9. 「スリープ」→「次の時間が経過後スリープする」→ 0分(無効)

自動起動スクリプト

C:\ola-ui\auto_start_all.bat を作成:

@echo off
echo Starting Ola-UI System...

REM No-IP DUC起動
start "" "C:\Program Files (x86)\No-IP\DUC.exe"
timeout /t 3 /nobreak > nul

REM Ollama起動
start /B ollama serve
timeout /t 5 /nobreak > nul

REM PHP Webサーバー起動
cd C:\ola-ui
start php -S 0.0.0.0:8000

echo All services started!

Windowsスタートアップに登録。

8.2 定期メンテナンス

週次タスク

月次タスク

8.3 監視とアラート

死活監視サービス

UptimeRobot(無料)を使った監視:

  1. https://uptimerobot.com/ にアクセス
  2. アカウント作成
  3. 「Add New Monitor」をクリック
  4. 以下を設定:
  5. Monitor Type: HTTP(s)
  6. Friendly Name: Ola-UI System
  7. URL: http://myola.ddns.net:8000
  8. Monitoring Interval: 5 minutes
  9. 「Create Monitor」をクリック

サーバーがダウンすると、メールで通知が届きます。


まとめ

本記事で学んだこと

✅ DDNSサービスの選定と登録
✅ ルーターのポート転送設定
✅ PHP内蔵サーバーの外部アクセス対応
✅ Windowsファイアウォールの設定
✅ DDNSクライアント(No-IP DUC)の設定
✅ 基本認証によるセキュリティ対策
✅ 運用のベストプラクティス

所要時間


次回予告

第7回: ネット越しアクセス(2)DDNS経由でHTTPS対応編

次回は、HTTPSを使った安全な通信と、Apache/Caddyを使った本格的なWebサーバー構築を解説します。

次回の内容

お楽しみに!


参考リンク


著者: Ola-UI サポートチーム
公開日: 2026年1月29日
更新日: 2026年1月29日
カテゴリ: チュートリアル, ネットワーク, DDNS, リモートアクセス


💬 この記事への質問・コメント

この記事についてご質問やご意見がありましたら、以下までお気軽にお問い合わせください:

📧 Email: support@ola-ui.com
🐦 Twitter: @OlaUI_Official
💼 LinkedIn: Ola-UI


タグ

#OlaUI #DDNS #リモートアクセス #ポート転送 #セキュリティ #チュートリアル #ネットワーク

📚 記事一覧に戻る