2021年09月26日
_ [computer] Google Cloud でtDiary
先月だったか、GCP(今はGoogle Cloudと言うらしい)の無料期間終了の連絡が来ました。
以前、グーグルクラウド上で、仮想コンピュータ(GCE)を無料で立ち上げられると何処かの記事で見まして、早速やってみたのでした。ネット上の情報を元に、何とか永続的無料の範囲でHPを立ち上げるまでやって、そのままにしてありましたが、これを機会にまた少し遊んでみました。
最近本屋さんで、「Google Cloud」と言う、最近出たばかりの本を見つけまして購入、ざっと読んでみたのもあります。GCPなんかは、1年でかなり変わってしまうみたいなので、兎に角「新しい情報」と言う事がまず大事ですね。(以前は「GCPの教科書」と言うのを買っていましたが)
現状、まだ仮想マシンのGCEしか使っていないのですが、その他にも色々なサービスが有るのに驚きです。しかし仕事で使うならまだしも、趣味でHP立てる位なので、せいぜいGCEであとGAPもまた試してみようかな、、って所ですが。
さて、1年間の無料期間終了と言っても、永続的無料範囲でしたらそう問題はありません。GCEの無料範囲も、以前はf1-microでしたが、最近の情報に依れば、もう少し高性能なe2-microまで大丈夫らしいです。
その検証もかねて、またGCEを立ち上げてみました。以前のプロジェクトのVMインスタンスは削除して、新しいプロジェクトで新しいインスタンスを作りました。
_ (1)GCEでVMインスタンス作成
ゾーンはus-central1-a、マシンはe2-micro、HDDは30G、今回はファイヤーウォールでhttpとhttpsにトラフィック許可のチェックを入れておきます。OSは、何か先行きが不安ですが、HP移設で使用して慣れている(解説本も何冊か買った)CentOS8を再び選びました。
このVMインスタンスを作る時、右に課金予測が出て来まして、びびりました。e2-microは無料範囲と言う情報でしたが、結構な金額が出て来ます。規定が改変された可能性もありますし、そもそもグーグルの説明読んでも良く分かりません。それで、この状態で1日ほど置いてみました。
暫くして見てみますと、9円ほど課金されています。課金内容を表示できるので見てみますと、どうやらディスク容量に課金されています。立ち上げの時、何も考えずに容量だけ30と指定したのですが、デフォルトが「標準の永続ディスク」でなかったのに気がつかなかった様です。マシンタイプのe2-microその他は、マイナス計上があり相殺されていました。
それで、そのインスタンスは削除して、新たに立ち上げ直します。今回はキチンと「標準の永続ディスク」を選択しました。それ以降は、今の所、新たに課金が増える事は無い様なので、一安心です。
マシンへの接続は、GCEのページのsshの所から簡単にできますが、Google Cloud SDKのgcloudコマンドで、ssh接続する事にします。ネット上の各HPでは、キーを生成して登録して、、って方法を紹介してくれていて、前回は私もそうしたのですが、慣れない事も有りまして、結構手間取ったので、面倒の無さそうなgcloudからにしました。
何時ものように、検索してやり方も教えてもらいます。所が、その見た情報が古いせいか、最初は、仮想マシンが見つからないとのエラーでした。結局オプションなどを調べて、ゾーンとプロジェクトIDを指定すれば繋がりました。
>gcloud compute ssh (名前) --zone us-central1-a --project (プロジェクトID)
後で気がついたのですが、GCEのページでの「接続」の欄で、SSHの隣の下向き三角のメニューの下の方に、「gcloudコマンドを表示」ってありまして、ここを押すと上記のコマンドが表示されます。何時も、一番上のしか使わないので、気がつきませんでした。
とりあえずOSのアップデート、それからapacheその他の開発環境をインストールして、httpdを立ち上げて、HPが見られるようになりました。これは、以前もやった事なので、すぐ終わりました。
前回は、GCEのページの「外部IP」をクリックしてアクセスしまして、でもHPが表示できないと暫く悩んだものでした。ここを押すとhttpsになるので、httpに変えてあげればOKです。
_ (2)tDiaryのインストール
ここまでは前回もやったので、今度は、tDiaryもインストールしてみました。
久々にtDiaryのHPを見ますと、アップデートがありました。以前から無くなって繋がらないページとか沢山有って、もう終わりかしら、と思っていたので意外です。最新の物をダウンロードしまして、GCEのマシンに送ります。
データの送り方は、昔からftpでした。しかし、以前のGCEでは、色々やってみても結局ftpが繋がらなくて、諦めてしまった記憶が有ります。それで今回はハナからftp使用は諦めて、gcloudコマンドのscpでと思っていましたが、その時ブラウザウィンドでのssh接続で、メニューからファイルを転送できる事がわかり、こちらが楽なので、これで送りました。
CentOS8にtDiaryをインストールするのは、以前けっこう苦労しながらもやっと出来て、それを忘れないようにこの備忘録に書きましたので、自分の記録を参照にインストールです。
自身の記録の通り進めて、表示させて見ますと、、エラー表示です。短いテスト用のrubyプログラムを書いて試してみましたが、こちらは問題無く表示できました。
そこでエラーの内容を見てみますと、"require"で"bundler"などが無いと言っています。rubyは一時期すこし勉強して、当時顧客管理などのプログラムも書きましたが、それ以上の事は当然私などには、意味不明。仕方ないので、素直にエラーを検索すると、あるHPにbundlerインストールとして、
$ sudo gem install bundler
という一文を発見しました。で、この"gem"って何だろう、そもそも"bundler"って何か全く知識がありません。検索で出てくる文を見ていますとrubyとrails関連みたいです。色々見ていると、"gem"や"bundler"などは、その方面では知ってて当然のお馴染みさんみたいです。詳しく調べてみるのも良いのでしょうが、今後開発としてはrubyも使う事はないと思うので、そんなもんが有るんだ、位にしておきます。
これで少しは進んだ様ですが、また (Bundler::GemNotFound)と言うエラーが出ていて、分かりませんが色々なモジュールみたいなのが足りないみたいです。また、検索して、教えてもらった通り、
$ cd /home/xiphio/public_html/diary
$ bundle install
とやると、やっと動きました。インストールする時は"bundler"なのに、使う時は"bundle"なんですか、、
つい1年程前、それも同じOS上で問題無く出来た事が、各ソフトのバージョンアップの為だと思うのですが、素直に行かなくなってしまいますね。それだけ変化が激しいと言う事かと、、
ちなみに、前回上手くいったSELinux有効の元でのtDiary作動ですが、こちらも同じ手法では動かなくなりました。SELinuxはあまり好きでは無いので、これ以上試行錯誤しないで、素直に無効にしたままのつもりです。
長らくレンタルサーバを借りていて、一年少し前に新しい物に変えてHPも移行したのですが、クラウド上のGCPにすれは良かった様な気がします。