【CentOS】PHPのインストールと設定

今開発中のiOSアプリ、コーヒーノートのサポートサイトを製作したのですが、ユーザの方がリクエストとかを送って下さった時に自分のメールアドレスにメールが届いたらすぐ見れるのでそうしよう、と。

デザインは徹夜でゴリゴリとCSS書きまくったのだけど肝心なPHPがサーバーにインストールされていないことに気付く。

といことで良い機会だしサーバーにPHPをインストールしてその設定もするところまでをまとめておいてまたなんかあったときのために記事にしておく。

参考記事は以下。

Apache2 PHP5 インストール | CentOSサーバー構築マニュアル

設定ファイルのパス等はCentOSでのものなのでご了承ください。redhatのバージョン情報は下のような感じです。

# cat /proc/version 
Linux version 2.6.18-194.17.4.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Mon Oct 25 15:50:53 EDT 2010

PHPインストール

まずはyumphpをインストール。verは5

$ yum -y install php php-mbstring php-mysql
[root@sub0000539504 ~]# php --version
PHP 5.1.6 (cli) (built: Nov  6 2014 12:25:07) 
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

うん、入ってる。

httpd.conf編集

続いて実際にphpファイルを使用可能な状態にする設定。httpd.confをいじります。パスは/etc/httpd/conf/httpd.conf

以下で、ディレクトリ指定のリクエストに対して返すデフォルトのファイルにindex.phpを追加。

$ vi /etc/httpd/conf/httpd.conf
DirectoryIndex index.html index.html.var index.php

続いて.phpファイルを使えるように設定。

# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php # 追加

AddTypeやMIMEタイプについて知らなかったのでここの記事でまとめた。

php.ini

続いてphpの初期化ファイルであるphp.iniを編集

$ vi /etc/php.ini

変更点は以下。

expose_php = Off ; phpのバージョンを露出しない

max_execution_time = 300    ; Maximum execution time of each script, in seconds もっと長ーく。

default_charset = "UTF-8"       ; デフォルトの文字コードをUTF-8に

post_max_size = 20M ; もっと大きめでも許して

upload_max_filesize = 20M       ; もっと大きめでも許して

date.timezone = Asia/Tokyo  ; タイムゾーンの設定

mbstring.internal_encoding = UTF-8  ; 内部文字エンコーディングの変更

mbstring.http_input = UTF-8 ; httpd文字入力の文字エンコーディング変更

mbstring.http_output = UTF-8    ; 出力も

mbstring.encoding_translation = On  ; 内部文字エンコーディングの有効化

apacheの再起動

設定できたらサーバーを再起動

$ /etc/rc.d/init.d/httpd restart

以下のようになればok

Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

phpの設定確認

そしてphpの設定はphpinfo()という関数によって吐き出せるらしい。 参考記事に書いてた方法は以下。

$ echo "<?php phpinfo(); ?>" > /var/www/html/info.php

これでドメイン名/info.phpにアクセスすればおなじみにphpの設定情報画面を見れる。

ということでphpの設定でしたー!

こういうの自分でしないとサーバの勉強がいっこうに進まないことを学べました...!!