【第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経由で外部からアクセスする方法を解説します。
所要時間
- 📅 約60〜90分
学べること
- DDNSの基本とサービス選定
- ルーターのポート転送設定
- PHPサーバーの外部公開設定
- セキュリティ対策(基本認証、HTTPS化)
- 動的IPアドレス対応
この構成の特徴
システム構成図
【外部(インターネット)】
↓
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アドレスに固定のドメイン名を紐付けるサービスです。
一般的なインターネット環境
- 家庭用インターネット → IPアドレスが定期的に変わる
- 固定IPオプション → 月額1,000〜3,000円の追加費用
DDNSを使うと
- 無料でドメイン名を取得(例:
myola.ddns.net) - IPアドレスが変わっても自動で更新
- 固定IPのように使える
1.2 おすすめDDNSサービス
No-IP(推奨)
- 無料プラン: あり(1ドメイン、30日ごとの確認更新)
- 有料プラン: 年額約3,000円(自動更新、複数ドメイン)
- 日本語対応: あり
- 公式サイト: https://www.noip.com/
Duck DNS
- 無料プラン: 完全無料(更新確認不要)
- ドメイン:
*.duckdns.org - シンプル: 設定が簡単
- 公式サイト: https://www.duckdns.org/
MyDNS.JP(日本製)
- 無料プラン: あり
- 日本語: 完全日本語対応
- 公式サイト: https://www.mydns.jp/
💡 推奨: この記事ではNo-IPを使った手順を解説します。
1.3 No-IPアカウントの作成
ステップ1: アカウント登録
- https://www.noip.com/ にアクセス
- 「Sign Up」をクリック
- 以下の情報を入力:
- Email address
- Password
- Confirm Password
- 「Create My Free Account」をクリック
ステップ2: メール認証
- 登録したメールアドレスに確認メールが届く
- メール内のリンクをクリックして認証
ステップ3: ホスト名の作成
- No-IPにログイン
- 「Dynamic DNS」→「No-IP Hostnames」を選択
- 「Create Hostname」をクリック
- 以下を入力:
- Hostname:
myola(任意の名前) - Domain:
ddns.net(選択) - Record Type:
A (IPv4 Address) - IPv4 Address: 自動取得(そのまま)
- 「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アドレス
192.168.1.1(最も一般的)192.168.0.1192.168.11.1(Buffalo製)
アクセス方法
- ブラウザを開く
- アドレスバーに
http://192.168.1.1と入力 - ユーザー名とパスワードを入力
デフォルトの認証情報(ルーターによって異なります):
- ユーザー名: admin / パスワード: admin
- ユーザー名: admin / パスワード: password
- ユーザー名: 空欄 / パスワード: admin
⚠️ セキュリティ: デフォルトパスワードは必ず変更してください!
2.3 ポート転送(ポートフォワーディング)の設定
ルーター管理画面で、以下の設定を行います。
設定項目の場所
- Buffalo: 「セキュリティ」→「ポート変換」
- NEC: 「詳細設定」→「ポートマッピング」
- TP-Link: 「転送」→「仮想サーバー」
- ASUS: 「WAN」→「仮想サーバー / ポート転送」
ポート転送の設定内容
| 項目 | 設定値 | 説明 |
|---|---|---|
| サービス名 | 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: ファイアウォール設定を開く
- Windows + R キーを押す
wf.mscと入力してEnter- 「セキュリティが強化されたWindowsファイアウォール」が開く
ステップ2: 受信規則の追加
- 左側の「受信の規則」をクリック
- 右側の「新しい規則」をクリック
- 「ポート」を選択して「次へ」
- 以下を設定:
- TCPを選択
- 特定のローカルポート:
8000 - 「次へ」をクリック
- 「接続を許可する」を選択
- 「次へ」をクリック
- すべてのプロファイル(ドメイン、プライベート、パブリック)にチェック
- 「次へ」をクリック
- 名前:
Ola-UI Web Serverと入力 - 「完了」をクリック
STEP 4: DDNSクライアントの設定
4.1 No-IP DUC(Dynamic Update Client)のインストール
ステップ1: ダウンロード
- https://www.noip.com/download にアクセス
- 「Windows」版をダウンロード
DUC-Windows-x64-v3.x.x.exeを実行
ステップ2: インストール
- インストールウィザードに従って進む
- インストール先: デフォルト(
C:\Program Files (x86)\No-IP\) - 「Install」をクリック
ステップ3: 設定
- No-IP DUCを起動
- No-IPアカウントでログイン
- Password
- 「Sign In」をクリック
- 作成したホスト名(
myola.ddns.net)が表示される - チェックを入れて「Save」をクリック
DUCが自動的にIPアドレスを更新してくれます。
4.2 自動起動の設定
Windowsスタートアップに登録
- Windows + R キーを押す
shell:startupと入力してEnter- 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 の作成
パスワードファイルを生成します。
オンラインツールを使用(簡単)
- https://hostingcanada.org/htpasswd-generator/ にアクセス
- ユーザー名とパスワードを入力
- 生成されたテキストをコピー
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の常時稼働
電力設定
- Windows + I キーで設定を開く
- 「システム」→「電源とスリープ」
- 以下を設定:
- スリープ: なし
- ディスプレイの電源を切る: 10分
- 「電源の追加設定」をクリック
- 「プラン設定の編集」
- 「詳細な電源設定の変更」
- 「スリープ」→「次の時間が経過後スリープする」→ 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 定期メンテナンス
週次タスク
- ✅ PCの再起動(メモリリフレッシュ)
- ✅ Windowsアップデートの確認
- ✅ No-IP DUCの動作確認
月次タスク
- ✅ ナレッジデータのバックアップ
- ✅ ベクトルストアの再生成
- ✅ ログファイルの確認と削除
8.3 監視とアラート
死活監視サービス
UptimeRobot(無料)を使った監視:
- https://uptimerobot.com/ にアクセス
- アカウント作成
- 「Add New Monitor」をクリック
- 以下を設定:
- Monitor Type: HTTP(s)
- Friendly Name:
Ola-UI System - URL:
http://myola.ddns.net:8000 - Monitoring Interval: 5 minutes
- 「Create Monitor」をクリック
サーバーがダウンすると、メールで通知が届きます。
まとめ
本記事で学んだこと
✅ DDNSサービスの選定と登録
✅ ルーターのポート転送設定
✅ PHP内蔵サーバーの外部アクセス対応
✅ Windowsファイアウォールの設定
✅ DDNSクライアント(No-IP DUC)の設定
✅ 基本認証によるセキュリティ対策
✅ 運用のベストプラクティス
所要時間
- ⏱️ DDNS登録: 約10分
- ⏱️ ポート転送設定: 約15分
- ⏱️ PHPサーバー設定: 約10分
- ⏱️ セキュリティ設定: 約20分
- ⏱️ 動作確認: 約15分
- ⏱️ 合計: 約70分
次回予告
第7回: ネット越しアクセス(2)DDNS経由でHTTPS対応編
次回は、HTTPSを使った安全な通信と、Apache/Caddyを使った本格的なWebサーバー構築を解説します。
次回の内容
- Apacheのインストールと設定
- Let's Encryptで無料SSL証明書取得
- HTTPSの有効化
- Caddyによる自動HTTPS
- リバースプロキシ設定
お楽しみに!
参考リンク
著者: Ola-UI サポートチーム
公開日: 2026年1月29日
更新日: 2026年1月29日
カテゴリ: チュートリアル, ネットワーク, DDNS, リモートアクセス
💬 この記事への質問・コメント
この記事についてご質問やご意見がありましたら、以下までお気軽にお問い合わせください:
📧 Email: support@ola-ui.com
🐦 Twitter: @OlaUI_Official
💼 LinkedIn: Ola-UI
タグ
#OlaUI #DDNS #リモートアクセス #ポート転送 #セキュリティ #チュートリアル #ネットワーク