![見出し画像](https://assets.st-note.com/production/uploads/images/76398128/rectangle_large_type_2_2941fcc96209dd7033ab8b2cff445b27.jpeg?width=800)
日本語MAMPハンズオンをAWSでLAMPにした備忘録
こんにちは!YanekaraインターンのSと申します!
ここでは、過去私が自主学習として取り組んだ、日本語MAMPハンズオンのAWSによるLAMP化についてご紹介します!
日本語MAMPハンズオン
私は過去「未経験者のためのPHPとMySQLを用いたWebデータベースシステム入門」というオンライン講座を受講した経験を持っています。
オンライン講座自体は2020年度の開講でしたが、当時のダウンロード
サイト(https://st.jmooc.jp/php/)は2022年4月現在でも閲覧可能でした。
講座内容はMAMP(Mac+Apache+MySQL+PHP)で「JMOOCベーカリー在庫管理システム」を作成するというもので、最終的に完成するソースコードは「Week6」の最終版としてWebでも公開されていたと記憶しております。
![](https://assets.st-note.com/img/1649898633828-M4nsbquTZ5.png?width=800)
![](https://assets.st-note.com/img/1649898666928-o5ZE1ymrnh.png)
MAMPハンズオンをAWSでLAMPハンズオン化
上記のハンズオンですが、さらなる学習のためにAWSでソースコードを稼働させることを考えました。以下の手順に従いLAMP(Linux+Apache+MySQL+PHP)化することで、無事AWSでの稼働に成功しました。
参考Webサイト:https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html
Amazon Linux 2 インスタンスを起動する。
「sudo yum update -y」でソフトウェアパッケージを最新の状態に
「sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2」「sudo yum install -y httpd mariadb-server」でApache ウェブサーバー、MariaDB(MySQL)、PHPをインストール
「sudo systemctl start httpd」でApache ウェブサーバーを起動
「sudo systemctl enable httpd」でシステムがブートするたびに Apache ウェブサーバーが起動するように設定
インバウンド HTTP (ポート 80) 接続をインスタンスに許可するセキュリティルールを追加(特定の IP アドレスからのみ接続を許可することが推奨される)
「ec2-user」をapache グループに追加し、/var/www ディレクトリの所有権を apache グループに付与し、グループへの書き込み権限を割り当てる
「sudo yum install git -y」でgitをインストール
あらかじめMAMPハンズオンで作成した最終ソースコードを「cd /var/www/html/」「git clone [レポジトリのURL]」で外部からアクセスした際に表示される場所に取得
「http://[インスタンスIP]/[レポジトリの名前]/index.html」をブラウザに打ち込むとMAMPハンズオンで作成したWebサービスをAWSに移植できた(らしい)ことが確認できる
ただ、このままですと、DBが空のため操作が成立しません。そのため、以下のようにDBの初期設定はMariaDBに入って改めて行う必要がありました。
「mysql -u root -p」でMariaDBに入る
「CREATE USER test_user IDENTIFIED BY [パスワード];」でユーザーを作成
「GRANT ALL ON stock.* TO test_user;」で権限付与後、「quit;」「mysql -u test_user -p」で再ログイン
「CREATE TABLE stockUser(...);」のようにMAMPハンズオンと同様のテーブルと初期データを準備し直す
![](https://assets.st-note.com/img/1649898854442-jlzlI5pHE8.png)
Yanekaraインターンスタート後、このハンズオンを振り返る
フロントについて、このハンズオンで作成するWebサービスは画面全体が更新される回数が多くなっています。Yanekaraインターンでは「SPA (Single Page Application)」という考え方を初めて知りました。
AWSについても、このハンズオンで使ったのはEC2のみでしたが、Yanekaraインターンを始めて「ECS」「Lambda」「Fargate」という言葉に初めて触れました。
Yanekaraのクラウド周りは私にとって新しく学ぶことばかりで、もっと成長しなければならないと強く感じております。
最後に
ここまでお読みいただき、ありがとうございました!Yanekaraのnoteでは、事業内容やメンバー紹介、テックブログなど多様な情報を発信していきたいと考えています。フォローしていただけると嬉しいです。今後ともよろしくお願いいたします!
この記事が気に入ったらサポートをしてみませんか?