鶏口牛後な日々

心の赴くまま、やりたいことを仕事に。

(自分用)改めてVPS内にLaravelの環境構築してフロントと繋げてみる

以前AWSでテスト環境を構築してもらったwebサービスを、さくらのVPSに移管し、そもそもの中身を確認して不足を追加していけないかということを計画しています。

その過程で、開発がもう3年以上前のことになるので、環境構築で使っていたさまざまなモジュールもEOL(End Of Life)になってしまっていたりすることがわかりました。ということで、新たに自分のわかる範囲の技術を使って、動かす環境を構築しようとしてみます。

まず、背景の確認です。

元は、AWSのEC2内に、laradockを使って、テスト環境(開発内容の検収環境)として、別のエンジニアさんに頼んで作ってもらっていました。 ディレクトリ構成は上記の図のようになっていました。 フロントは、nuxt.js、バック(API)はLaravelです。


そして、前のエンジニアさんによる、大まかな開発環境構築の手順書は以下です。

つまり、dockerで必要なコンテナを立てて、API側はcomposerをインストール、フロント側はnpmをインストール、データベースにlaravelのコマンドでマイグレーションとシード(テストデータ)を入れ込んだら、ログイン画面見るところまでまでいけますよ、と。

docker-compose up -d nginx redis mailhog workspace mysql elasticsearch

というコマンドからして、nginxとかmysqlもコンテナとして立てていたようですが、今回はVPSの方でnginxを入れていますし、mysqlVPSにインストール済みなので、その辺りは、新たに追加は不要と考えます。

一方で、mailhog とかelasticsearch、redisのインストールが必要なようですが、これらは最初すっ飛ばしてもログイン画面見るところまでできるのではと考えていますが、最初から必要かもしれないし、Laravel側のconfigファイル等と睨めっこが必要かもしれません。 (情報が足りないので、更なる調べが必要だと思います)


そして、今現在のさくらのVPSの状況なのですが、

別で既にCentOSが入っていて、テスト開発中のようなAPIのサービスが走っています。(今現在使われておらず、ほとんどトランサクションはないのですが、サービス利用している企業が使う、といった状況が今後もある可能性があります) そこに、nginxでVHを追加して、今回のサービスのドメインを登録してあります。(index.phpまで見られることを確認しました)


というこで、今後やることとして、

①「ドメイン2」のサービスからアクセスできるmysqlを用意する。(「ドメイン1」で既にmysqlを使っているはずなので、そこに新しいデータベースを作る形でいいか認識しています)

②Laravelプロジェクトのconfigでデータベース接続情報をアップデートする。

③「ドメイン2」のディレクトリに、composerとnpmをインストールする

④laravelがインストールされて、APIが動いているかを確認する。(APIのテストツール等を通して)

VPSのnginxで見にいく先を設定する

⑥npm run等をして、「ドメイン2」を叩いてフロントのログインページが見られるかを確認する。


という流れだと考えています。

先長そう、心折れそう(笑) 3年前のシステムで、見られるのか、私でできるのか、もう作り直すしかないのだろうかとか色々ネガティブな気持ちも起きてきますが、とにかく前に進んでいく必要があるので、今しばらく格闘したいと思います!!