apacheのconfigureで”configure: error: APR not found.”とでてエラー終了した

apacheのインストールをしようとしたら以下のエラーが発生した。

$ cd httpd-2.4.3
$ ./configure --enable-so
checking for APR... no
configure: error: APR not found.  Please read the documentation.

APRというモジュールがなくて、エラー終了しています。

なので、APRモジュールをインストールします。
まずは以下のサイトにアクセスしてモジュールのソースをダウンロードします。

http://apr.apache.org/

ダウンロードページは以下
http://apr.apache.org/download.cgi

APRをダウンロード「Unix Source: apr-1.4.6.tar.gz」
APR-utilもダウンロード「Unix Source: apr-util-1.5.1.tar.gz」

aprのインストール

$ tar xvfz apr-1.4.6.tar.gz
$ cd apr-1.4.6
$ ./configure
$ make
# make install

apr-utilのインストール

$ tar xvfz apr-util-1.5.1.tar.gz
$ cd apr-util-1.5.1
$ ./configure --with-apr=/usr/local/apr
$ make
# make install

これで、再度apacheのインストールを実行すれば、このエラーが解決されているはずです。

PHPにアクセスするとソースが表示されてしまう

PHPをインストールしたけども、ブラウザからphpファイルを見るとソースが表示されてしまう!

ってことが発生しました。

そういう場合の対処方法は、httpd.confの”AddType application/x-gzip .gz .tgz”の行の下に
以下の二行を追加して、apacheを再起動します。

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

これで、見れるようになるはずですが、見れなかったら他に原因がある可能性があります。

PHPのconfigureが”Sorry, I cannot run apxs.”とでてエラー終了する

PHPをインストールする際のconfigureコマンドで、以下のコマンドが出力
されて失敗した場合、apxsがないことが原因です。

“Sorry, I cannot run apxs. Possible reasons follow:”

apxsは、apacheをインストールすると同時にインストールされるものなので
apacheがインストールされていれば基本的に存在するはずです。

apxsを探す

findコマンドを使ってapxsを探してみてください。

# find / -name apxs

apacheをインストールしなおす

findコマンドで見つからなければきっとないので、apacheをインストールしなおして
apxsを導入します。

まず、http://httpd.apache.org/からapacheの
ソースをダウンロードします。

ここでは「Unix Source: httpd-2.4.3.tar.gz」をダウンロード。

サーバにアップして解凍。

$ tar xvfz httpd-2.4.3.tar.gz
$ cd ../httpd-2.4.3
$ ./configure --enable-so
$ make
# make install

これで、インストールは完了です。

とちゅうで問題が発生した場合は以下を参照してください。

  • apacheのconfigureで”configure: error: APR not found.”とでてエラー終了した
  • apacheのconfigureで”configure: error: pcre-config for libpcre not found.”とでてエラー終了した

PHPのインストール

1. ソースのダウンロード

まずは、以下のサイトからphpのソースをダウンロードします。

http://php.net/downloads.php

この時の最新は、5.4.9でした。
Linuxで使用するので、「PHP 5.4.9 (tar.gz)」というやつをダウンロード。

2. ファイルのアップロードと解凍

・ffftpなどを使い、Linuxサーバへダウンローダファイルをアップロードします。
・アップロードしたら、Linux上でファイルの解凍を行います。

$ cd php-2.4.4
$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
$ make
# make install

これで、phpのインストールは完了です。

ただし、うまくいかない場合もあります。
その時は以下を参照してください。

PHPのconfigureが”Sorry, I cannot run apxs.”とでてエラー終了する
PHPにアクセスするとソースが表示されてしまう

PHP関連リンク集

「Warning: strftime(): It is not safe to rely on the system’s timezone settings….」ってでる。

Smartyを使っていたら以下のようなエラーがでた。。。

「Warning: strftime(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Tokyo’ for ‘JST/9.0/no DST’ instead in /usr/local/lib/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 169 」

どうやら、システムのタイムゾーンが設定されてないぞ!date_default_timezone_set()とかを使って設定しといたほうがいいよ。
とりあえず、’Asia/Tokyo’を設定しといたぞ。と言っているみたい。

ということで、以下の一文をスクリプトの最初に入れておけばOKです。

date_default_timezone_set('Asia/Tokyo');

php.iniで設定する場合は、”date.timezone”に設定します。

date.timezone = Asia/Tokyo

メール起動PHPスクリプトでsmartyのテンプレートファイルがないって言われる

$smarty_obj->template_dir
$smarty_obj->compile_dir

をフルパスにしたら行けた。

メールには以下のエラーが記録されていた

 Fatal error: Uncaught exception 'SmartyException' with message 'Unable to
    load template file 'limit_notice.tpl'' in
    /www/lib/Smarty/libs/sysplugins/smarty_internal_template.php:163 Stack
    trace: #0