🤯

ConoHa VPSでwebサーバたてた!

2022/07/26に公開

この度、ConoHaVPSで初めて個人的なWebサーバを建てました。
インターネットに公開できるまで紆余曲折あったので、備忘録的にここでアウトプットさせてください。
色々なことを経てこの世のwebサーバはできてるんだな....

環境

ConoHa VPS VPS割引きっぷ

  • メモリ1GB,2core

公開したいもの

  • Laravel, Vue
  • Laravel Sail(Docker)を使用した環境

流れ

  1. Laravelで開発
  2. ConoHaVPSでサーバを立てる
  3. ドメイン設定
  4. SSL設定してhttps通信できるように

問題

何箇所か詰まりました。
つらつらと書いていきます。

プリセットサーバどれ選ぶ問題

まず、ConoHaVPSで選択できるプリセットサーバが多いこと多いこと。(悪い意味じゃないよ!)
OS単位だとこんな感じ。

アプリケーション単位でも選べる。

これがまた快適で、例えばVPSの上位モデルを選べばARKやRustなどゲーム用のサーバを何も考えずに立てることができる。ゲームサーバは構築で半日〜1日費やして結局やろうとした当日できないことなんてざらにあるので、プリセットがあると楽です。

と、こんな感じでOSやらアプリケーションの選択肢が多いので今回みたいな用途だとDockerを選ぶべきなのか、Laravelを選ぶべきなのか、はたまたOSだけ選んだ方がいいのか悩みます。

試行錯誤

今回はプリセットをDockerにすると決意したので、意地でもNginxやApahce2といったwebサーバを積みたくなかったという謎のこだわりで、1日潰しました。(ConoHaは悪くないよ!)

  • SailにNginxのコンテナを作ってみる
    サブドメインに対応できない
  • VPSをLaravelのプリセットにしてホストで動かすようにしてみたり
    laravel用のDBをホストで用意しなきゃいけないので大変
  • OSだけにして全部自分で用意してみたり
    結局Dockerのプリセットにすればいい

色々試行錯誤しました。
楽をしたい気持ちでやったのに結局楽できてないです。

結局

DockerのプリセットにNginx入れました。
SailにNginxのコンテナを追加すれば一応できます。しかし、前述したようにサブドメインに対応するためには、ホスト側でリクエストを理解して捌かないのといけないので、Nginx君にドメインの時はこっち、サブドメインの時はあっちというふうに案内係をしてもらってます。(この辺の知見も得たのでいつか別記事で。)

さらに、SSL自体の理解も低かったので、https通信には何が必要でどういう条件がわからなかった(調べても明確な情報がなかった)ので時間かかりました。

SSL設定大変問題

上の問題と絡みます。
サブドメインも対応したい気持ちでいっぱいだったので、どうにか上手いことできないかなってやってました。
あと、サブドメインも別途SSLを用意しなくてはいけなく、最初は大変でした。
慣れれば簡単です。今は5分でできます。
しかも、ConoHaVPSのVPS割引きっぷだと、アルファSSLが無料で利用できます。

まとめ

書いたら問題はそんなに多くなかったですね。解決方法が数多ある中で何を選択するかという話でした。
プログラミングだけじゃなくて、たまにはインフラも楽しいぞ。

あ、ConoHaの回し者じゃないです。

Discussion