2016.12.12

Plesk 12 - 最新のPHP7を使ってみよう

難易度
2
カテゴリー
やってみよう!
タグ
plesk

161212_plesk12-php7_mv

早速ですが、Plesk12の次期バージョン Plesk Onyx(プレクスオニキス)が安定バージョンとして正式に公開されました。Webアプリケーション開発者には、Git、Ruby、Node.js等の最新開発ツールを、サーバー管理者には、Docker、OSパッケージアップデート等の運用支援ツール等、魅力ある機能を盛りだくさん提供します。GMOクラウドのサービスでもPlesk Onyxの提供検討を進めていると聞いております。期待して待ちましょう。Pleskのウェブサイトでは、Plesk Onyxの機能概要、デモリンク等を紹介しております。ぜひお立ち寄りください。

Plesk Onyx
日本語ドキュメントページ

さて今回の記事では、Plesk12上で PHP7を使ったWebサイト設定方法について説明します。

PHPといえば、WordPress等のWebアプリケーションを稼働させるためのスクリプト言語として有名で、全世界の多数のWebサイトで広く利用されています。Pleskでもコントロールパネルの操作を通して、PHP内の各種パラメータ設定の調整が可能です。さらに、Webサイトごとに PHP のバージョンを変更できることです。1 OS内に複数のWebサイトが混在し、Aドメインでは PHP5.3を、Bドメインでは PHP7を適用すると共に、それぞれに異なるPHPのパラメータ設定を割り当てることが可能です。

コマンドラインで一から設定すると非常に手間のかかる作業が、GUIを通して簡単な操作で完了します。1サーバー - 1サイトの環境を前提とする運用をしていても、もう一つPHPのバージョンを変更したテスト用サイトを短時間で立ち上げ、公開するWebサイトを稼働させながら、裏で十分な検証を進めることも容易です。つまり、開発者はWebアプリケーションの運用/開発に注力することが可能になります。

以降では、WordPressを動かしているCentOS6提供のPHP5.3を、PHP7に切り替える手順を説明します。残念ながら、最新のPHP7と旧バージョンのPHPの機能/性能比較はここではしません。インターネット検索を通して2つのキーワード“PHP7 比較”を調べてみるのもよいでしょう。


Ⅰ. PHP7のインストール

ご利用のPlesk12でインストールされているPHPのバージョンを確認し、PHP7パッケージを対象OSにインストールしましょう。
いつものように、Plesk管理者としてログインし、[ツールと設定]-[アップデートとアップグレード]を選択します。別ウィンドウが表示されるので、rootアカウント情報を入力して[Pleskのインストールおよび更新]のページを表示しましょう。この先のページが表示されない場合、前回記事 “Plesk 12- qmail/ Courier-IMAPを Postfix/Dovecotに切り替えよう”のファイアウォール設定をご確認ください。

[コンポーネントを追加/削除]のリンクを選択すると、コンポーネントのリストが現れます。[Web hosting]、[PHP interpreter versions]それぞれの”+”マークをクリックしてインストール可能なPHPバージョンを展開します。

161205_plesk_src01

PHP7が緑色でチェックされていればインストール済み。赤色”×”マークが表示されていれば、“×”マーク右の下三角マークをクリックして[インストール]を選択します。[続ける]ボタンをクリックし、説明に従って作業を進めましょう。そして、インストール完了です。もちろん他のバージョンのPHPを必要とする場合、同様に選択しておきましょう。

ところで、頻繁にバグ解決が行われているPHPですが、運用中のWebサイトに最新のPHPパッケージは用意されていますか?インストールが簡単でも日々の運用を忘れて、気が付いたらPHPの脆弱性を攻撃されてクラックされていては身も蓋もありません。Pleskで提供するPHPは、OSベンダーがバグフィックスに責任を持つPHPパッケージと、我々Plesk側がphp.netから入手してコンパイル/パッケージ化してPleskのコンポーネントとして提供する、2種類のパッケージ群があります。

前者は、OSのパッケージアップデートによって更新されるので常にOSベンダーのアップデート情報に注意しましょう。後者は、Pleskのアップデートによって最新版が提供されます。Pleskの自動アップデートがONになっていれば安心ですね。さらに忘れてならないことは、PHPの各バージョンにおけるサポート期間に注意しましょう。2016年12月現在、php.netから提供される各バージョンのPHPに対して脆弱性やバグの解決を行っているバージョンは、5.6以上のパッケージのみです。Plesk社はパッケージングしますが、php.netから提供されるソースコードに対して、バグや脆弱性の独自の改善を行いません。

先のPHPインストール画面で示された 5.5/5.4/5.3/5.2はそうした改善が行われていないものです。常にサポート対象の上位バージョンをPHPを選択するか、OSベンダー提供のPHPを選ぶようにしましょう。


Ⅱ. PHPハンドラとモジュールの設定

次に、インストールしたPHPを実行する CGI/FastCGI/FPMのモードを選択しておきましょう。必要に応じて追加extensionを加えましょう。3つのモード、CGI/FastCGI/FPMについてはここで説明しません。インターネットを検索して十分理解を進めておきましょう。
[ツールと設定]-[PHP設定]を選択します。リストに表示される“7.0.13 XXXアプリケーション”の左側、灰色の丸アイコンをそれぞれクリックして、チェックしておきましょう

161205_plesk_src02

ちなみに、GMOクラウド - ALTUS BasicでPleskサーバーを構築し、かつ、その立ち上げにテンプレート“CentOS 6.4 64bit with Plesk12_20141010”を選択している場合、デフォルトでFPMのモードをWebサイト設定に割り当てることができません。必要とする場合、事前にNginxのインストールが必要です。詳しくはPleskナレッジベースサイト How to use PHP-FPM with Apache in Plesk をご確認ください。
それでは”7.0.13 XXXアプリケーション”のいずれかのリンクをクリックしましょう。対象PHPのExtension一覧が表示されます。必要な機能Extensionが選択されていなければ、チェックし、最後に[OK]をクリックして加えておきましょう。

161205_plesk_src03


Ⅲ. WebサイトへのPHP7の適用

所定WebサイトにPHP7を割り当てましょう。各契約の対象ドメインの画面に進み、[PHP設定]アイコンを選びます。Plesk12を使った共有ホスティングサービスをご利用され、契約者アカウントでPleskにログインする場合、対象のアイコンが表示されない場合があります。Plesk管理者によって機能制限が適用されているためです。

この場合、許可いただけるかどうかを管理者に問い合わせしてみましょう。また、Plesk管理者でログインしていても、[契約]ページの一覧において、[顧客パネルで管理]のリンクから対象ドメインのWebサイト設定を参照する場合、同様にアイコンが表示されない場合があります。その場合、このリスト上の契約名をクリックした上で、所定ドメインの[ウェブサイトとドメイン]タブの画面に進み、[PHP設定]アイコンを探しましょう。

161205_plesk_src04

後は、PHPのバージョンと実行タイプを選択して[OK]もしくは[適用する]ボタンをクリックすれば完了です。[phpinfo()ページを表示]をクリックすると、対象PHPの各種パラメータ設定リストが参照できるので一度確認しておきましょう。

161205_plesk_src05


Ⅳ. 最後に

それでは、PHP7が設定されたWebサイトのアプリケーションが正しく実行されるかブラウザで確認してみましょう。今までと同様にサイトが表示されましたか?レスポンス速度はよくなりましたか?個々のPHPバージョン固有関数や内部ロジックの異差によって、考慮しなかった結果に至ることも十分あり得ます。ソースコードや既存PHPパラメータを調査し、改善する力があれば実施してみましょう。解決が難しいと判断する場合は、先の手順をさかのぼって従来バージョンのPHPに戻しましょう。ただし、重大なセキュリティ問題を抱えるような古いPHPのバージョンに戻ることはできるだけ避けましょう。
それではまた。

この記事を書いた人

鈴木隆之

某外資企業のエンジニアです。気がつけばもうシルバー世代。周囲にもっと歳をくってバリバリ働いている人ばかりで、がんばらないといけないですね。

GMOクラウドアカデミーYouTubeチャンネルはこちらから

アカデミー用バナー

メルマガ会員募集中!

アカデミーの最新情報や会員限定のお得な情報をお届けします。

メルマガ登録はこちら