波打際のブログさん

主に、プログラミング備忘録など。

CentOS6.4でFuelPHPを導入するための下準備

はじめに

 最近流行りのFuelPHPをCentOS6.4に導入した際の備忘録です。今回は導入に必要な環境構築を行います。

前提条件

 次の2つの記事に沿ってApache2.4.4をコンパイルしてインストールし、設定を済ませていること。

環境

  • CentOS6.4
  • Apache2.4.4

本項で導入する環境

  • PHP5.4.16
  • MySQL5.6

表記について

 本記事では、圧縮ファイルをダウンロードした際の解凍コマンドは省略しています。ダウンロード後に、圧縮ファイル名のディレクトリに移動している場合は、解凍してカレントディレクトリを移動したものとみなしてください。


それでは、実際に導入していきます。

curlのヘッダファイルをインストール

 PHPコンパイル時に必要なのでyumを使用してヘッダファイルをインストールします。

$ sudo yum install curl-devel

MYSQLのインストール

 今回は最新版を利用する必要があったので、公式サイトからrpmをダウンロードしました。

ダウンロード

 公式サイトから

server client shared develのrpmをダウンロードします。

$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.12-1.el6.i686.rpm/from/http://cdn.mysql.com/
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.12-1.el6.i686.rpm/from/http://cdn.mysql.com/
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-shared-5.6.12-1.el6.i686.rpm/from/http://cdn.mysql.com/
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.12-1.el6.i686.rpm/from/http://cdn.mysql.com/

古いMYSQLの削除

 デフォルトで入ってるmysqlをアンインストールします。依存関係チェックが動作して削除できないので、--nodepsオプションを使います。yumを使用して強引に削除しようとした場合、他のパッケージも一緒に削除されて大災害が発生するので絶対にやらないでください。

$ sudo rpm -e --nodeps mysql-libs-5.1*

インストール

 先ほどダウンロードしたrpmパッケージをまとめてインストールします。

$ sudo rpm -ivh MySQL-*.rpm

MYSQLの設定

 デフォルトでは文字コードが日本語に対応していないので、/usr/my.cnfを編集してUTF-8に書き換えます。(必要な部分のみ抜粋していますので、現存のmy.cnfに追記・修正をおこなってください。)

[mysqld]
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
 
[mysql]
default-character-set = utf8
 
[client]
default-character-set = utf8
 
[mysqldump]
default-character-set = utf8

MCryptのインストール

 PHPMCryptを利用するので導入します。

ダウンロード

 公式サイトからダウンロードしてインストールを行います。

$ wget http://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

コンパイルとインストール

 特に設定せずともすんなり進みました。

libmcrypt-2.5.8 $ ./configure
libmcrypt-2.5.8 $ make
libmcrypt-2.5.8 $ make install

PHPのインストール

 一番の山場です。

ダウンロード

 公式サイトからダウンロードを行います。

$ wget http://jp1.php.net/distributions/php-5.4.16.tar.gz


コンパイルとインストール

 今回は下記オプションでインストールしました。

php-5.4.16 $ ./configure --with-curl --with-curlwrappers --enable-mbstring --with-openssl --with-zlib --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --with-mcrypt --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr --with-mysql=/usr
php-5.4.16 $ make
php-5.4.16 $ make install

PHP設定ファイルをコピー

 設定ファイルがソースコードに同梱されているので、所定の場所へコピーします。

php-5.4.16 $ cp php.ini-development /usr/local/lib/php.ini

PECLを使用して必要なライブラリを追加する

 PECLPHP Extension Community Library・ピクル)を利用すると、PHPで利用できる拡張ライブラリを簡単にインストールできます。今回は必要なライブラリをPECLを使用してインストールします。

curl

 phpのソースディレクトリ中にcurlライブラリのpackeageがあるので、そこからインストールします。

php-5.4.16 $ sudo pecl install ext/curl/package.xml

PDO_MYSQL

 PDO_MYSQLのインストールは少々面倒で、mysql-develをrpmでインストールした場合、mysql.h等のヘッダファイルをPECLが見つけてくれません。そこで、コンパイルオプションでヘッダファイルの場所を指定してコンパイル&インストールする必要があります。

 執筆時には下記コマンドで PDO_MYSQL-1.0.2.tar.gz がダウンロードされました。

$ sudo pecl download PDO_MYSQL
  • phpizeコマンドの実行
PDO_MYSQL-1.0.2 $ phpize
  • コンパイルとインストール

 CPPFLAGSにヘッダファイルの場所を指定してコンパイルします。

PDO_MYSQL-1.0.2 $ ./configure CPPFLAGS='-I/usr/include/mysql/'
PDO_MYSQL-1.0.2 $ make
PDO_MYSQL-1.0.2 $ make install

  • php.iniの設定

 PDO_MYSQLのモジュールをロードするために、次の1行をphp.iniに追記します。

extension=pdo_mysql.so

Apacheの設定

 ApacheからPHPを実行する設定を行います。/usr/local/apache2/conf/httpd.confの390行目付近に設定を追記します。

AddType application/x-httpd-php .php

あとがき

 以上でFuelPHPを動作させるために必要な環境が整いました。次回はFuelPHPを実際に導入した手順についてまとめる・・・予定です。

 また、この記事は導入の際の備忘録を元に執筆しております。なので、無意識に他のパッケージなどをインストールしてしまった場合などがあるかもしれません。もし、必要なパッケージなどを発見した場合、コメント欄からご指摘いただければ幸いです。