8月 01
新規でインストールした場合にgccなどが入っていない場合があるので、もう一度手順を整理。
○APCのインストール
・ライブラリのインストール
yum install httpd-devel php-devel apr-devel gcc
※5.6辺りからpcre-develも必要。
・メモリ割り当ての変更(5.4以降では不要)
vi /usr/share/pear/pearcmd.php
——————————————
// APCインストール用にメモリを設定(8M→16M)
@ini_set(‘memory_limit’, ’16M’);
——————————————
・APCのインストール
pecl install apc
・設定ファイルの作成
—————-
extension=apc.so
—————-
・Apacheの再起動
service httpd restart
とりあえずこれで使用可能に。
7月 28
CentOS4のインストールされたサーバーでPHP5とMySQL5をインストールしてみた。
○モジュールのアップデート
とりあえず各種モジュールをアップデート。カーネルやglibcのアップデートが含まれていた場合は、再起動が必要。
ただ、RAIDドライバやなんかがカーネルに依存している場合に、正常に再起動が完了しない場合があるので、コンソールの操作できる状況で作業しましょう。
yum -y update
○PHP5のインストール
PHP4をインストールしてからPHP5へアップデートします。
モジュール類(とくにPEAR)は忘れがちなので、注意が必要。
APCを使い場合は、この作業がおわってからpeclをかけましょう。
yum install php
yum –enable=centospulus update php
yum –enable=centospulus install php-mbstring php-mysql php-mcrypt php-pear php-devel
○MySQL5のインストール
普通にyumでインストール。
yum –enable=centospulus install mysql-server
○注意事項
PHPのモジュールやMySQLの開発ツールをインストールする場合は、必ず『–enable=centosplus』を付けてインストールします。
あと、ほかのモジュールと一緒にyumをかけるとバージョンがあがってしまう場合があるので注意!
4月 06
最新版では、利用ができないので、少し古いバージョンをチェックアウトする必要がある。
2月 04
yum install httpd-devel php-devel
pecl install apc
とするだけでは、インストールされない模様。
・PEARのメモリ制限の書き換え(追記)
メモリ割り当てでエラーが発生した場合に、下記を追記。
vi /usr/share/pear/pearcmd.php
-----------------------------------—-
// APCインストール用にメモリを設定(8M→16M)
@ini_set(‘memory_limit’, ’16M’);
-----------------------------------—-
※22行目あたりのコメントに続いての追記がよい。
※上記のコードが全角で表示されている場合があるので、エディタで半角化してから書き込む必要あり。
・apr-develのインストールが必要。
yum install apr-devel
11月 19
qmailにメールキューがたまってしまった場合の操作。
1:Perlスクリプトをダウンロード
2:適当に解凍して、実行権限を付加。
-----------------------------------—
○以下は実行例
A:キューの数量を確認する場合
qmHandle -l -N
B:たまっているキューを確認する場合
・リモート配送
qmHandle -R
・ローカル配送
qmHandle -L
C:キューを削除
・特定の一つだけ削除
qmHandle -d1111111 -d2222222
・特定の2つ以上を削除
qmHandle -d1111111
※1111111、2222222はキューの番号
D:キューを全部削除
qmHandle -D
-----------------------------------—
8月 16
○CGI::Application::Plugin::TTでのテンプレート変数の扱い
変数の扱いがいまいちわかりにくかったのでメモ。
--------------------—
sub example {
my $self = shift;
# ハッシュへ値を収納
my %hash_a = (
string_b => “example_b”,
);
# テンプレート変数の収納
my %params = (
string_a => “example_a”,
hash_a => \%hash_a,
);
# 画面出力
return $self->tt_process( ‘example.tt.tmpl’, \%params );
}
# テンプレートでの利用方法
[% string_a %]
[% hash_a.string_b %]
--------------------—
○参考
作って学ぶ、今どきのWebサービス:最終回 Webアプリケーション開発にチャレンジ【後編】 (2/3) – ITmedia エンタープライズ
6月 27
一昨日あたりから、サーバーが異常に重く、メール配送が正常に行えない状況が発生。
topコマンドで、プロセスをみてみると『amavis process-quarant』という見慣れないものが、トップに鎮座し、ロードアベレージの5分平均が12~14程度で遷移していた。
suさえもおぼつかなくなってきたので、とりあえずの対策として、/etc/master.cfに記述しているamavis関連の設定を削除するとともに、postfixを停止。
メールログには、『451 4.3.0 Error: queue file write error』のように、メールキューの処理過程でエラーが発生しているらしきことが判明。
そこで、amavisの単体起動を試みたところ、『Scalar::List』でエラーが発生していたため、『Scalar::List::Utils』を再インストールし、amavisの再起動と、postfixの設定書き戻しで一件落着。
○参考サイト
週刊みけねこ通信 | 20071205
4月 13
colinuxから配布されているFedora7のイメージには、locateがインストールされていない。
wget等も入っていないようなので、設定後に一括でインストールしたパッケージをメモ。
-----—-
mlocate
wget
httpd
php
php-mysql
php-mcrypt
perl-cpan
※随時追記
-----—-
3月 02
CentOS5でmod_perlを導入してみました。
httpdおよびhttpd-develは導入済みであることを前提にしています。
○CPANモジュールのインストール
# perl -MCPAN -e “CPAN::Shell->install(Apache2::Reload)”
apxsのパスを求められた場合は、以下を入力。
/usr/sbin/apxs
○mod_perlのインストール
# yum install mod_perl
○設定ファイルの編集
# vi /etc/httpd/conf.d/perl.conf
以下を最下部へ追加。
-------------------------—-
# Indexに指定
DirectoryIndex index.pl
# 再起動時にキャッシュを破棄
# mod_perl2では不要
#PerlFreshRestart On
<Files “*.pl”>
# ハンドラの関連付け
SetHandler perl-script
# 動作モードの指定(1または2のいずれかを有効にする)
PerlHandler ModPerl::Registry # 1:速度に優れる(推奨)
#PerlHandler Apache::PerlRun # 2:既存CGIスクリプトとの互換性に優れる
# CGIで実行する場合に指定
#Options ExecCGI
# ヘッダーを出力
# 基本的には不要
#PerlSendHeader On
# モジュール内容の変更を自動的に反映
# 開発時にのみ利用
PerlInitHandler Apache2::Reload
</Files>
-------------------------—-
※拡張子(.pl)へ関連付けているので、httpd.conf内等で、AddHandlerに含めている場合は、いずれかの拡張子を変更してください。
○Apacheの再起動
# service httpd restart
○テストスクリプトの作成
$ vi /var/www/html/mod_perl.pl
-------------------------—-
#!/usr/bin/perl
use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser);
use CGI;
my $obj = new CGI();
print $obj->header,
$obj->start_html;
if (exists $ENV{MOD_PERL}) {
print ” $ENV{MOD_PERL}”;
} else {
print “mod_perl は組み込まれていません。”;
}
print $obj->end_html;
exit(0);
-------------------------—-
○スクリプトの確認
ブラウザで、スクリプトを開いて確認をしてください。
http://www.example.com/mod_perl.pl
『mod_perl/2.0.2』の様に表示がされれば、正常に動作しています。
InternalError等が起きてしまう場合には、文字コード(UTF-8等)や改行コード(LF推奨)を確認してください。
それでもうまくいかない場合には、下記コマンドでエラーログを参照しながら地道につぶしてみてください。
# tail -f /var/log/httpd/error
続き »
2月 02
■Mingのインストール方法
yumでインストールされたApache2.2とPHP5へMingをインストールします。
(1) CVSでMing最新版をダウンロード
cvs -z3 -d:pserver:anonymous@ming.cvs.sourceforge.net:/cvsroot/ming co -P ming
※CVS関連でエラーが出る場合は以下のコマンドで、開発ツール(CVS含む)をインストール
yum group install “Development Tools”
(2) コンパイル
cd ming
./autogen.sh
./configure –enable-php
下記の結果が表示されることを確認
--------------------------------------------------------
Config summary:
C++ enabled
Perl extension disabled
PHP extension enabled← ここを確認
Python extension disabled
Tcl extension disabled
ZLIB enabled (-lz)
Freetype library enabled (/usr/bin/freetype-config)
GIF library enabled (-lungif)
PNG library enabled (-lpng)
--------------------------------------------------------
make
make install
(3) インストールの確認
php -r “dl(‘ming.so’);”
↓configure時に、prifexを指定していないためか、エラーが出る。
--------------------------------------------------------
PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib64/php/modules/ming.so’ – libming.so.0: cannot open shared object file: No such file or directory in Unknown on line 0
--------------------------------------------------------
(4) ライブラリのコピー
・ライブラリのコピー先を確認
php -i | sed ‘s/ /\n/g’ | grep libdir
--------------------------------------------------------
‘–libdir=/usr/lib64′
‘–with-libdir=lib64′
--------------------------------------------------------
・ライブラリのコピー
cp -a /usr/local/lib/libming.so* /usr/lib64/
(5) インストールをもう一度確認
php -r “dl(‘ming.so’);”
何も出力されなければインストール成功。
(6)PHPのiniファイルを作成
vi /etc/php.d/ming.ini
; Enable ming extension module
extension=ming.so
(7)Apacheの再起動
service httpd restart
■注意点
コンパイルに必要なライブラリがないことが原因でインストールに失敗することがあるので、その場合は以下のコマンドで、ライブラリ群をインストールしましょう。
yum install freetype-devel libpng-devel libungif-devel php-devel httpd-devel
また、Apacheのバージョンがあがると動作しなくなる場合があるので、バージョンアップを行った場合は、もう一度インストールしましょう。
■参考
インストールに当たって、下記のサイトを参考にさせていただきました。
the distinct object