さくらインターネットのライトプランでもPHP?
さくらのレンタルサーバ ライトを6年近く利用しているのですが
思えば、月額125円なる魅力とブログってどんなもの?
という気持ちから始めたのでありますよ。
そんなライトプランですが、PHPやMySQLといった
データベースは使えなかったりします。
RubyやCGI、データベースはSQLiteのみ対応なので
最近主流のWordPressのようなPHPで作成された
ツールは利用出来ません。
そう、わたしには遠くから見守りながら
エールを送ることぐらいしか出来ないのです。
べ、別に使ってあげたいわけじゃないんだからねっ!
・・・( ̄▽ ̄|||)
さくらのレンタルサーバ非公式FAQ
念のためサポートに連絡したところ、PHPを自分でインストールして使用する事は
規約、禁止事項に触れる事柄ではなく、特に問題は無いとの事。
ただ、PHPのバージョンによって違いが出てくるのか少なからず
導入に失敗しているかたもいるのでこちらの記事を参考にして進めてみました。
1、PHP導入に必要なもの
→ php-5.2.17.tar.gz
最新版はPHP 5.3.6ですが、5.3.xだと動かないアプリケーションも
あるようなのでPHP 5.2.17を入れました。
サーバーコントロールパネルでみると現時点でさくらに入っているのも5.2.17
※リンク先に5.3.5以下のバージョンがありますので必要に応じて
好きなバージョンを選択してください。
最新版は『downloads』の項目にあります。
→ TeraPad
改行コードの設定可能なテキストエディタを用意する必要があります。
※UTF-8Nに対応しているものがいいかも?
→ telnet.cgi
リモートコンピューターのプログラムまたはサービスへ
アクセスするために必要となります。
ライトプランではtelnetの利用が出来ないため、リンク先からファイルを
クリックして表示されたものをテキストエディタに貼り付けて
下記の設定で保存します。
■ファイル名:telnet.cgi
■ファイルの種類:すべてのファイル
※アップロードすることにより誰でもアクセス可能になるので
PHPの導入が終わったら「telnet.cgi」は必ず削除してください。
2、PHPフォルダの作成
FTPソフト(FFFTPなど)を使ってあらかじめフォルダを作成します。
/home/(アカウント名)/work
/home/(アカウント名)/share/
/home/(アカウント名)/share/pear5
/home/(アカウント名)/local
/home/(アカウント名)/php5/
/home/(アカウント名)/php5/pear/
/home/(アカウント名)/php5/pear/cache;
/home/(アカウント名)/bin
/home/(アカウント名)/www/cgi-bin
FFFTPを利用している場合「ホストの初期フォルダ」にwwwを入力していれば
ログインすると/home/(アカウント名)/www/になっていると思いますので
cgi-bin以外のフォルダは上の階層に移動して作ります。
パーミッションはすべて705に設定します。
※昔と違って今は作成した時点で705になっているかと思いますので
あとで属性変更から確認してみてください。
3、ファイルのアップロード
■php-5.2.17.tar.gz
「/home/(アカウント名)/work」へアップロードします。
■telnet.cgi
「/home/(アカウント名)/www」へアップロードします。
※パーミッションを700(オーナー権限のみ)に設定します。
4、telnet.cgiを使ってPHPファイルの解凍
Internet Explorerなどのブラウザを起動します。
アドレスバーに「http://(アカウント名).sakura.ne.jp/telnet.cgi」
と入力します。
telnet.cgiの入力欄に下記のコマンドを上から順番に入力したあと
右側にある「Send」ボタンで押し進めてください。
a、「/home/(アカウント名)/work」へ移動するため
cd ../work
と入力します。
b、「ls」コマンドで「php-5.2.17.tar.gz」がworkフォルダにあるかどうかを確認。
(確認だけなので省略して、次のcへ進んでも大丈夫です)
ls
c、下記のコマンドで「php-5.2.17.tar.gz」の解凍が始まり
「/home/(アカウント名)/work/」の中に「php-5.2.17」が作成されます。
tar xzvf php-5.2.17.tar.gz
「/home/(アカウント名)/work/php-5.2.17」
となっていれば成功しているように見えなくもないのですが
初歩的なことなのか、誰も触れていないので記載すると
解凍に失敗してもphp-5.2.17フォルダは作成されるので
必ずエラーメッセージが表示されていないかどうかを確認します。
えぇ、わたしはここではまってしまったんですよねぇ。
「php-5.2.17.tar.gz」をアスキーモードでアップロードしていたので
失敗に気づかずインストールから先に進まなくて・・・orz
バイナリモードでアップロードし直したら解決しますた。
5、conf.shファイルの作成
「#!/bin/sh〜--with-iconv=/home/(アカウント名)/local」
と表示されているものをテキストエディタに貼り付けて
下記の設定で保存します。
■ファイル名:conf.sh
■ファイルの種類:すべてのファイル
保存するときはあらかじめオプション設定などで
「改行コード=LF」
「文字コード=UTF-8N」
にすれば問題ないかと思います。
※とくに改行コードは「LF」になっていないと「sh 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
保存したら、FTPソフトで「/home/(アカウント名)/work/php-5.2.17」へ
アップロードします。
6、conf.shを使ってPHPのインストール
telnet.cgiの入力欄に下記のコマンドを上から順番に入力したあと
右側にある「Send」ボタンで進めます。
a、「/home/(アカウント名)/work/php-5.2.17」へ移動するため
cd php-5.2.17
と入力します。
b、conf.shファイルの記述ならび保存に問題がなければ
下記のコマンドで進むかと思います。
sh conf.sh
完了したら『Thank you for using PHP.』と表示されます。
c、続いて下記のコマンドを入れます。
setenv PHP_PEAR_CACHE_DIR /home/(アカウント名)/php5/pear/cache;
d、「make」コマンドですが、処理が終わるまで7分前後の時間がかかります。
make
わたしの場合、長いなぁと思ってブラウザのスクロールをしてみたら
1度処理が止まってしまったので、「Send」ボタンを押したあとは
何もせずに終わるまで待っていたほうが無難かも?
完了したら『Build complete.Don't forget to run 'make test'.』と
表示されます。
e、「make install」は「make」よりもすぐに終わります。
installだから時間がかかると考えていると拍子抜けするかもです。
make install
途中でエラーが出たりインストールが上手くいかない場合は
「make clearn」コマンドでインストール状況をクリアにしたあと
下記のチェックをしたほうがいいようです。
→ conf.shファイルの作成で記述は間違っていないかどうか?
改行コードは「LF」になっているか、別の文字コードではどうかなど。
※修正した場合は「sh conf.sh」コマンドからのやり直し。
→ PHPフォルダのパーミッションは705になっているか?
※属性変更した場合は「make」コマンドからのやり直し。
→ アップロードしたファイルは、アスキーモードとバイナリモード
どちらで転送したのか?
※アップロード関連は、php-5.2.17.tar.gzファイルの
解凍からやり直すほうがいいかも?
7、PHPファイルのコピー
telnet.cgiの入力欄に下記のコマンドを上から順番に入力します。
a、「/home/(アカウント名)/work/php-5.2.17」にいる場合
「/home/(アカウント名)/bin」へ移動するため
cd ../../bin
と入力します。
b、php5.cgiをcgi-binフォルダにコピーするので下記のコマンドを実行。
cp php-cgi5 /home/(アカウント名)/www/cgi-bin/php5.cgi
c、php5.cgiがコピーされたことを確認するため
「/home/(アカウント名)/www/cgi-bin/」に移動します。
(確認だけなのでc、dを省略して、次の8へ進んでも大丈夫です)
cd ../www/cgi-bin
d、「ls」コマンドで「php5.cgi」がcgi-binフォルダにコピーされたかどうかを確認。
ls
8、.htaccessファイルの作成
PHPを動かせる状態にするため.htaccessファイルを作ります。
a、「Action php5-script〜php5-script .php」
と表示されているものをテキストエディタに貼り付けて
■ファイル名:.htaccess
■ファイルの種類:すべてのファイル
上記の設定で保存します。
Action php5-script /cgi-bin/php5.cgi
AddHandler php5-script .php
b、保存したら、FTPソフトで「/home/(アカウント名)/www」へ
アップロードします。
9、インストール&動作の確認
PHPテストファイルを作り、動作の確認を行います。
a、PHPに関する情報を出力するため「phpinfo()」
と表示されているものをテキストエディタに貼り付けて
■ファイル名:test.php
■ファイルの種類:すべてのファイル
上記の設定で保存します。
<?php
phpinfo();
?>
b、保存したら、FTPソフトで「/home/(アカウント名)/www」へアップロードします。
c、ブラウザのアドレスバーに「http://(アカウント名).sakura.ne.jp/test.php」
と入力します。
下記のようなロゴやPHPバージョン、その下に情報が表示されていれば
インストールは完了です。
10、不要なフォルダ&ファイルの削除
下記のフォルダとファイルは削除しても大丈夫なようです。
/home/(アカウント名)/bin
/home/(アカウント名)/include
/home/(アカウント名)/lib
/home/(アカウント名)/man
/home/(アカウント名)/work
/home/(アカウント名)/www/telnet.cgi
※「/home/(アカウント名)/work」フォルダはファイル数が多いので
削除に時間がかかります。また「telnet.cgi」は必ず削除してください。
ひとまず、これでPHPが使える環境は整いましたー。
今までCGIで頑張っていたのでいろんな
アプリケーションを試してみたいのであります。
・・・
・・・
MySQLは使えないんですけどねぇ。・゚・(ノД`)・゚・。
Comments