====== Amazon Linux 2 に Apache2.4 と PHP7.4 をインストール ====== ===== Amazon Linux 2 の初期設定 ===== まずは [[サーバ:aws:サーバ構築手順:amazon_linux_2_の初期設定|Amazon Linux 2 の初期設定]] を行います。 ===== Apache のインストール ===== # インストール済みの Apache の確認 $ yum list installed | grep httpd # インストールされる Apache のパッケージを確認 $ yum info httpd Version : 2.4.43 # 未インストールであれば、インストール $ sudo yum install -y httpd # ステータス確認 $ systemctl status httpd # Apache 起動 $ sudo systemctl start httpd # 自動起動設定 $ sudo systemctl enable httpd # 自動起動になっているか確認 $ sudo systemctl is-enabled httpd $ httpd -v Server version: Apache/2.4.43 () # apache に ec2-user グループを追加 $ sudo gpasswd -a apache ec2-user # グループが追加されたことを確認 $ sudo id apache # 権限変更 $ sudo chown -R ec2-user:ec2-user /var/www/ # httpd のパーミッション変更 $ sudo chmod 755 /var/log/httpd ===== EPEL と Remi リポジトリのインストール ===== yum からインストールできる PHP のバージョンは 5.4 などと古いので、remi リポジトリから新しいバージョンの PHP をインストールできるようにする。 # PHP がインストール済みか確認 $ yum list installed | grep php # 古いバージョンの PHP をインストールしてしまった場合はアンインストール $ sudo yum remove php* -y # インストールされる PHP のパッケージ確認 $ yum info php Version : 5.4.16 # EPEL 有効化 $ sudo amazon-linux-extras enable epel $ sudo yum clean metadata $ sudo yum install -y epel-release $ sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm ===== PHP のインストール ===== # 7系でインストール可能なパッケージを確認 $ yum list | grep php7 # インストールされるパッケージ情報を確認 $ sudo yum info --enablerepo=remi,remi-php74 php74-php # PHP7.4 をインストール $ sudo yum install -y --enablerepo=remi,remi-php74 php74-php php74-php-common # ↑このとき「php74」ではなく「php74-php」と指定すること # 「php74」でインストールを行うとモジュールがインストールされず # ブラウザでアクセスした際に、ソースがそのまま表示されてしまう # その他、必要なパッケージをインストール $ sudo yum install -y --enablerepo=remi,remi-php74 php74-php-devel php74-php-mbstring php74-php-pdo php74-php-gd php74-php-xml php74-php-mysqlnd php74-php-bcmath # インストールされたパッケージを確認 $ sudo yum list installed | grep php # モジュールがインストールされているのを確認 $ ls /etc/httpd/modules/ | grep php libphp74.so # バージョン確認 $ php -v -bash: php: コマンドが見つかりません # エラーがでたら、bin を確認 $ ls -l /usr/bin | grep php # php で実行できるようにシンボリックリンクを貼る $ sudo ln -s /usr/bin/php74 /usr/bin/php # バージョンが表示されるようになったのを確認 $ php -v # PHP ログディレクトリ $ sudo mkdir /var/log/php $ sudo chown apache:apache /var/log/php # php.ini の場所を確認 $ php -r "echo phpinfo();" | grep "php.ini" Loaded Configuration File => /etc/opt/remi/php74/php.ini # php.ini をバックアップ $ sudo cp /etc/opt/remi/php74/php.ini /etc/opt/remi/php74/php.ini.origin # php.ini の設定を行う $ sudoedit /etc/opt/remi/php74/php.ini php.ini mbstring.language = Japanese mbstring.detect_order = auto date.timezone = Asia/Tokyo expose_php = Off memory_limit = 512M post_max_size = 128M upload_max_filesize = 128M # コマンドラインでパラメータ渡す場合は設定 register_argc_argv = On error_reporting = E_ALL error_log = /var/log/php/error.log php.ini の編集が終わったら、Apache の再起動を行い、表示テストを行う。 # Apache を再起動 $ sudo apachectl graceful # 表示テスト $ vi /var/www/html/index.php # テスト用に適当に記述 ブラウザにアクセスして、PHPが動作することを確認して終了。