本ガイドは Linux サーバー(CentOS, Ubuntu, OpenCloudOS など)を対象としています。 #
📋 目次 #
- 環境準備:ユーザー作成と Node.js のインストール
- Discord 設定:Bot の申請とトークンの取得
- OpenClaw 設定:ホワイトリストと ID
- プロセス管理:バックグラウンドで 24 時間稼働させる
- よくある質問とトラブルシューティング (FAQ)
第 1 段階:環境準備 #
1. ユーザーの作成と権限付与 #
root ユーザーでサーバーにログインし、以下を実行します:
# 1. ユーザーを作成する(名前は自由に、例えば 'kyoyarn')
useradd -m kyoyarn
# 2. パスワードを設定する(passwd + ユーザー名、パスワードは2回入力)
passwd kyoyarn
# 3. 管理者権限を付与する(kyoyarn を自分のユーザー名に置き換えてください)
# 注意:CentOS/OpenCloudOS は通常 wheel グループ、Ubuntu は sudo グループを使用
usermod -aG wheel kyoyarn
# "group 'wheel' does not exist" エラーが出る場合は: usermod -aG sudo kyoyarn
2. Node.js (v18+) のインストール #
OpenClaw には Node.js 環境が必要です。 (サーバーに既に Node.js v18 以上がインストールされている場合は、このステップをスキップできます)
# 新しいユーザーに切り替えて操作する(kyoyarn を自分のユーザー名に置き換えてください)
su - kyoyarn
# NVM を使って Node.js をインストールする(最も安定した方法)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 環境変数を再読み込みする
source ~/.bashrc
# Node v20 をインストールして使用する
nvm install 20
nvm use 20
# インストールを確認する
node -v # v20.x.x と表示されるはず
3. OpenClaw のインストール #
# OpenClaw をグローバルにインストールする
npm install -g openclaw@latest
# 設定ディレクトリを作成する
mkdir -p ~/.openclaw
# インストールを確認する
openclaw --version
第 2 段階:Discord の設定 #
1. アプリケーションの作成 #
- Discord Developer Portal にログインします。
- 右上の New Application をクリックし、名前を付けます(例:
MyOpenClaw)。 - 左メニューの Bot をクリックし、Reset Token をクリックします。
- 👉 トークンをすぐにコピーして保存してください(ページを閉じると二度と表示されません)。
2. 特権インテントの有効化(重要なステップ) #
Bot ページを下にスクロールし、Privileged Gateway Intents で以下の 3 つを有効にします:
- ✅ Presence Intent
- ✅ Server Members Intent
- ✅ Message Content Intent(これを有効にしないと Bot はメッセージを読めません)
- Save Changes をクリックします。
3. 招待リンクの生成 #
-
左メニューの OAuth2 -> URL Generator をクリックします。
-
Scopes で
botにチェックを入れます。
-
Bot Permissions で必要な権限にチェックを入れます。以下は必須です:
Read Messages/View ChannelsSend MessagesRead Message History
- 生成された URL をコピーし、ブラウザで開いて Bot をサーバーに追加します。
第 3 段階:OpenClaw の設定 #
1. ID の取得(開発者モードの有効化が必要) #
Discord の設定 -> Advanced -> Developer Mode を有効にします。
- Guild ID(サーバー ID):左側のサーバーアイコンを右クリック -> Copy Server ID。
- Channel ID(チャンネル ID):Bot と対話するチャンネルを右クリック -> Copy Channel ID。
2. 設定ファイルの作成 #
nano で設定ファイルを編集します:
nano ~/.openclaw/openclaw.json
以下の内容をコピーして修正します(トークンと ID を必ず置き換えてください):
{
"channels": {
"discord": {
"enabled": true,
"token": "あなたの_DISCORD_トークンをここに貼り付け",
"groupPolicy": "allowlist",
"guilds": {
"あなたの_サーバーIDをここに貼り付け": {
"channels": {
"あなたの_チャンネルIDをここに貼り付け": {
"allow": true
}
}
}
}
}
},
"gateway": {
// http://サーバーIP:4000 でコンソールにアクセスできるようにする
"bind": "0.0.0.0"
}
}
Ctrl + O を押して Enter で保存、Ctrl + X で終了。
3. 初期テスト #
バックグラウンドサービスを起動する前に、まず手動で実行して動作を確認します:
openclaw gateway
- ログに
Gateway connectedと表示されるか確認します。 - Discord で
helloと送信し、Bot が返信するか確認します。 - テスト成功後、
Ctrl + Cで停止します。
第 4 段階:プロセス管理(バックグラウンド実行) #
Systemd を使ってサービスを管理し、SSH 切断後もプログラムが稼働し続け、起動時に自動開始するようにします。
1. ユーザー Linger の有効化 #
ユーザーのログアウト後にプロセスが終了するのを防ぎます。
# kyoyarn ユーザーであることを確認してください
loginctl enable-linger $(whoami)
2. ランタイムディレクトリ変数の設定 #
export XDG_RUNTIME_DIR=/run/user/$(id -u)
(次回のログイン時にも有効になるよう、~/.bashrc の末尾にこの行を追加することをお勧めします)
3. サービスの登録と起動 #
# 1. サービスをインストールする
openclaw daemon install
# 2. サービスを起動する
openclaw daemon start
# 3. ステータスを確認する
openclaw daemon status
緑色の Active: active (running) が表示されれば完了です!🎉
第 5 段階:よくある質問とトラブルシューティング (FAQ) #
Q1: Discord が “Agent failed… permission denied /root/…” と返す #
原因:移行後の典型的な問題です。kyoyarn ユーザーでログインしていても、設定ファイルに /root のパスが残っています。
解決方法:
以下のコマンドで全設定ファイルのパスを一括置換します:
find ~/.openclaw -type f -exec sed -i "s|/root/.openclaw|/home/$(whoami)/.openclaw|g" {} +
# 置換後は再起動を忘れずに
openclaw daemon restart
Q2: Bot はオンラインだが、メッセージに全く反応しない(ログも静か) #
原因:通常、Discord Developer Portal で Message Content Intent が有効になっていないことが原因です。 解決方法:Discord Developer Portal -> Bot -> Message Content Intent を有効にする -> Save Changes。
Q3: “This channel is not allowed” エラーが出る #
原因:ホワイトリストが有効ですが、現在のチャンネル ID が openclaw.json に記載されていません。
解決方法:現在のチャンネル ID を右クリックでコピーし、設定ファイルに追加してから openclaw daemon restart を実行します。
Q4: リアルタイムのエラーログを確認するには? #
コマンド:
journalctl --user -u openclaw -f
(Ctrl + C で終了)
Q5: 完全に停止または再起動するには? #
- 再起動(設定変更後):
openclaw daemon restart - 停止(メンテナンス時):
openclaw daemon stop