LoginSignup
0
0

Amazon Linux 2023でLAMP環境を構築してみる

Posted at

パッケージを最新のバージョンに更新

インストールされているパッケージを最新のバージョンに更新します。
Amazon Linux 2023はFedoraベースのAMIなのでdnfコマンドでインストールを行います。
-y オプションを指定することで確認をスキップすることができます。

sudo dnf update -y

ApacheとPHPパッケージをインストールします。

AL2023 用の最新バージョンの Apache ウェブサーバーと PHP パッケージをインストールします。
コマンドは以下になります。

sudo dnf install -y httpd wget php-fpm php-mysqli php-json php php-devel

wgetコマンドはコマンドラインからインターネットを通じてファイルをダウンロードできるツールです。

MySQLのインストール

AL2023へMySQLをインストールする場合は、公式のMySQLリポジトリを先にインストールする必要があります。RHEL9のリポジトリをインストールしましょう。

 sudo dnf localinstall  https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

GPG 公開鍵をインポート

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

MySQLの関連パッケージをインストール

dnf install mysql-community-server mysql-community-client mysql-community-devel

自動起動設定

systemctl enable httpd.service
systemctl start httpd.service
systemctl status httpd.service

systemctl enable php-fpm.service
systemctl start php-fpm.service
systemctl status php-fpm.service

systemctl enable mysqld
systemctl start mysqld
systemctl status mysqld

インストールしたミドルウェアの確認

Apache

$ dnf list installed | grep httpd
generic-logos-httpd.noarch             18.0.0-12.amzn2023.0.3             @amazonlinux
httpd.x86_64                           2.4.59-2.amzn2023                  @amazonlinux
httpd-core.x86_64                      2.4.59-2.amzn2023                  @amazonlinux
httpd-filesystem.noarch                2.4.59-2.amzn2023                  @amazonlinux
httpd-tools.x86_64                     2.4.59-2.amzn2023                  @amazonlinux

PHP

$ dnf list installed | grep php
php8.2.x86_64                          8.2.15-1.amzn2023.0.2              @amazonlinux
php8.2-cli.x86_64                      8.2.15-1.amzn2023.0.2              @amazonlinux
php8.2-common.x86_64                   8.2.15-1.amzn2023.0.2              @amazonlinux
php8.2-devel.x86_64                    8.2.15-1.amzn2023.0.2              @amazonlinux
php8.2-fpm.x86_64                      8.2.15-1.amzn2023.0.2              @amazonlinux
php8.2-mbstring.x86_64                 8.2.15-1.amzn2023.0.2              @amazonlinux
php8.2-mysqlnd.x86_64                  8.2.15-1.amzn2023.0.2              @amazonlinux
php8.2-opcache.x86_64                  8.2.15-1.amzn2023.0.2              @amazonlinux
php8.2-pdo.x86_64                      8.2.15-1.amzn2023.0.2              @amazonlinux
php8.2-process.x86_64                  8.2.15-1.amzn2023.0.2              @amazonlinux
php8.2-sodium.x86_64                   8.2.15-1.amzn2023.0.2              @amazonlinux
php8.2-xml.x86_64                      8.2.15-1.amzn2023.0.2              @amazonlinux

MYSQL

$ dnf list installed | grep mysql
mysql-community-client.x86_64          8.0.37-1.el9                       @mysql80-community
mysql-community-client-plugins.x86_64  8.0.37-1.el9                       @mysql80-community
mysql-community-common.x86_64          8.0.37-1.el9                       @mysql80-community
mysql-community-devel.x86_64           8.0.37-1.el9                       @mysql80-community
mysql-community-icu-data-files.x86_64  8.0.37-1.el9                       @mysql80-community
mysql-community-libs.x86_64            8.0.37-1.el9                       @mysql80-community
mysql-community-server.x86_64          8.0.37-1.el9                       @mysql80-community
mysql80-community-release.noarch       el9-1                              @@commandline
php8.2-mysqlnd.x86_64                  8.2.15-1.amzn2023.0.2              @amazonlinux

ドキュメントルートの所有権の変更

Apacheの初期ドキュメントルートは/var/www/htmlです。デフォルトでは root が所有者になっています。EC2へセッションマネージャーで接続している為ssm-userをapacheグループに追加し、/var/www ディレクトリの所有権を apache グループに付与します。

apacheグループにssm-userを追加

sudo usermod -a -G apache ssm-user

以下コマンドでグループに追加で来たか確認します。

$groups
ssm-user apache ssm-user

/var/www ディレクトリおよびその中のすべてのファイルとサブディレクトリの所有者を ssm-user に、グループを apache に設定します。これにより、ec2-user ユーザーがこのディレクトリに対して管理作業を行えるようになり、apache グループに属するプロセス(例えば、Apache Webサーバー)もこれらのファイルにアクセスできるようになります。

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

sudo chmod 2775 コマンドの中で「2」が指定するのは「セットGID(Group ID)」ビットです。
ディレクトリに適用した場合には、そのディレクトリ内で新しく作成されるファイルやサブディレクトリが、作成者のグループではなく、ディレクトリのグループ所有権を継承するようになります。

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

参考記事

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