前回の記事では、バーチャルソフトの設定に付いてご紹介しました。今回はアプリケーションソフトウェアで、プログラミング言語ののひとつであるPHP7のインストールと初期設定の方法についてご紹介します。
PHPのインストール
まず、SSH接続でリモートサーバーに接続して、作業用ユーザーからroot権限をもつユーザに昇格した上で以下のコマンドを実行します。
さくらのVPS(httpd-2.4.6-45.el7.centos.x86_64)においてPHP7をインストールするためには、外部のリポジトリ(インターネット上の倉庫のようなところ)が必要となります。そのリポジトリがepelとremiです。PHP7をインストールするためにはremiが必要ですが、そのremiを使うためにはあらかじめepelリポジトリをインストールしておく必要があります。
epelの確認
# yum list epel-release ... インストール済みパッケージ epel-release.noarch 7-10
epelが入っているかどうか確認をするコマンドです。自分が契約しているさくらのVPSではすでにインストール済みでした。もし環境が異なり、epelがインストールされていない場合は、こちらの記事などを参考にして自分でインストールしてみましょう。
remiのインストール
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ... 更新中 / インストール中... 1:remi-release-7.3-2.el7.remi ################################# [100%] # yum update
epelがインストールされていることが分かりましたので、次はremiをインストールします。インストール終了後、外部から新しいパッケージを取り入れましたので、サーバーのアップデートを行います。
PHPのインストールと初期設定
PHPのインストール
# yum install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-gd php-mysqlnd php-xml # php -v PHP 7.0.24 (cli)
remiriリポジトリに同梱されている、PHPでプログラミングをするときに必要なライブラリをまとめてインストールします。インストールが完了すると、phpコマンドでバージョンを確認しましょう。
各ライブラリの意味については、ご自身で調べてみてください。どのようにPHPプログラミングをしたいかによって使用するライブラリは異なります。PHPの公式ドキュメントをよく確認をしてインストールをしましょう。
PHPの初期設定
次にPHPの初期設定を行います。
# cp /etc/php.ini /etc/php.ini.org
設定ファイルの内容を変更します。元の設定ファイルについて.orgをつけてコピーしておきます。
# vi /etc/php.ini date.timezone = "Asia/Tokyo" mbstring.language = Japanese(コメントアウトを外す) mbstring.internal_encoding = UTF-8 mbstring.http_input = pass mbstring.http_output = pass mbstring.encoding_translation = Off(コメントアウトを外す) mbstring.detect_order = auto(コメントアウトを外す) expose_php = Off session.hash_function = sha512 session.cookie_httponly = On session.cookie_secure = On
mbstring.language、mbstring.encoding_translation、mbstring.detect_orderには、”;(セミコロン)”でコメントアウトされていますので、そのセミコロンを削除します。それら以外の項目については、右辺の文字列を入力します。
session.cookie_httponly(クッキーのHttpOnly属性)
“session.cookie_httponly”とはJavaScriptからアクセスできないクッキーを設定することです。状態を”On”にすることでクロスサイトスクリプティング攻撃からクッキーを盗み出されることを防ぐことができます。
session.cookie_secure(クッキーのセキュア属性)
“session.cookie_secure”とはクッキーのセキュア属性のことを言います。状態を”On”にするとHTTPS通信の場合のサーバーにのみクッキーが送信されることになります。
# systemctl restart httpd
php.iniの設定変更ができたら、Webサーバーを再起動させて変更の内容を反映します。
PHPの動作確認
前回の記事でバーチャルホストの機能を利用して、異なるドキュメントルートディレクトリを設けましたので、それぞれのディレクトリ(hoge1とhoge2)でPHPが使用できるかどうか確認します。
hoge1ディレクトリの場合
# cd /var/www/public_html/hoge1 # vi index.php
[php]<?php
phpinfo();[/php]
index.phpの中でphpinfoという組み込み関数を入力すると、インストールしたPHP7の情報が表示されます。
hoge2ディレクトリの場合
# cd /var/www/public_html/hoge2 # vi index.php
[php]<?php
echo "Hello World from hoge2";[/php]
一方、文字の出力を意味するecho関数を入力すると任意の文字列が表示されます。これでPHP7が正常どおりにインストールできたことになります。次回の記事ではMySQLのインストールと設定についてご紹介します。