学習66日目:AWSでWordPressの立ち上げまで完了。

今日の学習時間。

  • Day:66
  • Today:8h
  • Total:396h

学習内容について。

    • Amazon Web Services 基礎からのネットワーク&サーバー構築
    • Docker/Kubernetes 実践コンテナ開発入門

AWSでWordPressの初期設定まで完了。

昨日までにほとんどの構築作業は終わったので今日は以下の作業だけでした。

AWSでしたこと
  • DBサーバーにMariaDBをインストール
  • WebサーバーにWordPressをインストール
  • WordPressの設定

WordPressでお馴染みのトップページです。サーバー上で何かしようと思えば、基本的にターミナル上で様々なコマンドを実行する必要があります。プログラミングを始めた頃はターミナルを開くとおどろおどろしい感じがしたものですが、ようやく慣れてきました。ちょっとタイプミスしてもまたやり直せば良いだけですからね。一番厄介なのがコマンドは合っているのに操作自体が間違えていることで、CGI(キャラクタ・ユーザ・インターフェイス)では元の状態に戻すのも慣れていないと大変だったりします。

こちらが今回構築したAWSの設計書になります。

Cacooというワイヤーフレームなどの設計書作成に特化したツールを使用しました。こういったツールは他にもMockFlowとかありますが、正直どれが良いのかはよくわからないのでそれぞれ無料期間だけ使ってみる予定です。

初めはエディタが思ったように動かなくてイライラしましたが、使いながら操作方法を覚えました。AWSだけでもたくさんのアイコンがあって目的のものを探すのにも一苦労です(後で検索機能に気づいた)。こういった作業は楽しくて全然苦にならないんですよね。設計書の見栄えを良くするために本末転倒ですがもっと豊富な機能を付けたいと思うぐらいです。

GitHubにpushしようとしたら謎のエラーが。。

AWSが終わった後は以前放置していたアプリをGitHubにpushしようと試みました。しかし、AWSで構築しているときにSSHの設定が変わったのかこのようなエラーが発生。

$ git push origin master

fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

意味が分からなかったのでQiitaで調べたら似たような症状を解決した記事がヒットしました(下記)。

GitHubに公開鍵を登録したのは良いけど、vimコマンドを実行するところで気付きました。このパソコンにはvimがインストールされていないことを。まぁ、使う機会があれば入れようかなと思っていたので良い機会にはなりました(と思ってないとやってられない)。再びQiitaで調べると良さげな記事を発見。

しかし、またもや一筋縄ではいかず、Vimの前にHomebrewを先にインストールする必要があるとな。

はい、お決まりのQiitaで探しましたよ。何でビール?って感じですが、HomebrewとVimのインストールを完了して、ようやくconfigファイルに秘密鍵を設定することができました。インストールにけっこう時間が掛かってしまったのが誤算でしたが、実践的に?コマンドを触れたのは良かったです。

.gitignoreに無視された。。

ついでにGitHubでコードを眺めていたら、とんでもないミスを発見。パスワードが載っているpersistence.xml.gitignoreに記載されておらず、丸見えになっていました。まあ、このパスワードが載っていたからってデプロイしていないので問題はありませんが、あまりよろしくはないですよね。

なので、すぐに追加でファイル名を書いてGitHubにプッシュしました。しかし、なぜかpersistence.xmlが消えていないという。何でだろうと思ってググったらやっぱりキャッシュが原因でした。GitHubにもキャッシュが存在するんですね。しかもそれはコマンドで消す必要があります。下記の記事を参考にしました。

無事に解決。というか、最初から書いとけよって話ですね。。

今日の反省と明日の目標。

土台となるインフラの構築を実際に自分でやってみて何だか安心感というか、アプリだけでなくサーバーやネットワークなども自分で好きなように設定できると考えるとワクワクが止まりません。ポートフォリオの内容も大体決まってきたので、そろそろ構成のラフスケッチでも描いていこうかと思います。私は服作りが得意だったので、それに関連したサービスを作っていく予定です。せっかくなので、ちゃんとしたものを作りたい。アジャイルって言うのかな?学びながら短い単位でそれをアウトプットしつつ運営するのが理想ですが、まずそのシステムが分からないんだよね。。ただ、方向性は見えてきたので、虱潰しにやっていきます。

明日はメンタリングがありますが、それまではDockerの本を読み進めていこうかと思います。ちょっとしか読んでないけど、とてもそそられる内容です。これもAWS同様、実際にミニアプリで試しながらの方が理解できそう。

閉じる