Amazon Web Service EC2のLinuxインスタンスへPHPをインストールする

aws-ec2-php-install

前回の記事では、ec2上のRedhat Enterprise Linux(以下、RHEL)へapache(httpd)をインストールして公開してみました。

AWS
aws-ec2-httpd-install-top
AWS EC2のLinuxインスタンスへApacheをインストールしてサイトを公開する

前回の記事でAmazon Web Service (以下AWS)のEC2にRedhat Enterprise Linux (ver6.4/x64)のインスタンスを稼働させるところまで紹介しました。せっかくの評価環境ですので評価してなんぼ。ま ...

今回はその続きとして、前回作成した環境へPHPをインストールしてみます。PHPのバージョンは5.3.3、apacheと同様にyumコマンドを利用してインストールを行います。

1. PHPのインストール手順

ec2上のRHELへはログインして、管理者へ移行しているところまで完了しています。

1-1. PHPパッケージの検索

まず、インストールに利用するPHPパッケージを確認します。

$ yum search php
cups-php.x86_64 : Common Unix Printing System - php module
graphviz-php.x86_64 : PHP extension for graphviz
php.x86_64 : PHP scripting language for creating dynamic web sites
php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php-cli.x86_64 : Command-line interface for PHP
php-common.x86_64 : Common files for PHP
php-dba.x86_64 : A database abstraction layer module for PHP applications
php-devel.x86_64 : Files needed for building PHP extensions
php-embedded.x86_64 : PHP library for embedding in applications
php-fpm.x86_64 : PHP FastCGI Process Manager
php-gd.x86_64 : A module for PHP applications for using the gd graphics library
php-imap.x86_64 : A module for PHP applications that use IMAP
php-intl.x86_64 : Internationalization extension for PHP applications
php-ldap.x86_64 : A module for PHP applications that use LDAP
php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
php-mysql.x86_64 : A module for PHP applications that use MySQL databases
php-odbc.x86_64 : A module for PHP applications that use ODBC databases
php-pdo.x86_64 : A database access abstraction module for PHP applications
php-pear.noarch : PHP Extension and Application Repository framework
php-pecl-apc.x86_64 : APC caches and optimizes PHP intermediate code
php-pgsql.x86_64 : A PostgreSQL database module for PHP
php-process.x86_64 : Modules for PHP script using system process interfaces
php-pspell.x86_64 : A module for PHP applications for using pspell interfaces
php-recode.x86_64 : A module for PHP applications for using the recode library
php-snmp.x86_64 : A module for PHP applications that query SNMP-managed devices
php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php-tidy.x86_64 : Standard PHP module provides tidy library support
php-xml.x86_64 : A module for PHP applications which use XML
php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
php-zts.x86_64 : Thread-safe PHP interpreter for use with the Apache HTTP Server
rrdtool-php.x86_64 : PHP RRDtool bindings
uuid-php.x86_64 : PHP support for Universally Unique Identifier library
php-enchant.x86_64 : Human Language and Character Encoding Support
php-pecl-apc-devel.i686 : APC developer files (header)
php-pecl-apc-devel.x86_64 : APC developer files (header)
php-pecl-memcache.x86_64 : Extension to work with the Memcached caching daemon

パッケージ名が複数、表示されますが、この中でインストールするものは一部です。
もちろん、要件や環境に応じて、インストールが必要なパッケージは変わってきます。
今回は、基本的なパッケージを一通りピックアップしました。

1-2. PHPのインストール

実際にインストールを行います。
インストールするパッケージは

php php-devel php-gd php-mbstring php-mysql php-pdo php-pear php-xml

になります。
yumコマンドを利用してインストールを実施します。

# yum -y install php php-devel php-gd php-mbstring php-mysql php-pdo php-peraar ph p-xml
Loaded plugins: amazon-id, rhui-lb, security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.3.3-23.el6_4 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.3-23.el6_4 for package: php-5.3.3-23.el6_4.x86_64
--> Processing Dependency: php-cli(x86-64) = 5.3.3-23.el6_4 for package: php-5.3.3-23.el6_4.x86_64
---> Package php-devel.x86_64 0:5.3.3-23.el6_4 will be installed
--> Processing Dependency: automake for package: php-devel-5.3.3-23.el6_4.x86_64
--> Processing Dependency: autoconf for package: php-devel-5.3.3-23.el6_4.x86_64
---> Package php-gd.x86_64 0:5.3.3-23.el6_4 will be installed
--> Processing Dependency: libXpm.so.4()(64bit) for package: php-gd-5.3.3-23.el6_4.x86_64
Installing:
php x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 1.1 M
php-devel x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases-optional 507 k
php-gd x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 106 k
php-mbstring x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases-optional 455 k
php-mysql x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 81 k
php-pdo x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 75 k
php-pear noarch 1:1.9.4-4.el6 rhui-REGION-rhel-server-releases 393 k
php-xml x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 103 k
Installing for dependencies:
autoconf noarch 2.63-5.1.el6 rhui-REGION-rhel-server-releases 781 k
automake noarch 1.11.1-4.el6 rhui-REGION-rhel-server-releases 550 k
libXpm x86_64 3.5.10-2.el6 rhui-REGION-rhel-server-releases 51 k
php-cli x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 2.2 M
php-common x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 524 k

(中略)

Installed:
php.x86_64 0:5.3.3-23.el6_4 php-devel.x86_64 0:5.3.3-23.el6_4
php-gd.x86_64 0:5.3.3-23.el6_4 php-mbstring.x86_64 0:5.3.3-23.el6_4
php-mysql.x86_64 0:5.3.3-23.el6_4 php-pdo.x86_64 0:5.3.3-23.el6_4
php-pear.noarch 1:1.9.4-4.el6 php-xml.x86_64 0:5.3.3-23.el6_4

Dependency Installed:
autoconf.noarch 0:2.63-5.1.el6 automake.noarch 0:1.11.1-4.el6
libXpm.x86_64 0:3.5.10-2.el6 php-cli.x86_64 0:5.3.3-23.el6_4
php-common.x86_64 0:5.3.3-23.el6_4

Complete!

Complete!と表示されれば、インストールは完了です。
念のため、インストールされたかの確認を行います。

# rpm -qa | grep php
php-cli-5.3.3-23.el6_4.x86_64
php-pdo-5.3.3-23.el6_4.x86_64
php-devel-5.3.3-23.el6_4.x86_64
php-common-5.3.3-23.el6_4.x86_64
php-5.3.3-23.el6_4.x86_64
php-mysql-5.3.3-23.el6_4.x86_64
php-pear-1.9.4-4.el6.noarch
php-mbstring-5.3.3-23.el6_4.x86_64
php-gd-5.3.3-23.el6_4.x86_64
php-xml-5.3.3-23.el6_4.x86_64

rpmコマンドでインストールしたパッケージが表示されれば、正常に完了しています。その後、php -vでインストールしたphpのバージョン情報が表示されることを確認します。

# php -v
PHP 5.3.3 (cli) (built: Jul 12 2013 04:36:18)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

2. apache側の確認

phpをインストールすると、apache側のディレクトリにライブラリや設定ファイルが追加されます。
具体的には
/etc/httpd/modules/libphp5.so
/etc/httpd/conf.d/php.conf
の2ファイルが追加されます。
上記の2ファイルが正常に作成されていることを確認します。

# cd /etc/httpd/modules
# ls
libphp5.so mod_authz_owner.so mod_filter.so mod_proxy_scgi.so
mod_actions.so mod_authz_user.so mod_headers.so mod_proxy.so
mod_alias.so mod_autoindex.so mod_ident.so mod_reqtimeout.so
mod_asis.so mod_cache.so mod_include.so mod_rewrite.so
mod_auth_basic.so mod_cern_meta.so mod_info.so mod_setenvif.so
mod_auth_digest.so mod_cgid.so mod_ldap.so mod_speling.so
mod_authn_alias.so mod_cgi.so mod_log_config.so mod_status.so
mod_authn_anon.so mod_dav_fs.so mod_log_forensic.so mod_substitute.so
mod_authn_dbd.so mod_dav.so mod_logio.so mod_suexec.so
mod_authn_dbm.so mod_dbd.so mod_mime_magic.so mod_unique_id.so
mod_authn_default.so mod_deflate.so mod_mime.so mod_userdir.so
mod_authn_file.so mod_dir.so mod_negotiation.so mod_usertrack.so
mod_authnz_ldap.so mod_disk_cache.so mod_proxy_ajp.so mod_version.so
mod_authz_dbm.so mod_dumpio.so mod_proxy_balancer.so mod_vhost_alias.so
mod_authz_default.so mod_env.so mod_proxy_connect.so
mod_authz_groupfile.so mod_expires.so mod_proxy_ftp.so
mod_authz_host.so mod_ext_filter.so mod_proxy_http.so

ファイルとしてlibphp5.soが追加されていることが確認できました。
続いて設定ファイルが追加されていることを確認します。

[root@www_test ~]# cd /etc/httpd/conf.d
[root@www_test conf.d]# ls
php.conf README welcome.conf

表示された結果にphp.confが追加されていることを確認。

3. apacheの再起動

ここまででphp側の設定は完了しています。phpのモジュールと設定ファイル読み込みを行うためapacheを再起動します。

# /etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: httpd: apr_sockaddr_info_get() failed for www_test
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[ OK ]

4. phpの動作確認

phpが正常に動作していることを確認するためには、phpinfoを利用します。
phpinfoは、コマンドが記載されたphpファイルを閲覧した場合、phpの設定情報をブラウザに表示します。設定情報が表示されれば、phpは正常に動作しています。
ここではapacheのDocumentRootが/var/www/html(インストール時のデフォルト)だとしています。
DocumentRootへ移動して、ファイルを作成します。

# cd /var/www/html
# vi index.php

でindex.phpを保存します。
ブラウザから以下のURLを入力して、phpinfoの画面が表示されれば、設定は完了です。
http://IPアドレス
phpinfoの画面です。

phpinfo

画面表示が確認できたら、サーバ側に配置したindex.phpを削除します。
phpまでインストールが終わりましたので、次はデータベース(MySQL)をインストールしていきます。
この後、環境に合わせて設定変更が必要になりますが、ここでは割愛しています。

  • この記事を書いた人
rem-profile-photo

レムシステム

レムシステムはPC・サーバー・ネットワークでの業務効率化を主な業務としている会社です。全国に対応しています。

-AWS
-