ユーザ用ツール

サイト用ツール


サイドバー

サーバ:aws:サーバ構築手順:amazon_linux_2_に_php7.4_をインストール

文書の過去の版を表示しています。


Amazon Linux 2 に PHP7.4 をインストール

Amazon Linux 2 の初期設定

# Swap の確認
$ free -m
       total  used  free  shared  buff/cache  available
Mem:     983    77   308       0         596        758
Swap:      0     0     0

# ストレージの空き容量の確認
$ df -h --total
/dev/xvda1       30G  1.5G   29G   5% /

# Swap に 4GB 割り当て(1024 * 4 = 4096)
$ sudo dd if=/dev/zero of=/swapfile1 bs=1M count=4096
$ sudo chmod 600 /swapfile1
$ sudo mkswap /swapfile1
$ sudo swapon /swapfile1

# Swap の確認
$ free -m
       total  used  free  shared  buff/cache  available
Mem:     983    62    85       0         835        773
Swap:   4095     0  4095

# yum アップデート
$ sudo yum update -y

# タイムゾーンの確認
$ sudo timedatectl

# タイムゾーンに Asia/Tokyo を設定
$ sudo timedatectl set-timezone Asia/Tokyo

# /var/log/ 内の各種ログのタイムゾーンも反映させるため rsyslog と postfix も再起動する
$ sudo systemctl restart rsyslog
$ sudo systemctl restart postfix

# ロケールの確認
$ localectl status

# 指定可能なロケールの確認
$ localectl list-locales | grep ja

# ロケールの変更
$ sudo localectl set-locale LANG=ja_JP.utf8

Apache のインストール

# Apache の確認
$ yum list installed | grep httpd

# 未インストールであれば、インストール
$ sudo yum install -y httpd

$ 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 rpm -Uvh 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

# 上記でエラーがでたら、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_log = /var/log/php/error.log

php.ini の編集が終わったら、Apache の再起動を行い、表示テストを行う。

# Apache を再起動
$ sudo apachectl graceful

# 表示テスト
$ vi /var/www/html/index.php

# テスト用に適当に記述
<?php
    echo 'PHP Test';

ブラウザにアクセスして、PHPが動作することを確認して終了。

コメント

コメントを入力. Wiki文法が有効です:
 
サーバ/aws/サーバ構築手順/amazon_linux_2_に_php7.4_をインストール.1594180066.txt.gz · 最終更新: 2020/07/08 12:47 by humolife