【AWSからの引っ越し3】コアサーバー用のmakeを作成してアップロード的な

おべんきょう
Screenshot

承前

sshだけで力尽きたやつ

というわけでssh接続ができたのでようやくアップロードに挑みます。

コアサーバーにアップロード

さてssh接続はできているっぽいので、おそらくrsyncとかのファイルアップロード的なこともできるのではないかと期待しています。

最終的にmakeとしてまとめていきたいので、順序としてはこんな感じ?

  1. コマンドの確認
  2. .envとmakeの作成
  3. 動作することを祈る

というわけで早速チャレンジしていきます。

1. コマンドの確認

こんな感じでできるってけーねGPTが言ってました。

rsync -avz -e "ssh -i ~/.ssh/id_rsa_corserver" ./build/ <ユーザー名>@<サーバーアドレス>:/path/to/public_html/

やってみました。

.
.

sent 9346895 bytes  received 386 bytes  983924.32 bytes/sec
total size is 11156546  speedup is 1.19

こんなメッセージとともに終了。
できたっぽい?

アップロードはされてそう

できてるっぽい。
cgi-binはいらないのですが残ってますね。
--deleteを入れれば同期されるっぽいです。

ついでに現時点での表示も見てみます。

SSL接続くん!?

なんか……なんですかね。なにかうまくいってないですね。
faviconとか。

トップページからせず直接URL打ち込むと404になるので、s3バケットでやった覚えのあるシングルページアプリケーションの何らかの何らかとかも必要そう。

ではあるのですが、とりあえずrsyncのコマンドはうまくいってるので先に進みます。

2. .envとmakeの作成

それっぽいところを.envに抜き出します。

#.env
SERVER_USER=アカウント名
SERVER_HOST=サーバー
SERVER_PATH=アップロード先のpublic_html
LOCAL_PATH=大体./build
SSH_KEY=秘密鍵ファイルの配置先
#Makefile
include .env
export $(shell sed 's/=.*//' .env)

sync:
    rsync -avz -e "ssh -i ${SSH_KEY}" --delete ${LOCAL_PATH}/ ${SERVER_USER}@${SERVER_HOST}:${SERVER_PATH}

まあ.envで隠すほどの情報でもない気はしますが、あんまりmakeに慣れてないので学習がてらに。

これで動くのかな?

makeを叩くと実行されたソースが表示されるので、それでちゃんと変数がセットできるのを確認できるようです。
おそらく問題なさそう。

3. 祈りの時間

というわけで、makeによるプロジェクトのデプロイ的なことは実現できたので細かいところを潰していきます。
さっき気になったところとしては以下なのでとりあえずそのへんをどうにか。

  • SSL
  • favicon
  • シングルページアプリケーション的な何か

SSLの設定

とりあえず検索したら出てきたんですけど、最初にSSL設定したときと同様に画面が違うので役に立ちませんね……。

しってた。
仕方ないのでどうにか設定を探します。

ありました。

ドメイン > SSL証明書設定 > 無料SSL証明書を取得の中になんかチェック項目がありました。
チェックして保存してみます。

できたケロ

できたのか?
前と同様に、サーバの証明書を使用を選択して保存してみます。
一応成功的なメッセージが出てきましたが果たしてどうなるか。

favicon

どうするんでしょう。

……と思っていたんですが、SSL証明書が効いたタイミングでfaviconも反映されていました。

index.htmlで以下のように読み込もうとしていたのが無視されていただけのようです。

    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />

ほなこれはオッケーということで。

SPAについて

さて、SSLが効いたところで改めてリロードしてみると当然ながら404と言われます。

ですよねー

うーん……次回でええか……

というわけで

また逃げます。
ワンポストワンイシューということでひとつ。
いやワンではないか、サーバーにアップロードできたしmakeファイルも作れたし、SSL設定もできたし。

それにしても問題が多すぎるんですよね。
そこを全部マスクしてくれてたAWSって本当に優秀ですね!(男の人っていつもそうですねのノリ)となっています。
とはいえ、裏側で何がされているのかとか何が必要なのかを知るのも必要だと言い聞かせて粛々と進めていきたいところ。

AWSだけだとなんでこんなことをしているのかもわからずになんとかできてしまったり、何もわからないまま進めてしまっていたので。
実際いい勉強になっている気はします。

とりあえず今回いちばんの成果はSSL設定の解説記事の罠をかいくぐって設定できたってことでどうでしょうか。

コメント

タイトルとURLをコピーしました