XserverのDifyをサブドメイン使ってエラー出しながら構築できたお話

こんにちは。野球好きのりまきです。
野球は自主トレが始まってきたので、XのPOSTでチラホラ選手の写真があがるようになってきて、うれしい限りです。

やりたいことが出来たので、Difyをサーバ上で動かしたいなと構築しました。
なぜか不具合に当たる確率がメチャクチャ高くて、何コレ？と公式に載っていない画面にもぶち当たりながらも、なんとか構築できたお話です。

ポンコツの非エンジニアのアタリ悪い話なので、エンジニアの方はそっ閉じしてください。
もしくは、周りのポンコツかもしれない人にそっと教えてあげてください。

情報は現地点(2025/01/11)のお話です。

![image.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/e726211a-cca9-363c-7752-11a5a9f3547d.jpeg)

## はじめに
XserverVPSがDify構築しようと思ったのは、このプランがあったからです。

https://vps.xserver.ne.jp/dify.php

>VPSのお申し込み完了と同時にアプリイメージ「Dify」を自動でインストールすることができます。
>サーバーの設定や環境構築の手間が省けるので、初心者の方でもすぐにAIアプリの開発を始めることができます。

ご想像とおり、10分で私はできませんでした。まさかの年越しをしました。
ただ、構築するハードルが低いに限ったことはありません。

公式のサイトを参考にして進めました。詳しく書いてくれています。

https://vps.xserver.ne.jp/support/manual/man_server_app_use_dify.php

## XserverVPSを申し込む
XserverVPSを申し込みます。

私はXserverサーバも使ってるので、アカウントを持ってますが、初めての方はXserverアカウント作成から進めてください。

Difyを使用するには**4Gプラン以上**になります。
費用だけみて2Gをポチリかけましたが、説明を読み直してよかった。
試行錯誤していろいろと使うので1年で契約しました。
1か月から契約できるので、ご自身が必要な期間契約してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/e3fa076b-debf-4539-acd4-8722dceb89b3.png)


「イメージタイプ」の「アプリケーション」タブを選択し、「他のアプリケーションを表示する」をクリックします。Difyを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/1e45c042-56da-cd19-9144-ce2653c7a172.png)


ここまでは困らないのですが、OSは自動的に選ばれてるワケです。
デフォルトだと「Ubuntu」が選ばれてます。これでいいか不安になったので、エンジニアの師匠に問い合わわせました。
「Ubuntuは割と幅広く使われているので、つまったときに調べやすさがよい！」という事だったので、このままGO!

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/f77b1b03-da97-2e8b-8cc5-3c6f4b6a197c.png)


rootパスワードを設定します。
**※忘れないように必ずメモをとってください！**
忘れるとOSを再インストールしなくてはいけません。ええ。再インストールしましたけどなにか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/f157eaf3-aaf0-653d-e5d5-fe293a2a9e09.png)

SSHキーも作成しておきました。
ダウンロードして保存！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/d3d91c6f-8ea3-16d5-4afd-007a78d2907b.png)

続けてお支払い。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/f67db0c7-30e4-9530-f7ac-a662c2e4b992.png)

支払いが完了すると、VPS画面管理画面が表示されます。すでに起動もしています。
「VPS管理」ボタンを押して管理画面にはいります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/2937a721-37e9-0fa0-c2ec-30e94115534d.png)

VPS情報が確認できます。
アプリケーションに「Dify」と表示されているので、Difyはインストールされています！
ヒャッホー！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/be1455ca-5faf-754c-649d-b027304f7cb7.png)

## 問題1：サブドメインで構築したい

さて問題です。
マニュアルには「ドメインを設定してDNSのAレコードを設定する」と書いている。

私はドメイン持ってるので、増やしたくないのでサブドメインで設定したいのである。

だがしかし！！

右上の「ドメインの追加」をクリックしても、サブドメインははじかれてしまうのだ・・・
ちなみにサブドメインのAレコードには今回のサーバのIPアドレスは設定済。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/1c45defe-e2de-b898-ee6a-3c7a16ea8b00.png)


個人的な罠だと思ったのは、**ここに何かしら表示されなくてはいけないのではないか！！**

というポンコツ非エンジニアは不安に思うのだ。
何度も何度もチャレンジしたけど進まない。焦る。

ちなみにですが、**Xserverのサポートは神**です。
レンサバで困ったときに毎回連絡して神サポートもらってます！！
困ったらサポート！本当に毎回丁寧に教えてくれる。どんなくだらないことも丁寧に教えてくれる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/ea21f087-66ab-573a-7cd1-610e4f244b6d.png)

サブドメインを登録しようとしたらエラーがでます。サブドメインの「.」がアカンのです！

年の暮れにサポートに連絡したけど、DNS設定でしてね！と返事か来た。
やってるんだよ！！！
解決しない・・・

年をまたいで再度連絡。年末年始くらいサポートさんには休んで欲しいから我慢した自分をたたえたい。

すべてをXserverに任せていてよかった。
私のアカウントから全部確認してくれた。DNS設定には何も表示されなくていいらしい。

結局、私の設定があっていた。
サブドメインのＡレコードにIPアドレス設定したらおしまい。
フンガフフである。年末にできてたじゃないか！！

ブラウザでサブアドレス開いても何も表示されなかったから不安になったんだ。
そらそうだ。サーバ借りただけだもの。みつを。

#### サブドメインはDNSに何も表示されません！

作成したサブドメインのAレコードに設定したらOK！次に進もう！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/a4f89401-7e87-fc87-6e7f-569c980dd363.png)

## サーバの設定をしよう

公式サイトを見ながらすすめます。

https://vps.xserver.ne.jp/support/manual/man_server_app_use_dify.php#domain-mail

VPSの管理画面から「VPS管理」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/be444e3a-7d58-4513-6e36-87f1adf67b5c.png)

左メニューの「パケットフィルター設定」をクリックします。
「OFFにする」にチェツクを入れて「変更する」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/c6badfc8-505a-2d4b-336c-d75c19cfe417.png)

### コンソールで作業する

コンソール。それは黒い画面だ。
非エンジニアたちがこぞって怖がる画面だ。分かる。私も苦手だ。
でも進めなくてはいけない。
お手元にTeraTermとかある方は、そっち使った方が便利かもしれません。


大事だから２回いいます。
**Xserverのコンソールはコピペできません！**
もっかい言います。**Xserverのコンソールはコピペできません！！**
ついでに入力もしにくいです。個人的には使いにくいのでXserverさんには改善してもらいたいです。

苦戦したので、TeraTermでやろうと思ったら、まさかのTeraTermで接続できなくてXserverのコンソールで実行しました。

SSH接続も公式にあるので貼っておきます。

https://vps.xserver.ne.jp/support/manual/man_server_ssh_connect.php

では進めます。「コンソール」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/5fcf876d-84a1-5606-61a3-f85766cf33e0.png)

黒い画面が表示されました。
longinは「root」と入力してエンター
Passworsは「VPS申込時に設定したrootパスワード」を入力してエンター
注意しないといけないのは、**パスワードは入力してもカーソルはまったく動きません！**
でも入力はされているので、正しいパスワードであれば次のステップに進みます。
正しくなければ、Enerを押しても、ひたすらrootを入力しなくてはいけません。
**パスワードが違います　とか親切に教えてはくれません。**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/90e99871-21e8-bfc8-706b-6da3976a97ae.png)

さて、私はメモっていたにも関わらず、延々とrootを繰り返して入力する時間が過ぎます。
コピペできないからだと思って、TeraTermでも試しましたが、前述の通りログインできなくてコンソールに戻る。

もはやパスワードが違うと思って、OS再インストールしました。
そう。まだサーバ内に何も入ってないから、再インストールしたい放題だぜ！
（この後サーバ再起動は3回はしました。後述します）

## OSの再イントールをする

再イントールの方法はカンタンです。
まずはサーバをシャットダウンします。
「電源操作」をクリックして「シャットダウン」をクリックします。

数秒待ちます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/22091492-3d53-fbe8-a912-b14e044103ee.png)

シャットダウンを確認して、左の「OS再インストール」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/9dc86abd-5232-d726-5d0d-c6bc39bc806b.png)

再インストールの際にパスワードを設定しますので、**必ず、必ずメモしてください！！**
そして後でコンソールで入力しますので、自分が入力しやすい出鱈目な文字を設定してください。

再インストール完了後、コンソール画面に戻ります。

## 問題2：異なる画面
rootで無事にはいれると、画面に文字が表示されます。

その後、以下のコードを入力します。

`` setup.sh <ドメイン> <メールアドレス>`` 

ドメインはご自身でご準備したドメイン。私の場合はサブドメインになります。
メールアドレスレは証明書取得用のメールアドレスです。管理できるアドレスが好ましいです。

ここまでは無事にできました。

問題はここからです！

Xserverのマニュアルはこう書いてます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/d18adb5e-c9dd-b5be-92ee-135b30a456de.png)

私がこの後みた画面はコレです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/239af8e5-ce7f-e067-eb37-233aef9da935.png)

画面がまったく違います。

そしてこの画面はこうなります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/402845d7-fe97-cd85-dca9-26c66149534d.png)

Kernelのアップグレード画面。
しかも文字化けしている箇所がある。

怖いよ、怖いよ。
何だコレ！

あ、なんか間違ったな・・・と思ったワケですよ。

そうだ！再インストールしよう！

こんなに気軽に再インストールをしていいのかは謎ですが、何も設定していないからこそ、ためらいなくできました。

結局このKernelの画面ににたどり着くんですよ。このまま進むしかないなぁと思って
何も考えずにEnter　次の画面も　Enter　
ちなみに次の画面のスクショ取るのわすれました。でも同じような紫の画面。

するとすると！進みました！
ひゃっほー！
~~※ただし、合ってるか合っていないか謎すぎるのでサポートに連絡中。連休後に連絡あるはず。~~ 

【追記】
**Xserverサポートからの回答**-----------------------------------------------------
「Pending kernel upgrade」という表示であれば、セットアップ時にパッケージアップデートも同時に実行されたことにより、Kernelがアップデートされたことを示すものとなります。

特に問題が発生している状況ではございませんので、そのままエンターを押下して進めていただいた問題ないものでございます。
**-------------------------------------------------------------------------------
やっと公式マニュアルと同じ画面が見えました！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/3856f230-ff81-c45e-ca55-432fdfb5a279.png)

「Ｙ」を入力してEnter

ダウンロードが始まり、セットアップ完了！！

ちなみに「セットアップが完了しました」とか表示されません。
終わったかな？と思ったら、URLにアクセスします！

## Difyを設定する！

もうね、URLたたいてこの画面見た時は泣いた。
ひゃっほー！！と叫んだ！

家の中心で出来たと叫ぶ　映画化待ったなし。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/295bafdf-7f39-15ad-7f05-cf04c3b8d852.png)

なんでかコレも公式マニュアルのように「管理アカウントの設定」と表示されない。
もうここまで来たら心は折れない。

画面下部の小さい字「管理アカウントの設定」をクリックするのだ！
元々Difyをブラウザとかで使ってる人はご自身のアカウントでログインしてもいいのかも。
私は会社用とプライベートと分けたいのでアカウント作りました。

メールアドレスとパスワードを入力してサインイン！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/3b1aee65-b14d-210d-1482-b933a4b21922.png)


無事にDify構築できました🙌

長かったよ。ホンマ。
年末から始めて、昨日だからね。出来たの。

サブドメイン問題と、Kernel問題はググっても出てこないから記事にしてみました。

困った人に届くといいなぁ

## SSL更新についての追記
Xseverから以下の案内がありました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784193/886b66b3-e799-2c69-9b5d-bf8944cf3233.png)

証明書を自動更新してくれるらしいので、Difyを再インストールした。
まあ、またここでキレイにはまるのが私だ。

なんのために、この記事を書いているのだろうか。
この記事を見ながら再インストールしたのに。OSの再インストールを何回したのか・・・と思って泣いた。

rootは問題なかった。
その後の証明書の「setup.sh」のドメインとメールアドレスでひっかかる。
何度も何度もひっかかる。
ドメインもメールアドレスもあってる。
エラーは残念ながら文字化けして何書いてるのか分からない。
何度も繰り返して心が折れたので、Tera Termに再チャレンジした。
今回は無事にサーバにアクセスできた。

今回のエラーは
「setup.sh: コマンドが見つかりません」

ChatGPTにきいてみました。
``
3. シェルスクリプトの実行方法が間違っている
もしスクリプトに実行権限がない、または #!/bin/bash の指定がない場合、以下のように bash または sh を使って実行できます。
``
とのことでしたので

``
bash/setup.sh ドメイン　メールアドレス
``

無事にとおりました。

エラーの文字化けだけは本当に、切に直して欲しい。
エラーが分からないと対策のしようがない。
Xserverさん、お願いします！