EC-CUBE 3系 URLからhtmlを削除、指定フォルダ内に構築する方法と手順。

ec-cube
まえがき

EC-CUBE3.0.11 以降から「html」の削除表示が正式にサポートされるようになりましたが、個人的にはオフィシャルのドキュメントでは少し解説が不足していて、場合によってはそのまま進めると希望通りの構成にならない可能性がありますので補足を加えた手順を残しておきます。
例えば、ウェブサーバー上で複数サイトを立ち上げている場合、同階層に各サイトのルートフォルダが存在しているケースが多いと思います。つまり、ルートから1階層下にフォルダを設置して、そこをウェブルートにしたい場合などです。たとえば、

wwwroot
├── abd :(abc.com)
├── def :(def.com)
├── def/shop(今回インストールしたいフォルダ)def.com/shop/
├── ghi :(ghi.com)
└── ecc :(今回インストールしたいフォルダ)(ec-cube.com)

といった場合です。

また、URLにhtmlフォルダを表示させたくない場合でも、htmlフォルダを削除したり、リネームする事はできません。メインルートとなるインストールフォルダ内に、html、app、srcフォルダが設置されるというイメージです。
尚、一部のレンタルサーバーなど「ドキュメントルート(インストール先フォルダ)」を変更できない環境でも、指定フォルダを自由に選択して、URLからhtmlを無くした状態でインストールが可能です。

例) https://www.example.com/html/ → https://www.example.com/

それでは、早速インストール作業を開始しましょう。

対応バージョン

EC-CUBE 3.0.11 以降

今回の構築環境

今回は、さくらサーバー上でSSHを使用して作業を行います。

ご注意

下記の手順を行うことで、通常のEC-CUBEとは異なるファイル構成になります。
そのため、一部のプラグインでは正常に動作しない可能性がありますので、インストール後の動作確認は慎重に行ってください。

準備

使い慣れたファイル管理ソフト(SSH/FTP)※各ソフトの使用方法はご確認下さい。

作業の流れ

今回は、EC-CUBE3系の最新安定バージョンをEC-CUBE オフィシャルサイトからダウンロードし、 FTPまたはSSH等でアップロードした後、インストール前に各ファイルの「移動」とファイル「修正」を実施し、最後に「インストール作業」を行うという流れです。

ダウンロード

EC-CUBE オフィシャルサイトからさダウンロードします。今回は ec-cube3.0.16 で行います。

アップロードと解凍

ダウンロードしたzipファイルを、SSHでユーザー専用フォルダ直下(/home/mydir)にアップロードします。アップロードされたディレクトリからEC-CUBEを解凍します。

unzip eccube-3.0.16.zip

解凍したEC-CUBEを「ドキュメントルート」配下にコピーします。
このドキュメントルートとは、ウェブ公開するメインフォルダとなります。今回はwwwフォルダの下に、新たに「ecc」フォルダを作成し、それを今回のEC-CUBEの公開ディレクトリ(ドキュメントルート)とします。

mkdir -p www/ecc

【重要】独自ドメインを使用する場合、作成したディレクトリがドキュメントルートとして表示されるように、ドメインの設定を済ませておきます。つまり、http://example.com で表示されるように設定します。

さくらサーバーの場合だと、home/ユーザー/www/ecc をドキュメントルートとするという事です。

cd eccube-3.0.16
cp -pr . ../www/ecc/

これで公開ディレクトリにEC-CUBEがコピーされました。

1.ファイル配置場所の変更

以下の6つのファイルを、htmlフォルダの中から1階層上(公開ディレクトリ)に移動します。(コピーではありません)

cd
cd /home/myfolder/www/ecc
mv html/in* .
mv html/.htaccess .
mv html/robots.txt .
mv html/web.config .

[重要] ここでの [root] は必ずしも「最上位フォルダ」である必要はありません。

[root]
  ├──[html]
  │   ├── index.php
  │   ├── index_dev.php
  │   ├── install.php
  │   ├── robots.txt
  │   ├── .htaccess
  │   └── web.config


[root]
  ├──[html]
  │
  ├── index.php
  ├── index_dev.php
  ├── install.php
  ├── robots.txt
  ├── .htaccess
  ├── web.config

2. .htaccess , web.config の書き換え

手順1で移動してきた.htaccess, web.configを削除し、.htaccess.sample , web.config.sampleをリネームします。「削除するなら移動させる必要ないのでは?」と思うかもしれませんが、処理に漏れが出ないように、同じ処理をそろえて行います。

ファイルを削除
rm .htaccess
rm web.config

ファイルをリネーム
mv .htaccess.sample .htaccess
mv web.config.sample web.config
[root]
  │
  ├── .htaccess   ← 削除
  ├── web.config  ← 削除
  ├── .htaccess.sample  ← リネーム
  ├── web.config.sample ← リネーム

[root]
  │
  ├── .htaccess
  ├── web.config
3.index.php / index_dev.php / install.php の変更

それぞれのファイルで、以下のようにコメントアウトする行を変更します。

index.php , install.phpそれぞれ同じ修正を行います。

//[INFO]index.php,install.phpをEC-CUBEルート直下に移動させる場合は、コメントアウトしている行に置き換える
require __DIR__.'/../autoload.php';
//require __DIR__.'/autoload.php';

//[INFO]index.php,install.phpをEC-CUBEルート直下に移動させる場合は、コメントアウトしている行に置き換える
//require __DIR__.'/../autoload.php';
require __DIR__.'/autoload.php';

index_dev.phpについてはcacheファイルディレクトリの指定場所を変更します。

// Silex Web Profiler
$app->register(new \Silex\Provider\WebProfilerServiceProvider(), array(
    'profiler.cache_dir' => __DIR__.'/../app/cache/profiler',
    'profiler.mount_prefix' => '/_profiler',
));

// Silex Web Profiler
$app->register(new \Silex\Provider\WebProfilerServiceProvider(), array(
  'profiler.cache_dir' => __DIR__.'/app/cache/profiler',
  'profiler.mount_prefix' => '/_profiler',
));
4.autoload.phpの変更

autoload.php で、以下のようにコメントアウトする行を変更します。

//[INFO]index.php,install.phpをEC-CUBEルート直下に移動させる場合は、コメントアウトしている行に置き換える
define("RELATIVE_PUBLIC_DIR_PATH", '');
//define("RELATIVE_PUBLIC_DIR_PATH", '/html');

//[INFO]index.php,install.phpをEC-CUBEルート直下に移動させる場合は、コメントアウトしている行に置き換える
//define("RELATIVE_PUBLIC_DIR_PATH", '');
define("RELATIVE_PUBLIC_DIR_PATH", '/html');
5.EC-CUBEのインストール

EC-CUBEを配置したサイトにアクセスするとインストール画面が表示されます。
画面の指示に従ってインストールを進めてください。

※インストール画面でレイアウトが崩れている場合は、正常にインストールできない可能性があります。再度、ここまでの手順を見直してやり直してください。

6..htaccessの設置

src、vendor、testsディレクトリを外部から閲覧できないように、.htaccessを設置します。
以下の内容の.htaccessを、各ディレクトリに設定してください。

.htaccessの内容

order allow,deny
deny from all

以下の配置になるよう、.htaccess ファイルを設置します。

[root]
  │
  ├──[src]
  │   ├── .htaccess
  ├──[tests]
  │   ├── .htaccess
  ├──[vendor]
      ├── .htaccess

念のため、設置後に各ディレクトリが閲覧できないことを確認しておきましょう。

以上で設定は完了です。
お疲れ様でした。

Share on facebook
Facebook
Share on google
Google+
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on pinterest
Pinterest

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

20 − 18 =