AWS EC2 での LAMP 環境構築【Amazon Linux 2】

当ページのリンクには広告が含まれています。

こんにちは、ふじみやです。

これまでEC2インスタンスを使ってWebサーバーを立ち上げ、独自ドメインで同サーバーにアクセスするための方法についてご説明をしてきました。

今回はホームページやブログの運営をするための環境構築方法についてご説明をしたいと思います。

この記事は普段何気なく利用しているサービスがどのように成り立っているかをご説明することを趣旨としています。実際にホームページやブログの運営をされる場合にはエックスサーバーなどでサーバーを借りた方が簡単ですし、安全です。

目次

LAMP環境の構築

現在、多くのホームページやブログの運営にはWordPressというソフトウェアが利用されています。

WordPressを利用するにあたっては、ソフトウェアだけではなく、Webサーバーやデータベース管理システム(DBMS)やWordPressに利用されるスクリプト言語(PHP)を準備する必要があります。

そこで、今回はWordPressを利用するための環境(LAMP環境)を整えていきたいと思います。

以下の記載はAWSのチュートリアルを参考にしていますので、より詳細にご理解をされたい方はそちらもご覧ください。

LAMPとは

LAMPとはWebアプリケーション開発において昔から利用されている開発環境のことで、OSである「Linux」、Webサーバーである「Apache」、データベース管理システムである「MySQL」、Webページ生成のスクリプト言語である「PHP」の4つのオープンソースソフトウェアを意味します。

今回は、Linuxの1種であるAmazon Linux 2インスタンスを起動した後、「Apache」「MariaDB」と「PHP」をインストールしていきます。

Amazon Linux 2インスタンスの起動

これまでご説明をしてきた内容ですので、説明は省略します。色々なマシンイメージがありますが、今回はサーバーとしての用途のみですのでAmazon Linux 2を選択しています。

やり方が分からない方はという方は『AWSを使ってマイクラサーバーを立ち上げる』や『AWS EC2でWebサーバーを立ててみよう』をご参考ください。

Apache

Apacheの概要ついてのご説明は『AWS EC2でWebサーバーを立ててみよう』をご覧ください。

次のコマンドを入力することでApacheのインストールができます。

sudo yum install httpd

インストール後は起動設定をしておきましょう。

sudo systemctl start httpd
sudo systemctl enable httpd

Apacheの権限設定

1. ユーザをapacheグループに追加

sudo usermod -a -G apache ec2-user

2. /var/www以下のファイルおよびディレクリの所有権をapacheグループに付与

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

これでec2-userはApacheのドキュメントルート/var/wwwでファイルの保存・編集・削除などが行えるようになりました。

表示の確認

インスタンスのセキュリティグループの設定でタイプ:HTTP、ポート番号:80を許可したうえで、インスタンスのIPアドレスをアドレスバーに入力してください。

セキュリティグループの設定にて、ソースを「0.0.0.0/0」にしておくと全てのIPアドレスからの接続が許可されてしまいます。今回はテスト環境ですのでCMANでご自身のIPアドレスを調べて、それだけを許可するようにしておきましょう。

次のような画面が表示されれば成功です。

MariaDB

MariaDBはMySQLから派生してできたリレーショナルなDBMS(RDBMS)で、MySQLよりも高機能となっています。RDMBSはExcelの表のような構成をしているデータベースと認識をしておけばとりあえず問題ありません。

今回使用しているマシンイメージはAmazon Linux 2ですので、公式よりソフトウェアパッケージが提供されています。提供されているパッケージを確認するためには次のコマンドを入力してください。

amazon-linux-extras

パッケージの一覧が表示され、#51にPHP8.0が、#54にMariaDB10.5との記載がありますね。なお、画像はインストールをした後のものですので「enabled」の表示となっていますが、インストール未済であれば「available」との表示になっています。

今回はこれをインストールし、自動起動を有効にするのとあわせて起動をしておきましょう。

sudo amazon-linux-extras install mariadb10.5

#インストール完了後
sudo systemctl enable mariadb
sudo systemctl start mariadb

2023年7月14日追記
MariaDB インストール後の起動コマンドが抜けていました。大変申し訳ございません。
また、ご指摘を頂きました方、誠にありがとうございます。

データベースの設定

MariaDBのインストールが完了したらMariaDBの設定をしていきます。

sudo mysql_secure_installation

すると次のような対話形式の行が出てきますので、Y/Nやパスワードの入力をします。

[ec2-user@ip-xxx-xxx-xxx-xxx]$ sudo mysql_secure_installation

#ルート権限者のパスワードを入力(インストール直後は空白のため、Enterキーを押下)
Enter current password for root (enter for none): 

#パスワード認証からunix socket認証へと変更するか
Switch to unix_socket authentication [Y/n] n

#ルートパスワードを変更するか
Change the root password? [Y/n] y

#匿名ユーザを削除するか
Remove anonymous users? [Y/n] y

#リモートでのルート権限者としてログインすることを不許可にするか
Disallow root login remotely? [Y/n] y

#testデータベースを削除するか
Remove test database and access to it? [Y/n] y

#特権テーブルを再読み込みするか
Reload privilege tables now? [Y/n] y

ユーザの追加

上記の設定が完了したらMariaDBを操作するユーザの追加もしておきましょう。なお、パスワード入力時には何も表示されないことがありますので、入力されていないと焦らないでくださいね。

#MariaDBにルート権限でログイン
mysql -u root -p
Enter password: *********** #mysql_secure_installationにて設定したパスワードを入力

#ユーザを追加
CREATE USER 'ユーザ名'@'localhost' IDENTIFIED BY '強力なパスワード'

PHP

PHPは動的にWebページを生成するための言語です。HTMLで記述されたファイルは常に同じ内容(静的な内容)を閲覧者に見せますが、PHPで記述されたファイルは例えば日付が更新されたらWebページに記載される日付も自動的に更新したりコメント投稿を反映したりなど、元ファイルを変更することなく記載内容を変更可能とするものです。

インストールはMariaDBと同様にAmazon Linux Extrasを利用しましょう。

sudo amazon-linux-extras install php8.0

表示の確認

それでは、PHPもちゃんと動作するか確認をしておきましょう。

  1. 次のコマンドを入力します。Apacheのドキュメントルートにphpファイルを作成しています。
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

2. アドレスバーに作成したファイルのURLを入力します。~.comまでのアドレスはインスタンスのパブリックIPv4アドレスとなっていますので、管理画面よりコピーしてください。また、~.comまではインスタンスのIPアドレスを入力しても問題ありません。

ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com/phpinfo.php

次のような画面が表示されればOKです。

phpMyAdmin

phpMyAdminはMySQLやMariaDBのデータベースを表示して編集するためのツールですので、インストールをしておきましょう。ただし、SSL通信を有効化しておかないとセキュリティ上のリスクがありますのでご注意ください。

  1. まずは必要な依存ファイルを入手します。
sudo yum install php-mbstring php-xml -y

2. 次にApacheとphp-fpmを再起動します。

sudo systemctl restart httpd
sudo systemctl restart php-fpm

3. Apacheサーバーのドキュメントルートに移動します。

cd /var/www/html

4. phpMyAdminのダウンロードサイトに接続し、最新のバージョンを入手します。

wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.tar.gz

5. phpMyAdmin用のディレクトリを作成し、入手したファイルを解凍します。

mkdir phpMyAdmin && tar -xvzf phpMyAdmin-5.2.0-all-languages.tar.gz -C phpMyAdmin --strip-components 1

6. 解凍が終わったら元のファイルを削除しておきましょう。

rm phpMyAdmin-5.2.0-all-languages.tar.gz

7. 最後にphpMyAdminに接続できるか確認しましょう。IPアドレス/phpMyAdminをアドレスバーに入力してください。

xxx.xxx.xxx.xxx/phpMyAdmin

phpMyAdminのログイン画面が表示されたら、先ほどMariaDBにて設定したrootユーザ名とルートパスワードを入力してログインをしてみましょう。ログインができれば完了です。

まとめ

今回は少し長くなりましたが、ホームページの運用等で必須になるLAMP環境についてご説明をしました。

構築した環境を利用してWordPressをインストールする記事も今後書きたいと思いますので、是非ご参考としていただければ幸いです。

それではまた。

この記事が気に入ったら
フォローしてね!

コメント

コメントする

目次