y2blog » OSXServerのPHPにGDライブラリを組み込む方法

4

29

2008

OSXServerのPHPにGDライブラリを組み込む方法

OSXServerのPHPにGDライブラリを組み込む方法


これまで何度か OS X Server について紹介してきましたが、今回は OS X Server に標準で備わっている PHP5 に GD ライブラリを組み込む方法について紹介します.

OSX Server 10.5 では 標準で PHP 5.2.5 (4/28 2008 時点)が組み込まれていますが、残念ながら GD ライブラリが組み込まれていません.GD ライブラリはJPEGやPNGなどの画像を扱う際にとても便利なグラフィックライブラリで、画像のサムネイル(縮小画像)を作成したり、簡単なグラフィック描画機能をPHPに組み込むことができます.先日紹介した WordPress の NEXTGen Gallery プラグインを動かすのにも、この GDライブラリが必要です.

Apple が最初から OS X Server の PHP に GDライブラリを組み込んでくれれば問題ないのですが、OSX Server の次のマイナーバージョンUP (10.5.3 : 多分今週中にぐらいに正式にリリースされるかも)でも、GDライブラリは組み込まれていません.

仕方がないので自分でGDライブラリをインストールするしかないのですが、GDライブラリを組み込むには PHPのライブラリそのものを入れ替える必要があります.このような方法を採ってしまうと、セキュリティーアップデートなどで、PHPのモジュールが入れ替わってしまった場合に、また作り直しになってしまうという厄介な問題が発生します.OS X Server に All in one サーバの快適さを求めるユーザには向きませんが、どうしてもGDライブラリが使えるPHPを使いたい方は、リスクを承知の上でトライして見て下さい.


GD ライブラリをPHPに組み込む際に参考になるサイトを幾つか挙げておきます.

・iFranky さんの “Mac OS X Server – Installing GD Library

(英語のサイトですが、 詳しい手順を載せたPDFマニュアルが用意されています.残念ながら OSX Server 10.4 に関する情報ですが、10.5 でも殆ど同じ手順でインストール可能です)

 Installing GD Library (PDF)

 Updating PHP (PDF)

上記の PDF マニュアルをダウンロードしておいて下さい.


日本 PHP ユーザ会


PHPマニュアル

インストール手順


詳しいインストール手順は、 iFranky さんのPDFのマニュアルに書かれているので、そちらを参照下さい.ここでは要約だけを書きます.

1.ソースコードの入手


  次のソースコードを適当なサイトからダウンロードして下さい.

  

   ・PHP 5.2.5 ダウンロード先

   ・gd 2.0.35  GDライブラリ

    (現時点での安定版は 2.0.35 です)

   ・libpng 1.2.26 libpng

    ( 1.2.26にはバグがあるようです.次期バージョン 1.2.27 でこのバグを解消する予定だそうです

     ので、注意して下さい.CVE-2008-1382

   ・jpeg-6b 入手先:Source Forge  

   iFranky さんのマニュアルでは zlib 1.2.3 も入手するように書かれていますが、OSX Server に

  ライブラリがインストールされているので、ソースからインストールする必要はありません.

2.ソースコードを適当なディレクトりの下で展開します.



3.libpng のインストール


  libpng を展開したディレクトリに移動して、scripts ディレクトリにある darwin 用の makefile を

  本番用の Makefile として用意する

  server3:libpng-1.2.26 yasuaki$ cp scripts/makefile.darwin Makefile

  Makefile の内容を修正する 【修正前】


【修正後】



  そのまま make するとエラーとなるので、一旦 configure を行ってから make する.

 server3:libpng-1.2.26 yasuaki$ ./configure

 server3:libpng-1.2.26 yasuaki$ make

 server3:libpng-1.2.26 yasuaki$ sudo make install

4.libjpeg のインストール

 libjpeg をインストールする前に、GDライブラリを展開したディレクトリに移り、一旦 configure を

 行い、libtool というシェルスクリプトを libjpeg を展開したディレクトリにコピーする.

  

 server3:gd-2.0.35 yasuaki$ cp libtool ../jpeg-6b/.

 libjpegを展開したディレクトリに移り、 –enable-shared オプションを付けて configure してから

 make , make install を行う.

 ( make install 時に “/usr/local/man/man1” ディレクトリが無いとエラーになるので、予め

   作成しておくと良い.man ページのインストールエラーになっても特に問題はない.)

 server3:gd-2.0.35 yasuaki$ cd ../jpeg-6b

 server3:jpeg-6b yasuaki$ ./configure –enable-shared

 server3:jpeg-6b yasuaki$ make

 server3:jpeg-6b yasuaki$ sudo make install

5.GDのインストール


 GDのインストール作業を行う前に、次のシンボリックリンクを貼る.

 server3:gd-2.0.35 yasuaki$ sudo ln -s /usr/X11R6/include/fontconfig /usr/local/include

 GDを展開したディレクトリで、 –with-freetype=/usr/X11R6 オプションを付けて configure、

 make , make install する.

 server3:gd-2.0.35 yasuaki$ ./configure –with-freetype=/usr/X11R6

 server3:gd-2.0.35 yasuaki$ make

 server3:gd-2.0.35 yasuaki$ sudo make install

 以上の処理が無事終了すると、/usr/local/lib ディレクトリに GD 、libjepeg, libpng のシェアード

 ライブラリが作成される.


6.PHP5.2.5 のインストール

 OSXServer ではインストール先やオプションの構成が一般的な PHPのインストールと異なっているので、

 予め、次のコマンドでディレクトリ情報や構成オプションなどを確認しておいて下さい.

 server3:php-5.2.5 yasuaki$ /usr/bin/php -i

 上記のコマンドの出力情報を確認しながら、次のような構成オプションを付けて configure します.


注)上記の例では、表示の都合で改行を入れてありますが、実際は1行のコマンドです.

イタリック体の太字の部分が今回新たに加えた構成オプションです.幾つかの構成オプションが不明だと文句を

言われてしまいますが、無視して下さい.


後は、いつものように make, make install して下さい.この作業は結構時間が掛かります.

できれば make install する前に、 オリジナルの PHP ライブラリ /usr/libexec/apache2/libphp5.so を

どこか別な場所にバックアップしておいてください.



7.Apache の再起動


  Server Admin Tool か、コマンドラインを用いて Apche サーバを再起動して下さい.

  エラーがないかどうか Apache のログ出力を確認しておきましょう.

  server3: yasuaki$ sudo apachectl graceful restart

8.PHP の情報確認


  info.php などの名前で適当な場所に次の1行を記述したファイルを置き、実際に WEBブラウザから

  info.php にアクセスしてPHPの詳しい情報を表示してみましょう.

  <?php phpinfo(); ?>


以上簡単にGDライブラリをPHPに組み込む手順を紹介しました.参考までにGD組み込み後のphpinfo() の情報を載せておきます. 


Local Search

Calendar

September 2018
S M T W T F S
« Aug    
 1
2345678
9101112131415
16171819202122
23242526272829
30  
  • Blogroll

  • Meta