読者です 読者をやめる 読者になる 読者になる

ボールを蹴りたいシステムエンジニア

ボール蹴りが大好きなシステムエンジニア、ボールを蹴る時間確保の為に時間がある時には勉強する。

Linuxへのphp5.3インストールとApache2.2との連携(さくらVPS)

前回nagiosのインストールに失敗しました。

【失敗】Linuxへのnagiosインストール - とりあえずエンジニアの備忘録


nagiosのインストールに失敗した要因は以下の通りです

  • Apacheをソースからインストールしており設定ファイルの配置パス関連でつまづいた
  • Apacheはソースからインストールしたが、PHPyumでインストールした為に連携が上手く出来なかった

所々でエラー出て最終的にphp関連でつまづき
結果、phpをソースからインストールしようって事になりました。
今回はphpをソースからインストールする手順です。
ついでにApache連携までやっちゃいます

Apacheインストールはこちら
LinuxへのApacheインストール(さくらVPS) - とりあえずエンジニアの備忘録

・環境

さくらVPS
Linux
CentOS release 6.4 (Final)
Apache2.2.25
php5.3.27
phpのアンインストール

前回はphpyumでインストールしておりApacheとの連携でつまづいたので
phpもソースからインストールする為phpアンインストールします

yum remove php-*

なおPHPインストールの為にはgccが必要です。
Apacheインストールの時にgccはインストールしましたので
今回は手順から省きます

1.phpインストール

ダウンロード・解凍

最新版は以下よりダウンロードできます
PHP: Downloads
今回は5.3.27を使用します
ちなみに過去バージョンは以下にあります
PHP: Releases

cd /usr/local/src/
wget http://jp1.php.net/get/php-5.3.27.tar.gz/from/this/mirror
tar xzf php-5.3.27.tar.gz
コンパイル
cd php-5.3.27

./configure \
--prefix=/usr/local/php5 \
--with-apxs2=/usr/local/apache/bin/apxs \
--without-sqlite \
--enable-mbstring \
--enable-zend-multibyte \
--enable-ftp \
--enable-sockets \
--with-mysql=/usr/local/mysql \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-zlib \
--with-openssl

オプションはこれらを指定
今後phpでも色々やるかもしれないのでひと通りライブラリとかも入れておきました
PostgreSQL以外…

  • prefix

phpのホームディレクトリ

  • with-apxs2

インストール済みのApacheと連携用、apxs2のパスを指定します

  • without-sqlite

SQLiteを使わない場合指定

  • enable-mbstring
  • enable-zend-multibyte

マルチバイト関数をインストールする
日本語環境を使用するためのオプションです

FTP関数を有効にします

  • enable-sockets

socket関連の関数を有効にします(HTTPとか)

MySQL関連の関数を有効にする為にmysqlのホームディレクトリを指定します

  • with-gd

画像関連の関数を有効にします

Jpegライブラリをサポートする

pngライブラリをサポートする

FreeTypeをサポートする

  • with-zlib

zLibをサポートする

  • with-openssl

SSLをサポートする (HTTPSとか)



コンパイル実行結果…

configure: error: xml2-config not found. Please check your libxml2 installation.

コンパイルエラー発生…
libxml2-develっていうライブラリが必要らしい
って事でyumでインストール

yum install libxml2-devel

インストール後に再度コンパイルした所
今度は違うエラーが…

configure: error: Cannot find OpenSSL's <evp.h>

opensslが無い、、、インストール

yum install openssl-devel

※-develを付けないとダメみたいでした

もっかいコンパイル

+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.

やっと成功

インストール
make
make test
make install

2.Apacheとの連携

設定ファイル修正

インストールが無事完了するとApache設定ファイルに
Apachephp連携の為のモジュール読み込みの設定が追記されています

less /usr/local/apache/conf/httpd.conf                   

LoadModule php5_module        modules/libphp5.so

phpを実行する拡張子の指定の為、以下の一行を下に追記します

vi /usr/local/apache/conf/httpd.conf   

LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .phtml
Apache再起動

設定を反映させる為にApacheを再起動します

/etc/init.d/httpd restart
ブラウザからの確認

Apachephpの連携が出来ているか
確認用phpページを作成して確認します

cd /usr/local/apache/htdocs/
echo '<?php phpinfo();' >phpinfo.php

http://localhost/phpinfo.php
にブラウザからアクセスして
php設定情報ページが表示されればOKです