CentOS6.4でFuelPHPを導入するための下準備
はじめに
最近流行りのFuelPHPをCentOS6.4に導入した際の備忘録です。今回は導入に必要な環境構築を行います。
前提条件
次の2つの記事に沿ってApache2.4.4をコンパイルしてインストールし、設定を済ませていること。
環境
- CentOS6.4
- Apache2.4.4
本項で導入する環境
- PHP5.4.16
- MySQL5.6
表記について
本記事では、圧縮ファイルをダウンロードした際の解凍コマンドは省略しています。ダウンロード後に、圧縮ファイル名のディレクトリに移動している場合は、解凍してカレントディレクトリを移動したものとみなしてください。
それでは、実際に導入していきます。
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のインストール
ダウンロード
公式サイトからダウンロードしてインストールを行います。
$ 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を使用して必要なライブラリを追加する
PECL(PHP 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
あとがき
以上でFuelPHPを動作させるために必要な環境が整いました。次回はFuelPHPを実際に導入した手順についてまとめる・・・予定です。
また、この記事は導入の際の備忘録を元に執筆しております。なので、無意識に他のパッケージなどをインストールしてしまった場合などがあるかもしれません。もし、必要なパッケージなどを発見した場合、コメント欄からご指摘いただければ幸いです。