ロリポップにPEARをインストールする

ロリポップにpearをインストールしたいと思います。

ロリポップはPEARをインストールする権限が与えられないですが
ブラウザ経由でならインストールすることができます。

ここからソースコードをDLします。
名前を付けて保存なり、コピペなりして保存してください。
名前に意味があるかは分かりませんがgo-pear.phpで保存すればいいと思います。

サーバーに適当なディレクトリを作成してファイルを保存してください。
(自分はCacheとしました)

ブラウザでhttp://ドメイン名/保存ディレクトリ/go-pear.phpに
アクセスするとインストール画面がでます。

後は適当に進めます。

自分はここでエラーが出てしまいました。
index.phpの8行目に問題があるみたいです。

8行目
$pear_dir = ‘@pear_dir@’; // default of install

どうも、
$pear_dirのパスが悪いみたいなので以下のように変更しました。
$pear_dir = ’/フルパス/Cache/PEAR’;
自分の場合はこんな感じになります。
$pear_dir = ‘/home/users/2/main.jp-nigolf/web/Cache/PEAR’;

で、もう一度エラーが出たところでリロードすれば
インストール完了します。

赤枠で警告が出ていますがよくわかないので無視。
もう、これでPEARのインストールは完了です。

ですが、インストールしたCacheフォルダをこのままにしておくと
誰もがアクセスできるようになってしまい
インストールされたり、いろいろまずいです。

そのため、Cacheディレクトリに.htaccessを設定します。
中には
deny from all
と書くだけでokです。
これを設置するとブラウザからアクセスした場合に403のエラーとなります。
(PHPからアクセスする場合は問題なく動作します)

ロリポップでベーシック認証をかけてみる

前回の記事でロリポップサーバーにECCUBEをインストールしました。
まぁテストでインストールしたとはいえ
公開しっぱなしっていうのもまずいかなと・・・

練習をかねてベーシック認証をかけてみました。
認証をかけるディレクトリはECCUBEの部分です。
ロリポップの場合は管理画面からWEBツール->アクセス制限から簡単にできます。

もちろん、FTPでアップすることも可能です。
用意するファイルは「.htaccess」「.htpasswd」の2つです。
・.htaccessの中身は

AuthUserFile /フルパス/.htpasswd
AuthGroupFile /dev/null
AuthName “test”
AuthType Basic
require valid-user

・.htpasswdの中身は

user:yeZgmhxK7gzC.

.htaccessのフルパス部分は各サーバーによって異なります。
私の環境ではこのようになります。

AuthUserFile /home/users/2/main.jp-nigolf/web/eccube/.htpasswd

ロリポップではこのように「main.jp-nigolf」の部分を
各サイトのドメインに変えれば可能です。
しかし、usersの後ろの2ってのが気になる・・・
もしかしたらユーザーによって違うかもしれません。
その場合は、調べる必要がありますが、管理画面から設定するのが簡単だし、
一度生成しておくとパスがわかるので
その後は、手動で設定しなおすってもいいと思います。

.hpasswdは暗号化した状態でアップロードします。
暗号化の方法は
ロリポップならサーバーの方で作成ツールがあります。
ロリポップでないかたはこちらのサイトから作成することも可能です。
※以前CPIのサーバーを利用したことがありますが、
ここのベーシック認証のパスワードの暗号化方式が違うのか
上のサイトで作成したパスワードでは認証を解除できません。
CPIサーバーを使っている場合は管理画面から作成できるのでそちらから

これらをECCUBEの中にアップすればOKです。
アップする場所を間違えた場合、例えばホームディレクトリに置いてしまうと
すべてに認証が必要となるので気をつけてください。

また、パスの設定を間違えると
正しいパスワードをいてれも入れなくなります(当たり前ですが)
.htpasswdのファイルがないといったエラー的なものが無いので
いくら入力しても出来ない場合はその線を疑ってください。

windowsの場合は.htaccessといった「.」が先頭にあるファイルを作成することが出来ません。
そのため、「htaccess」とうように適当にファイル名を変えた状態で
アップロードしてサーバー上で「.」付ける必要があります。

ロリポップにECCUBEをインストール

ロリポップサーバーでECCUBEのインストールに挑戦してみたいと思います。
これから記述する内容はロリポップで作業した内容になりますが
他のサーバーでも同様に作業すればできます。
PHPのセーフモードの設定といったレンタルサーバーによって設定の違いや
変更する方法が異なりますので、そこはサーバーの設定を確認して下さい。

ロリポップサーバーにインストールするには予めサーバーの設定を変えておく必要があります。
1.設定を変更する。
ロリポップにログインしてWEBツールからPHP設定
インストールするドメインの設定変更へをクリック
・sefe_modeをoff
・magic_quotes_gpcをoff
に設定する。

2.ECCUBEをダウンロードして解凍する。
ECCUBEはDLはここから。
インストールしたECCUBEのバージョンは2.11.1となりますので
バージョンが異なる場合に以下の手順インストールできない場合があるかもしれません。

3.解凍したファイルをサーバーにアップロードする。
今回はサブドメインを作らないでやります。
しかし、今のドメインにはWordPressがインストールしているので
サブディレクトリにインストールします。
ディレクトリ名は「ecube」とします。
つまりURLがhttp://www.nigolf.info/eccube/になるようにします。

このディレクトリ内に解凍したファイルをFTPでアップロードします。
最初にdata,docs・・・といった
htmlディレクトリ以外のファイルをアップロードします。

次に同じ場所(階層)にhtmlディレクトリ内のファイル(.htaccess以外)をアップロードします。

4.パスの変更
htmlディレクトリのファイルの場所を変えたので
設定ファイルのパスを変える必要があります。
eccube内のdefine.phpの3行目を
define(“HTML2DATA_DIR”, “../data/”);
から
define(“HTML2DATA_DIR”, “./data/”);
に変更します。

5.インストール
http://www.nigolf.info/eccube/install/
にアクセスします。

項目に合わせて記述していきます。
適当に店名や管理ID,パスワードを入力する。
インストール画面

データベースの設定は予め作成しておいたDB名等を入力します。
私のロリポップのプランだとDBは一つしか作ることができません。
そのため、すでにWordPressをインストールしているデータベースにECCUBEのデータを保存するようにします。
ロリポップ管理画面のWEBツールデータベースの項目に
DB名やパスワードがあるので確認する。
接頭辞に関してはECCUBEは変更できない(?)かもしれないです。
ECCUBEはdtb_ と mtb_ の2つを使うのでWordPressの方がこれと違うのであれば問題ないです。
もし、かぶっている場合はちょっと自分では対応できないっす。

※複数DBを作成できるなら、別々に用意したほうがいいです。
アクセス(もしくはデータ量)が多くなるほど、DBの負荷が高くなりパフォーマンスが落ちる可能性が考えられます。
実際にはわかりませんが・・・

データベースはそのままインストールする。
初期化しないにチェックをいれるとエラーになります。
初期化と言ってもWordPressのデータは消えません。

これで完了です。

後は速やかに/install/index.phpのファイルを削除してください。
万が一アクセスされるとやばいので・・・