0
0

Amazon Linux2でのLAMPのインストール

Posted at

内容
・趣旨目標
・使用できるサービス
・参考サイト
・VPC作成
・EC2の作成
・LAMP サーバーを準備
・データベースサーバーをセキュリティで保護
・リソースの削除

趣旨目標

手を動かして学ぶ!手動でサーバーを準備!

使用できるサービス

VPC,EC2
※気になった箇所だけ記載して、大分端折って記載しています。

参考サイト(これに従って作成します。):

VPC作成

image.png

EC2の作成

image.png
image.png

LAMP サーバーを準備

・web経由でインスタンスに接続
image.png

・すべてのソフトウェアパッケージが最新の状態であることを確認

sudo yum update -y

image.png

・MariaDB パッケージの最新バージョンを取得

sudo amazon-linux-extras install mariadb10.5

image.png
色々表示されすぎてわかりにくい(;'∀')

・Amazon Linux 2 向け PHP パッケージの最新バージョンを取得

sudo amazon-linux-extras install php8.2

image.png

・Apache ウェブサーバー、MariaDB、および PHP ソフトウェアパッケージをインストール

sudo yum install -y httpd

image.png

・Apache ウェブサーバーを起動

sudo systemctl start httpd

・systemctl コマンドを使用して、システムがブートするたびに Apache ウェブサーバーが起動するように設定

sudo systemctl enable httpd

image.png

・httpd が有効であることの確認

sudo systemctl is-enabled httpd

image.png

・ウェブサーバーをテスト
コンソールからインスタンスのパブリックDNSアドレスをブラウザへ貼り付け。
image.png

・ec2-user を apache グループに追加し、ファイルの許可を設定

sudo usermod -a -G apache ec2-user

・一度ログアウト

exit

・apache グループのメンバーシップを検証

groups

image.png

・/var/www(Apache HTTPサーバーがウェブコンテンツをホストするデフォルトのルートディレクトリ)とそのコンテンツのグループ所有権をapache グループに変更

sudo chown -R ec2-user:apache /var/www

・グループとユーザーに読み取り、書き込みについて権限を付与

sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;

・再帰的(ディレクトリ内を検索して親子関係なく全てのディレクトリやファイルに対して)に権限付与

find /var/www -type f -exec sudo chmod 0664 {} \;

これらの権限付与によって権限を持ったユーザーが、静的ウェブサイトや PHP アプリケーションなどのコンテンツを追加できる。
※ここでSSL/TLS の設定について参考サイトを貼ります。
参考:
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html

・LAMP サーバーをテスト
PHPファイルを作成。
ユーザーで実行。

echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

これでエラーが出なければ適切にグループ設定できている。
また、インスタンスのパブリック DNS アドレスにスラッシュとファイル名を追加し、ブラウザで検索すると次のPHPのページが表示される。
image.png
webサーバーとして機能していますね。

・phpinfo.php ファイルを削除

rm /var/www/html/phpinfo.php

データベースサーバーをセキュリティで保護

本番環境でDBを使う場合の初期設定としてaws公式サイトに従って記録!

・MariaDB サーバーを起動

sudo systemctl start mariadb

・mysql_secure_installation を実行(これが主体)

sudo mysql_secure_installation

1 Remove anonymous users?匿名ユーザーの削除
2 Disallow root login remotely?リモート接続禁止
3 Remove test database and access to it?テストデータベースを削除
4 Reload privilege tables now?権限テーブルを再ロードし、変更を保存

こんな感じ。続けざまに質問が飛んできます。
image.png
image.png
image.png
image.png

(参考1)MariaDB サーバーをすぐに使用する予定がなく、一時的に停止する場合

sudo systemctl stop mariadb

(参考2)ブート時に毎回 MariaDB サーバーを起動させる場合

sudo systemctl enable mariadb

image.png
完了!!!

リソースの削除

学習が完了したので、リソースを削除していきます。

・EC2の削除
image.png
image.png

・VPCの削除
image.png
image.png

さいごに
勉強になりました!また時間を作ってハンズオンやっていきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0