さくらインターネットレンタルサーバのライトプランにPHPをインストール

主にうさぎとのくらしのトップページ表示用(汗)に使っているサーバをXREAからさくらインターネットのライトプランに移行しました。最近流行のコスト削減とか諸々のため。

さくらのライトプランではPHPやデータベースが使えません。まああきらめるしかないなと思っていたのだけれど、PHPは自力でインストールすれば使えることがわかりました。レッツチャレンジです!

結果、過去に挑戦して成功している勇者がたくさんいて情報を公開してくれているため、無知な私でも無事に動作させることができました。トップページの「更新情報」欄に表示しているブログの更新情報は、PHPで動作する「feed2js」で表示させていたのですが、引き続き表示できるようになりました。わーい

インストールにあたり、特にお世話になったのが以下のサイトです。

さくらサーバーのライトプランにPHPをインストール
さくらインターネットのライトプランでPHP5.2.6を使う

とはいえ、PHPのバージョンが違っていたりするあたりでいろいろとあるのか、やや悩むところはありました。なので備忘録として以下にまとめておきます。
■A:事前準備

1. 以下をダウンロードして、FTPソフト(FFFTPなど)でそれぞれアップロードします。

★php-5.2.6.tar.gz
ダウンロード:http://www.php.net/releases/
→「/home/(アカウント)/work」へアップロードします(「work」は自分で作成)
※最新版は5.2.8ですが、ある程度リリースから時間が経っているものが安心な気がしたので、5.2.6(Released: 01 May 2008)にしました。

★telnet.cgi
ダウンロード:http://www2d.biglobe.ne.jp/~gama/cgi/tools.htm
→「/home/(アカウント)/www/」 へアップロードし、+パーミッションを700にします。
※ライトプランではtelnetが使えないためtelnet.cgiを利用します。危険なのでPHPの準備ができたらすぐに削除すること!

2.PHPコンフィグ用の以下のフォルダをFFFTPで作成。
パーミッションはすべて755にします。

/home/(アカウント)/share/
/home/(アカウント)/share/pear5
/home/(アカウント)/local
/home/(アカウント)/php5/
/home/(アカウント)/php5/pear/
/home/(アカウント)/php5/pear/cache;
/home/(アカウント)/bin
/home/(アカウント)/www/cgi-bin



■B:ファイルの解凍

1.telnet.cgiをブラウザで表示し(http://(アカウント).sakura.ne.jp/telnet.cgi)、
入力欄に以下のコマンドを入力して「/home/(アカウント)/work」へ移動します。
「pwd」のコマンドで、現在いるディレクトリを確認できます。

cd ../work



2.「ls」のコマンドで、「php-5.2.6.tar.gz」がworkにあることを確認。

ls



2. 以下のコマンドで「php-5.2.3.tar.gz」を解凍。
「/home/(アカウント)/work/php-5.2.6」が作成されます。

tar xzvf php-5.2.6.tar.gz



■C:conf.shの準備

「conf.sh」のファイル名で、以下の内容のテキストファイルを作成。
FFFTPで「/home/(アカウント)/work/php-5.2.6」へアップロードします。

conf.shの改行コードは「LF」にすること
そうしないと、次の手順で「sh conf.sh」したとき、パスが見つからないというエラーが表示されて、「make install」でも「Permission denied」で失敗します。 秀丸の場合、保存のダイアログボックスの「改行コード」欄で「改行=LF」を選んで保存すればOK。
サンプルもこちらに置いておきますので、必要ならダウンロードしてご利用ください。

conf.sh

#!/bin/sh

./configure \
--prefix=/home/(アカウント) \
--with-config-file-path=/home/(アカウント)/www/cgi-bin \
--program-suffix=5 \
--with-pear=/home/(アカウント)/share/pear5 \
--enable-force-cgi-redirect \
--enable-mbstring=all \
--enable-mbregex \
--enable-mbstr-enc-trans \
--enable-versioning \
--enable-trans-sid \
--with-mysql \
--with-openssl=/usr \
--with-soap=yes \
--with-zlib=/usr \
--with-gd=/usr/local \
--with-jpeg-dir=/usr \
--with-freetype-dir=/home/(アカウント)/local \
--with-ttf \
--with-png-dir=/usr \
--with-curl \
--with-iconv=/home/(アカウント)/local



※ほかのサイトでいろいろなconf.shが公開されていますが、私の場合はあちこち切り貼りした結果、コレでうまくいきました。赤字が特にほかのサイトと違っていて注意が必要なところ。
※「$HOME」を使った記述だと「make install」で失敗するようです。

■D:インストール(make install)

1.telnet.cgiで「/home/(アカウント)/work/php-5.2.6」へ移動し(cd php-5.2.6)、以下のコマンドを実行。
完了したら「Thank you for using PHP.」と表示されます。

sh conf.sh



2.続いて以下のコマンドを実行。

setenv PHP_PEAR_CACHE_DIR /home/(アカウント)/php5/pear/cache;



3.続いて以下のコマンドを実行(処理完了まで数分かかります)。
完了したら「Build complete.Don't forget to run 'make test'.」と表示されます。

make



4.続いて以下のコマンドを実行。

make install



※うまくいかない場合は、コマンド「make clean」後、以下を確認すること。
★conf.shの内容が間違っていないか。改行コードは「LF」になっているか
(修正した場合は「sh conf.sh」からやり直し)
★作成したディレクトリのパーミッションが間違えていないか(修正した場合は「make」からやり直し)

また、全部削除して最初からやり直すのもひとつの方法。
私はそれでうまくいきました。いろいろ手を入れているうちにおかしいことになってしまっていたのかも。

私のmake installがうまくいかなかったときの例。conf.shで$(HOME)の記載をやめたら解決しました。

Installing PHP SAPI module: cgi
Installing PHP CGI binary: /usr/local/bin/
cp: /usr/local/bin/#INST@数字#: Permission denied
*** Error code 1



■E:バイナリファイルのコピー

1.telnet.cgiで「/home/(アカウント)/bin」へ移動します。
※「/home/(アカウント)/work/php-5.2.6」にいる場合

cd ../../bin



2.続いて以下のコマンドを実行。
「/home/(アカウント)/www/cgi-bin/」に「php5.cgi」がコピーされます。

cp php-cgi5 /home/(アカウント)/www/cgi-bin/php5.cgi



3.「/home/(アカウント)/www/cgi-bin/」に移動し、「ls」のコマンドで「php5.cgi」がコピーされたことを確認。

cd ../www/cgi-bin
ls



■F:htaccessの作成

1.「.htaccess」のファイル名で、以下の内容のテキストファイルを作成。

Action php5-script /cgi-bin/php5.cgi
AddHandler php5-script .php



2.FFFTPで「/home/(アカウント)/www/」へアップロードします。

■G:動作確認(test.php)

1.「test.php」のファイル名で、以下の内容のテキストファイルを作成。

<?php
phpinfo();
?>



2.FFFTPで「/home/(アカウント)/www/」へアップロードします。

3.ブラウザで「http://(アカウント).sakura.ne.jp/test.php」を表示します。PHPのバージョン等の情報が表示されればインストールは成功です。
※うまくいかない場合は、「home/(アカウント)/www/cgi-bin」のパーミッションが755になっていることを確認。

■H:不要なファイルなどの削除

以下は削除してOKそう。telnet.cgiは必ず削除

/home/(アカウント)/www/telnet.cgi
/home/(アカウント)/bin
/home/(アカウント)/include
/home/(アカウント)/lib
/home/(アカウント)/man
/home/(アカウント)/work

マイページ
最近の記事
カテゴリ
過去ログ
便利ツール
RSS 1.0 RSS