文系Webエンジニアの技術メモとたまに旅のメモ

未経験文系エンジニアとして働いてます。アウトプットとして簡単に技術メモを残していきます。たまに旅関係のも趣味で残していこうと思ってます。

【AWS/EC2/Git】Amazon Linux2 のEC2インスタンスにGitをインストールする方法!

今回は、Amazon Linux 2 で作成したEC2インスタン内に、Gitをインストールする方法を記していきます。

1.開発環境・事前準備

MacOS:M1チップ Big Sur 11.4
AWS:EC2インスタンス

EC2のインスタンス作成がまだの方は以下を参考に作成してみてください。
44igarashi.hatenablog.com

EC2のインスタンスへの接続がまだできていないという方は以下を参考にしてみてください。
44igarashi.hatenablog.com

2.Gitのインストール

早速Gitをインストールしていきましょう。

まずは、yumを最新化します。

# サーバステータス確認
¥ sudo yum update

最新化が完了したら、Gitをインストールします。

# 確認がある場合は、「y」を入力
¥ sudo yum install git
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ git.x86_64 0:2.32.0-1.amzn2.0.1 を インストール
...
完了しました!

上記の通り完了のメッセージが表示されましたら確認をしましょう。

¥ git --version
git version 2.32.0

上記の通り、バージョンが表示されたら完了です。

3.さいごに

Gitのインストールに関しては、以上で完了です。
Gitは必須で使用すると思うので、忘れてしまったら見直してみましょう。

【AWS/EC2/Apache】EC2インスタンスに、Apache をインストールしてテストページを表示させる方法!

今回は、Amazon Linux 2 で作成したEC2インスタンスに対して、Apacheをインストールし、
テストページの表示まで行っていきます。

1.開発環境・事前準備

MacOS:M1チップ Big Sur 11.4
AWS:EC2インスタンス

EC2のインスタンス作成がまだの方は以下を参考に作成してみてください。
44igarashi.hatenablog.com

EC2のインスタンスへの接続がまだできていないという方は以下を参考にしてみてください。
44igarashi.hatenablog.com

2.yum のアップデート

まずは、パッケージ管理のyumを最新化しておきます。

¥ sudo yum update -y
No packages marked for update

「No packages marked for update」と表示されている場合は、最新化されている状態のため、
そのまま進めていきましょう。

3.Apache のインストール・起動

yumの最新化が完了したので、次にApacheをインストールしていきます。

Apacheのインストール

¥ sudo yum install httpd
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ httpd.x86_64 0:2.4.52-1.amzn2 を インストール
...
完了しました!

色々インストールしますが、最後に完了のメッセージが表示されていれば完了です。

次にサーバを起動させていきます。
実行が成功してもメッセージは表示されません。

# サーバ起動
¥ sudo systemctl start httpd


実行したら、ステータスを確認してみましょう。

# サーバステータス確認
¥ sudo systemctl status httpd

「Active: active (running) 」と表示されていれば正常に起動できています。

4.インバウンドルールの追加

AWSの管理画面のインスタンス一覧画面を表示します。
今回設定を変更しているインスタンスを選択し、画面下部に表示されている項目の
「セキュリティグループ」に「launch-wizard-1」と表示されているので、こちらをクリックします。

サイドメニューのネットワーク&セキュリティ > セキュリティグループの画面に遷移するので、
こちらで新しくルールを追加していきます。

セキュリティグループ項目に「launch-wizard-1」があるので選択します。
選択すると画面下部に情報が表示されるので「インバウンドルール」タブを選択します。
「インバウンドのルールの編集」ボタンを押下します。

f:id:igarashi44:20220206035254p:plain

インバウンドのルールを編集画面に遷移します。

「ルールを追加」ボタンを押下すると、入力項目が追加されるので、以下の通り設定しましょう。

タイプ:カスタムTCP
プロトコルTCP
ポート範囲:80
ソース:カスタム or Anywhere-IPv4
   :0.0.0.0/0

設定が完了したら「ルールを保存」ボタンを押下します。

インバウンドルールに先ほど作成したルールが追加されています。

f:id:igarashi44:20220206040038p:plain

5.テストページの表示

上記設定が全て完了したら、最後にテストページが表示されるか確認しましょう。

パブリックIPで任意のブラウザでアクセスし、画像の通り表示できていれば成功です。

f:id:igarashi44:20220206040316p:plain


テストページが表示されず、アクセスできませんと表示される場合は、以下を確認してみましょう。
・インバウンドルールが追加されているか。
・サーバが起動しているか。

# サーバステータス確認
¥ sudo systemctl status httpd

f:id:igarashi44:20220206040434p:plain

6.さいごに

これでApacheのインストールは完了です!
初めは、慣れないと作業と思いますが、やっていくうちに慣れていくので
苦手意識を持たずに行っていきましょう!

【AWS/EC2/M1 Mac】作成したEC2インスタンスにMacのターミナル でSSH接続する方法!

今回は、作成したEC2インスタンスMacの既存アプリであるターミナルを使用して
SSH接続する方法を記していきます。

Windowsの方も、Tera TermやPuttyを使用して接続可能です。

1.開発環境・事前準備

MacOS:M1チップ Big Sur 11.4
AWS:EC2インスタンス
ターミナル ※他のアプリでも可

EC2のインスタンス作成がまだの方は以下を参考に作成してみてください。

44igarashi.hatenablog.com

2.pemファイルの設定

接続する前に、インスタンスを作成した際にダウンロードしたpemファイルの設定を行っておきます。

任意のパスにディレクトリを作成します。

# 作成されるパス:/Users/{ユーザー名}/.ssh
¥ mkdir ~/.ssh

作成したディレクトリに、作成したpemファイルを移動します。

# ダウンロードに「test.pem」ファイルが存在する場合
¥ mv /Users/{ユーザー名}/Downloads/test.pem ~/.ssh

pemファイルの権限を読み書き可能に変更します。

¥ chmod 600 ~/.ssh/test.pem

3.EC2インスタンスSSH接続

AWS EC2の管理画面を開き、接続したいインスタンスが起動中か確認します。

インスタンスの状態が「running」になっていればOKです。

f:id:igarashi44:20220206015740p:plain


ターミナルを使用して、EC2のインスタンスへ接続していきます。

接続情報に関しては、以下の通りです。

ユーザー名    :ec2-user ※Amazon Linux では初期設定されています。
IPv4 パブリック IP:xxxxx   ※インスタンス一覧のIPv4 パブリック IPから取得します。
pemファイル名  :test.pem ※インスタンス作成時にダウンロードしたpemファイルのパスから設定します。

今回の場合だと、以下の通りになります。

# ssh {ユーザー名}@{IPv4 パブリック IP} -i {pemファイル名}
¥ ssh ec2-user@xxxxx -i ~/.ssh/test.pem

実行後、確認のメッセージが表示されますので、「yes」と入力します。

以下のメッセージと、ユーザー名@IPが表示されていれば、正常に接続完了です。

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/

[ec2-user@{IPv4 パブリック IP} ~]$

4.さいごに

これでAWS EC2のインスタンスへの接続が完了しました。
接続できたので、これから必要なライブラリ等を入れていきましょう。

【Apache】Apache の起動・停止・確認するコマンド一覧

今回は、Amazon Linux 2 で作成したEC2インスタン内に、Apache を入れてみたので
起動・停止・確認のコマンドを記していきます。

1.開発環境・事前準備

MacOS:M1チップ Big Sur 11.4
AWS:EC2インスタンス
Apache:2.4.52

EC2のインスタンス作成がまだの方は以下を参考に作成してみてください。
44igarashi.hatenablog.com

EC2のインスタンスへの接続がまだできていないという方は以下を参考にしてみてください。
44igarashi.hatenablog.com

2.コマンドの実行

※先頭に「sudo」をつけて実行が必要です。

# サーバステータス確認
¥ sudo systemctl status httpd
# サーバ起動
¥ sudo systemctl start httpd
# サーバ停止
¥ sudo systemctl stop httpd

3.さいごに

コマンドに関しては以上です。
忘れてしまった時にこちらの記事を思い出してみてください。

【AWS/EC2】EC2インスタンスを簡単に削除する方法!

今回は、Amazon Linux 2 で作成したEC2インスタンスを削除する方法を記していきます。
簡単にできてしまうので、間違えて削除しないように気をつけてください。

1.開発環境・事前準備

MacOS:M1チップ Big Sur 11.4
AWS:EC2インスタンス

2.EC2インスタンスの削除

AWS EC2の管理画面を開きます。
サイドメニューのインスタンス > インスタンスを選択し、一覧を表示します。

f:id:igarashi44:20220206090618p:plain

表示されている「test」インスタンスを削除します。
右クリックし「インスタンスの状態」 > 「終了」を選択します。

f:id:igarashi44:20220206090952p:plain

削除前に、最後の確認モーダルが表示されます。
もう1度確認して問題が無ければ、「はい、終了する」ボタンを押下して削除しましょう。

f:id:igarashi44:20220206091041p:plain

削除に数分掛かりますが、インスタンスの状態が「terminated」になっていれば完了です。

f:id:igarashi44:20220206091316p:plain

削除したインスタンスは一覧からしばらくは消えず残っているみたいですが、
時間が経つと自動で消えるそうです。

3.さいごに

インスタンスの削除は簡単にできるみたいですね。
簡単なため、間違えて削除しないように気をつけましょう!

【AWS/EC2】AWSのEC2インスタンスを新規作成する方法!

今回は、AWSの中でも有名なEC2のインスタンスを作成する方法を記載していきます。
初めて触る方は、1度手順の通り作成して、少し理解できたら再度必要の設定を行って作り直しのが良いと思います。

1.開発環境・事前準備

MacOS:M1チップ Big Sur 11.4
AWSの会員登録

2.EC2インスタンスの新規作成

Amazon EC2 ダッシュボード画面を表示します。
AWSにログインが必須です。

インスタンスを起動」ボタンを押下します。

f:id:igarashi44:20220205232147p:plain

3.AMIの選択

Amazon マシンイメージ(AMI)の選択を行います。
今回は以下を選択して行っていきます。
Amazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type」

Amazon Linux に関しては、以下をベースに作成されているようです。
Amazon Linux. :RedHat 6
Amazon Linux 2:RedHat 7

f:id:igarashi44:20220205234118p:plain

また、無料枠が残っている方は、「無料利用枠の対象」と表示されている中から
選ぶのが良いと思います。

4.インスタンスタイプの選択

インスタンスのタイプを選択していきます。
「t2.micro」の「無料利用枠の対象」と表示されているのを選択し、次のステップボタンを押下します。

使用用途によって必要な性能があると思うので、その際は、性能や金額と相談しながら
選択してみてください。

f:id:igarashi44:20220206002043p:plain

5.インスタンスの詳細の設定

インスタンスの詳細の設定を行っていきます。
こちらに関しては、デフォルトの状態のままで問題ないので、
次のステップボタンを押下します。

f:id:igarashi44:20220206002416p:plain

6.ストレージの追加

ストレージの追加を行っていきます。
記載があると通り、汎用 (SSD) が30GBまで無料の対象枠として使用できます。
必要なサイズを設定しましょう。
今回はデフォルト設定のまま、次のステップボタンを押下します。

f:id:igarashi44:20220206004420p:plain

7.タグの追加

タグの追加を行っていきます。
インスタンス一覧で表示される名前を設定します。
このインスタンスでは何をしたいのかわかりやすい名前をつけるのがベストです。
今回は説明の通り以下を設定します。
Name:Name
値:Webserver

インスタンス一覧では値に設定した「Webserver」が表示されます。
※設定後も修正は可能です。

設定が完了したら次のステップボタンを押下します。

f:id:igarashi44:20220206011537p:plain

8.セキュリティグループの設定

セキュリティグループの設定の設定を行っていきます。
今回はデフォルトのまま進めていきますが、注意の記載がある通り必要の場合は、
指定のIP アドレスを設定しましょう。

設定が完了したら、確認と作成ボタンを押下します。

f:id:igarashi44:20220206013455p:plain

9.インスタンス作成の確認

インスタンス作成の確認を行っていきます。
今まで設定してきた内容で、問題なければ「起動」ボタンを押下します。

f:id:igarashi44:20220206014607p:plain

10.キーペアの設定・作成

最後にキーペアの設定を行っていきます。
既に作成されている方は、既存のキーペアを設定しましょう。

今回新規で作成される方は、プルダウンを「新しいキーペアの作成」を選択します。
キーペアのタイプは「RSA」を選択します。
キーペア名には任意の名前を設定します。

設定が完了したら、「キーペアのダウンロード」ボタンを忘れずに押下しましょう。
ダウンロードしたら大切に保管しておきましょう。

上記が完了後、「インスタンスの作成」ボタンを押下します。

f:id:igarashi44:20220206014841p:plain

11.インスタンスの確認

インスタンスの作成が完了したら以下画面が表示されます。
インスタンスの表示」ボタンを押下します。

f:id:igarashi44:20220206015557p:plain

AWS EC2 ダッシュボード画面が表示されます。
サイドバナーのインスタンス > インスタンスを押下します。

画像の通り、インスタンスの一覧が表示されます。
先ほど、作成した「Webserver」が表示されており、
インスタンスの状態が「running」になっていることを確認しましょう。

12.さいごに

これでAWS EC2のインスタンスの作成が完了しました。
慣れてきたら必要に応じて適切な設定を行っていきましょう!

【Docker/Laravel Sail】Laravel Sail を使用し、Docker でLaravel の環境を簡単に実施!

Laravel Sail が2020年12月9日に公開されました。
Dokcer の操作が慣れていない方や、環境構築を素早く行いたいという方におすすめです!

公式サイトに手順が記載されているので、こちらも参考に行なってみてください。
https://readouble.com/laravel/8.x/ja/sail.html

1.開発環境・インストール内容

MacOS:M1チップ Big Sur 11.4
Docker:20.10.11
Laravel:8.78.1
PHP:8.1.1

Docker をまだインストールしていない方は以下を参考に行なってください。
44igarashi.hatenablog.com

2.Laravel Sail のダウンロード

Laravel Sail をダウンロードするために、以下を実行していきます。

ホームディレクトリに移動

¥ cd
# /Users/{ユーザー名}

任意のディレクトリ名を作成

¥ mkdir docker_laravel

作成したディレクトリに移動

¥ cd docker_laravel

Laravel Sail のダウンロード

¥ curl -s https://laravel.build/sample | bash
# curl -s https://laravel.build/{ディレクトリ名} | bash 
Status: Downloaded newer image for laravelsail/php81-composer:latest
・・・ // 色々とインストールされます

インストールが完了されるとパスワードを求められるので入力します。
入力後、以下が表示され

Application ready! Build something amazing.
Sail scaffolding installed successfully.

Please provide your password so we can make some final adjustments to your application's permissions.

Password:{パスワードの入力}

Thank you! We hope you build something incredible. Dive in with: cd sample && ./vendor/bin/sail up

作成されたディレクトリに移動

¥ cd sample

ディレクトリの内容を確認

¥ ls
app
artisan
bootstrap
composer.json
composer.lock
config
database/
docker-compose.yml
package.json
public
README.md
resources/
routes/
server.php
storage/
tests/
vendor/
webpack.mix.js

上記のディレクトリ・ファイルが作成されています。
※表示順は少し変更しています。

これでダウンロードは完了です。

3.Laravel welcomページの表示

ダウンロードが完了したので、Laravel Sail を起動します。
インストールに時間が掛かるので数分待ちます。

起動コマンドの実行

¥ cd sample
¥ ./vendor/bin/sail up -d
[+] Running 0/6
 ⠹ meilisearch Pulling                                                                              3.2s
[+] Running 0/36ing                                                                                 3.2s
 ⠸ meilisearch Pulling                                                                              3.3s
   ⠋ a0d0a0d46f8b Waiting                                                                           0.0s
   ⠋ 00a069bb4647 Waiting                                                                           0.0s
   ⠋ 3ac4468f896e Waiting                                                                           0.0s
・・・ // 色々とインストールされます
 ⠿ Network sample_sail              Created
 ⠿ Volume "sample_sailmysql"        Created
 ⠿ Volume "sample_sailredis"        Created
 ⠿ Volume "sample_sailmeilisearch"  Created
 ⠿ Container sample_mysql_1         Started
 ⠿ Container sample_redis_1         Started
 ⠿ Container sample_selenium_1      Started
 ⠿ Container sample_mailhog_1       Started
 ⠿ Container sample_meilisearch_1   Started
 ⠿ Container sample_laravel.test_1  Started

起動が正常に成功したら、任意のブラウザで以下にアクセスします。
GoogleChrome を使用して行います。

http://localhost/

Laravel の Welcom ページが表示されたら完了です。

f:id:igarashi44:20220110015437p:plain

4.Sail コマンド

Sail コマンドは良く使用することになるので、エイリアス登録をして使いやすくしておきます。

エイリアス登録

¥ alias sail="./vendor/bin/sail"

登録することによって、以下の通り実行することができます。

# 実行
¥ sail up

# 実行 (バッググランドで実行)
¥ sail up -u

# 終了
¥ sail down

# 実行中のコンテナへ接続
¥ sail shell

# 実行中のコンテナの表示
¥ sail ps

# MySQL接続
¥ sail mysql

上記は良く使用するので、覚えておきましょう。

5.さいごに

これでDockerでのLaravelの環境構築は完了です!
Docker に慣れていない方やサクッと環境構築を完了させたい場合は、おすすめです!