2008年09月05日

さくらインターネットでhtmlファイルをPHPとして動かす

数日前にさくらインターネットのスペースを借りました。

というのも、今まで借りていたPHP・MYSQLが使えるフリーのレンタルサーバの仕様が変わり、非常に使いにくくなってしまったからです。

で、移行作業をしていたのですが、拡張子がhtmlでソース中にPHPスクリプトを使っているファイルがあることに気付きました。

AddType application/x-httpd-php .html

通常は.htaccessにこのように書けば簡単に設定できてしまうのですが、さくらではその方法がどうやら使えないようです。

更に調べていると、その方法が書かれた文献をいくつか見つけたのですが、なぜかその通りにやっても500エラーになってしまいました。

結果、色々やってなんとか実現できたのでその方法を書きます。





・SSHでサーバと接続
・バイナリファイルをコピーしてリネーム
・パーミッション変更
・.htaccess設置

大まかな手順はこんな感じです。

以下にもう少し細かく手順を記します。


1.SSHでサーバと接続


FTPクライアントを使ってASCIIモードでやりとりをしてもできそうなのですが、私はうまくいかなかったのでSSHを使います。
SSHクライアントは私は普段PuTTYを使っているのでこれを使いました。

アカウント入力
login as: アカウント名



パスワード入力
アカウント名@アカウント名.sakura.ne.jp's password: パスワード



Last login: 日付 from 接続ホスト名
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.

FreeBSD 6.1-RELEASE-p23 (SAKURA9) #0: 日付

Welcome to FreeBSD!

%


上のように表示されれば接続完了です。


2.バイナリファイルをコピーしてリネーム


最近調べた文献ではどれもbinの下のphpをコピーすると書いてあったのですがそれをコピーして手順を完了してもどうしても500エラーになってしまいました。
で、さくらのPHPはcgi版だということを思い出し、binの下のphp-cgiを使ったらうまく動作しました。
ですのでphp-cgiをコピーしてphp.cgiにリネームします。
コピー先については、そのディレクトリ以下に対してphpを拡張子htmlでも動かすという設定になるので私はドキュメントルートに置きました。
(ドキュメントルートより下にある特定のディレクトリ以降をその設定にしたい場合はそのディレクトリ内にコピーします。)

% cp /usr/local/php-5.2.6/bin/php-cgi /home/アカウント名/www/php.cgi


3.パーミッション変更


php.cgiを置いたディレクトリとphp.cgi自身のパーミッションを705か755に変更します。
ドキュメントルートへ置く場合は既に755になっているのでphp.cgiだけ変更します。

% chmod 705 php.cgi


4..htaccess設置


このファイルはローカルで作ってFTPでアップしても大丈夫だと思うのですがせっかくなのでviで作ってしまいます。

移動
cd /home/アカウント名/www/

.htaccess新規作成
% vi .htaccess

iを押してINSERTモードにします。
以下の3行をコピーして、SSHクライアント上でCtrl+Vで貼り付けます。
DirectoryIndex index.html index.php .ht
Action myphp-script /php.cgi
AddHandler myphp-script .php .html

貼り付いたら

INSERTモード解除
Escキー押す

保存して編集終了
% :wq


これで.htaccessファイルができました。


テスト


test.htmlというファイルを作り、中に
<?php
echo "テスト";
?>


と書いてFTPでドキュメントルートにアップ。

ブラウザで確認したところ、きちんと表示されました。




追記:

この記事を書いている最中に色々ディレクトリをのぞいていたのですが、どうやらPHPのバージョンが4の場合はphpというバイナリファイルでいいみたいです。

/usr/local/php-5.2.6/bin

にはphpとphp-cgiがあるのですが、

/usr/local/php-4.4.9/bin

にはphp-cgiはありませんでした。

ですので私のようにバージョン5を使う人はphp-cgiを使ってください^^;

何かしら参考になりましたらクリックをよろしくお願いします
にほんブログ村 IT技術ブログへ   人気ブログランキング    
この記事へのコメント
むつかしそうですけど、応援!
Posted by アイトップ at 2008年09月05日
>> アイトップさん
訪問ありがとうございます。
そちらにもまた寄らせていただきます m(_ _)m
Posted by トモヒロ at 2008年09月06日
私もこれやりたくて色々探してここに行き着きました。
まだできてませんが、一つ前進できましたありがとうございます!
Posted by JEX at 2008年11月08日
>> JEXさん
コメントありがとうございます。
上記の方法でいけると思います。
ご検討をお祈りします^^
Posted by トモヒロ at 2008年11月08日
できました!!
本当にありがとうございました!
何個もサイト回って全然できなくてほとんどあきらめてました。
ここに辿り着いて本当に良かったです。

ところで後進者のためにFFFTPを基準にこの記事の画像版を勝手ながら作ってみました。
http://fatalita.sakura.ne.jp/Column/PHPSakura/
Posted by JEX at 2008年11月08日
>> JEXさん
参考になってよかったです^^
説明ページ、拝見させていただきました。
私なんかの記事よりもずっと丁寧でわかりやすいですね^^
リンクも貼っていただきありがとうございます m(_ _)m
そこでちょっと気づいたのですが貼っていただいたリンクURLの
http://webtech.seesaa.net/article/106054365.html
以降の
?reload=2008-11-08T04:29:14
↑この部分はいらないかと思います^^;
また何か有りましたらお立ち寄りください m(_ _)m
Posted by トモヒロ at 2008年11月09日
早速訂正いたしました。
まだまだ素人で今後もお世話になると思いますがよろしくお願いします。
Posted by JEX at 2008年11月09日
さくらがTELNET終了したので、この記事がたいへん参考になりました。ありがとうございました。
Posted by satoru at 2009年03月27日
>> satoruさん
わざわざコメントありがとうございます。
参考になったようでよかったです^^
Posted by トモヒロ at 2009年04月02日
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

さくらインターネットにて拡張子 .html のファイルを PHP として動かす
Excerpt: どうしてこれが必要だったのかー、というのはまぁ、おいおい。自宅でそれだけコーディングできるかにかかってると思います!
Weblog: talk to oneself 2
Tracked: 2009-04-05 09:16

.htmlのままPHPを使おう!(さくらインターネット編)
Excerpt: このブログの方はロリポップさんとこで動いてるんですが、 別件でさくらインターネットさんの方も使わせてもらってます。 MT4の方もそこにインストールしてるんですが、 カスタマイ
Weblog: てるてるブログ
Tracked: 2010-04-27 14:11
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。