2023年02月08日
前回の記事からいろいろ作ったり消したりとGoogle Cloudで遊んでいたら、なぜかやたら課金されていたのでなんでなんだろうと調べてたらLaravelでいろいろやってる間がなくなってました。
もしかして記事の内容にも問題あるのでは?と必死だったのですが、結論で言うと基本的なやり方自体は問題なしでした。
静的IPアドレスが課金されてました。さらに言うと、いろいろ試すのに何回かインスタンスを作ったり消したりした時に、そのインスタンス内で作成した静的IPアドレスを別で消していなかったためにそれに対して課金されていたみたいです。
どうやって調べたかというと、メニューのお支払いのレポートでグループ条件をSKUにします。するとグラフが図のような表示になるのですが、そこに明細がでてきます。
Static IP Chargeというのが静的IPアドレスです。これがインスタンスを作成するたびに増えてたからなんで課金されているんだろうとインスタンスを再作成すればするほど金額が上がっていました笑
それを解消してからは他の項目も課金されはするものの、その日のうちにマイナスされて0円になってました。
なので前回の記事にあったようなSSL化しようとすると、必ず固定のIPアドレスが必要になってくるのでこれは無料ではできないってことですかね。
いろいろ調べていたら稼働中のインスタンスであれば静的IPアドレス課金されないって記事もあったのですが、変更があって課金されるという記事もありました。
アプリケーションができたらIPアドレス取りましょう。
スポンサーリンク①インスタンス作成→②OSを最新のubuntuに→③nginxインストール→④phpインストール→⑤Composerインストール→⑥Laravelインストール→⑦プロジェクト作成→公開
の流れです。長い道のり…
①〜③は無難に終わりました。SSLがない状態なのでhttpでのみのアクセスでたぶん毎日IPが変わってるのかな?
④その後Laravelインストールにあたってphpのバージョンを確認しようとphp -v
のコマンドを打ったところ、phpがないと言われたのでエラーに書いてある通り、$ sudo apt install php7.4-cli
でphpをインストール。
⑤次にLaravelをインストールするためにComposerのバージョンを調べたら、Composerがないと言われたのでこれまた書いてある通り$ sudo apt install composer
でComposerをインストール。
しようとしたら何回やってもエラー。調べてみるとubuntuのaptコマンドでいろいろできる一覧が古いから更新しないといけないみたいです。$ apt update
で更新した後に再度Composerをインストール。今度はできました。
⑥Composer経由でLaravelインストール。$ composer global require laravel/installer
でLaravelをインストールします。これはすんなり成功。
⑦プロジェクトの作成場所なのですが、ずっと公開ディレクトリに作らないといけないと思っていたのですが、初期ディレクトリに作成してプロジェクトの公開用のディレクトリ(Public)のエイリアスみたいなのを公開ディレクトリに作ると公開できるみたいです。まぁそりゃそうか…
なのでユーザーディレクトリにreportというディレクトリを作成して(日報のアプリを作りたいから)、そこにプロジェクト作成のコマンド$ composer create-project laravel/laravel report
を入力してプロジェクト作成!
見事できました…感無量。今までの記事で復習しながらやりました。書いといてよかった…。
できたプロジェクトのディレクトリに移動してバージョンを確認するためにLaravelのコマンド$ php artisan -Vを入力したところ…
なにこれ…プロジェクトで必要ななんらかのファイルがなくてエラー出ました。ここまで来たのに…
調べてみると、Composerのアップデートをするといけるみたい?書いてあるがままにやってみます。
エラーではないけど何か警告文?そして処理がずっと止まってるというか遅い?
Your requirements could not be resolved to an installable set of packages.
なんか出た…調べると、
PHPのcurl拡張が有効でないため、Composeが通常より遅くなると言われているので、PHPのcurl拡張をインストールします。
とのこと。これまた言われるがままにapt install php-curl
を入力。すんなりできました。
今度は警告文みたいなのはでないけどまた赤いエラーがでましたね。
Problem 1
- phpunit/phpunit[9.5.10, ..., 9.6.x-dev] require ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.
- Root composer.json requires phpunit/phpunit ^9.5.10 -> satisfiable by phpunit/phpunit[9.5.10, ..., 9.6.x-dev].
問題点のところを見てみると、PHP’s dom extensionというのを入れろとかなんとか。調べると
sudo apt-get install php7.2-dom
これでインストールできるみたい。今回はphp7.4なので7.4にしましょう。いけた。
改めてComposerをアップデートしてみると今度はいけました。戻りに戻ってLaravelのプロジェクトのバージョンを確認すると…
できました!ふぅ。
次回はlaravelのプロジェクトを編集しながら実行環境で確認したいので、公開ディレクトリでLaravelでつくったアプリを動かせるようにしていこうと思います。
先はまだ長い…
お仕事のご依頼やご相談、弊社サービス内容に関してなど、お気軽にご相談ください。