Plesk7.5.4でWebユーザーにCGI版PHP5を適用させる方法

先日Plesk7.5.4が入っているサーバにPHP5をCGI版としてインストールしたんだけど、CGI版PHP5をWebユーザーにも使用したくなった。
通常と少々勝手が違ったのでメモ。

1.Webユーザーのドキュメントルート直下にPHPのバイナリを拡張子をcgiにしてアップデートし、パーミッション等設定
本当ならドメインユーザーにcgi-binにアップして共通して使えるようにしたいところだけど、上手くいかなかったし、vhost.confとか弄れば良いのかもだけど、追加する度にそうしてApache再起動も嫌なので。
拡張子がcgiって付けるのも気持ち悪いけどねえ、これまたしゃーない。

2.以下の.htaccessファイルをアップ
Action php5-script /~username/php5.cgi
AddHandler php5-script .php

Options +ExecCGI

今回は「php5.cgi」というファイル名でPHPのバイナリをアップし、「.php」という拡張子にPHP5を適用させたい場合。
usernameにはWebユーザー名を。

phpinfo()でPHP5の内容が表示されたら成功(多分)。

いろいろ面倒だなあ。
サーバ引越ししたいよー。

Plesk7.5.4が入っているサーバにPHP5をCGI版としてインストールする

大人の事情がいろいろあり、「PHP4で動いているPlesk7.5.4が入っているサーバにPHP5をCGI版としてインストールする」ということがしたい。
まあ、Plesk7.5.4はPHP5でも動くらしいんだけど、ホスティング会社が非推奨だし、あんまり無茶をやると怖いのでCGIとして動かせるようにしようという話。

PHP5にはlibxml2が必要らしいので、先にインストール。
現時点での最新版をいれちゃう。

cd /usr/local/src
ftp://xmlsoft.org/libxml2/libxml2-2.7.2.tar.gz
tar xvfz libxml2-2.7.2.tar.gz
cd libxml2-2.7.2/
./configure --prefix=/usr/local/libxml2
make
make install

続いてPHPをインストールしちゃう。
これも最新版の5.2.8を入れるか。

cd /usr/local/src
wget http://jp2.php.net/get/php-5.2.8.tar.gz/from/jp.php.net/mirror
tar xvfz php-5.2.8.tar.gz
cd php-5.2.8
./configure
--prefix=/usr/local/php5
--with-libxml-dir=/usr/local/libxml2/
--enable-force-cgi-redirect
--with-mysql
--with-png-dir=/usr
--with-png
--with-gd
--enable-gd-native-ttf
--with-iconv
--with-jpeg-dir=/usr
--with-jpeg
--with-zlib=/usr
--enable-mbstring
--enable--zend-multibyte
--with-ttf

make
make install

初めてのコンパイルオプションっつうことで必要最低限のものだけ入れてみたけど、まあ問題があるようなら再コンパイルすればいいか。
ちなみに再コンパイルをするときは、
make disclean
の後に
./configure ...
した方が良いらしい。
元ファイル以外は全部綺麗サッパリ削除してくれる。

いくつかエラーメッセージっぽいのが出ていたけど、一応最後まで通ったので次へ進む。
まあ、良いか悪いかというと・・・。

php.iniってのは自動で生成されないみたいだから、コピーが必要だぜ。
/usr/local/src/php-5.2.8/php.ini-dist /usr/local/php5/lib/php.ini
コピーをしたらいろいろ設定。
とりあえずこれもおいおい。

んで、今回は
・特定のディレクトリは.phpという拡張子のファイルはPHP5で、それ以外はPHP4で
・「#!/usr/local/php5/bin/php」みたいなのを、cgiみたいに入れるのは嫌だ
というルールでいきたいので、それの準備。

まずは、コンパイルした実行ファイルを/cgi-binへコピー。
PHP5.2.3移行はCGI版の実行ファイルがphp-cgiになったので注意が必要だ!
cp /usr/local/php5/bin/php-cgi path/to/cgi-bin/php5
オーナーもrootとかになっていると駄目っぽいので、変えよう。
chown hoge.hoge path/to/cgi-bin/php5

で、次に適用したいディレクトリに.htaccessファイルを置くー。
Action php5-script /cgi-bin/php5
AddHandler php5-script .php

Options +ExecCGI

ここで、.php5って拡張子だけPHP5にしたいとかだったら、こんな風に書き換えれば良いだけ。
Action php5-script /cgi-bin/php5
AddHandler php5-script .php5

Options +ExecCGI

はい、これでphpinfo()とかで確認して、ちゃんとバージョンが変わっていれば一先ずOK。
いやあ、最新版っつうのは気持ちが良いね。

Pleskでメールの転送設定する時のメモ

Plaskだと簡単にメールの転送設定が出来るんだけど、転送元のメールボックスにメールが残るのかどうか微妙だったので調べてみた。

1.転送元にはメールを残したくない場合
ドメイン > hogehoge.com > メール > test@hogehoge.com > メールボックスの管理

「メールボックス」のチェックボックスを外す
※この場合、メールボックスを使用不可にするので、メールソフトとかに設定してあった場合はアカウント自体を消すこと。

2.転送元にはメールを残したい場合
普通にメールを設定後、

ドメイン > hogehoge.com > メール > test@hogehoge.com > メール転送

「転送」のチェックボックスをチェック&転送先メールアドレスを入力

PleskのApacheのアクセスログのカスタマイズ

これまた興味深い議論を発見。
Apacheアクセスログのカスタマイズについて

結局は既存の仕様では「不可」だったんだけど、Pleskの内側を垣間見えた気がして勉強になった。
僕も案件でカスタマイズが必要なものがあるんだけど、さてどうしたものか・・・。

PleskでApacheを手動で設定する方法

これはある意味すごい!
Apacheを手動で設定する方法

Plesk環境では、Apacheの設定ファイル「~vhosts/DOMAIN.COM/conf/httpd.include」や「/etc/httpd/conf/httpd.include」を編集してもPleskが勝手に上書きしてしまい、手動での変更は破棄されてしまいます。
これで多くの人が悩んでいたと思うけど、長年の問題を解決できる人も多そう。
まあ、保護ディレクトリ(BASIC認証)とかしたら、それはそれで手動で反映させないといけなくなるんだけどね。
じゃあPlesk使わなくても良いじゃんって話になる。

なんだかなー。
≪ 前のページ 1 | 2 1 of 2

アーカイブ

2012

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12

2011

2010

2009

2008

2007

コンタクト

longkey1[at]gmail[dot]com