ここ数日、ECCUBE3ってどうなのかな?と色々試してみたことの覚書です。
色々、サイトなども巡回して試してみたのですが、微妙にうまくいきません。
ストレートにサーバーからクイックインストールして表示だと普通に動くのですが、どうもプログラム形態が色々あるようでうまく動きません。
ここで試したバージョンは3.0.14でした。
色々試して成功したパターンを記載します。
まず、普通にサーバーに仕込まれているインストールを使い、フォルダ設定をしてインストールします。
仮に設定するフォルダをshopとします。
生成されるフォルダはその下にhtmlで作られます。
http://ドメイン/shop/html
ここからインストールをそのまま実行します。
全て完了したらFTPアプリでファイルの移動、変更を行います。
(今のバージョンではディレクトリの変更等ない為、フォルダ階層下で動く形になってしまいます。)
これをトップドメインで動くように変更していきます。
まず、一番上にshop/htmlフォルダに生成されたファイルを移動します。
移動ファイルは
autoload.php
index.php
index_dev.php
.htaccess(これはコピーで可)
です。
autoload.phpは
$autoload = __DIR__.'/vendor/autoload.php';
↓
$autoload = __DIR__.'/shop/vendor/autoload.php';
define("RELATIVE_PUBLIC_DIR_PATH", '/html');
↓
define("RELATIVE_PUBLIC_DIR_PATH", '');
index.phpは
require __DIR__.'/../autoload.php';
↓
require __DIR__.'/autoload.php';
index_dev.phpは
require_once __DIR__.'/../autoload.php';
↓
require_once __DIR__.'/autoload.php';
$config_dev_file = __DIR__.'/../app/config/eccube/config_dev.yml';
↓
$config_dev_file = __DIR__.'/shop/app/config/eccube/config_dev.yml';
'profiler.cache_dir' => __DIR__.'/../app/cache/profiler',
↓
'profiler.cache_dir' => __DIR__.'/shop/app/cache/profiler',
autoload.phpは
$autoload = __DIR__.'/vendor/autoload.php';
↓
$autoload = __DIR__.'/shop/vendor/autoload.php';
define("RELATIVE_PUBLIC_DIR_PATH", '/html');
↓
define("RELATIVE_PUBLIC_DIR_PATH", '');
続いてshopフォルダ内に入ります。
htmlフォルダにある
.htaccessを変更します。
order deny,allow
allow from all
↓
#order deny,allow
#allow from all
RewriteBase /html
↓
RewriteBase /shop/html
RewriteRule ^(.*)$ ../index.php [QSA,L]
↓
RewriteRule ^(.*)$ ../../index.php [QSA,L]
次で最後です。
app/config/eccube/内の
path.ymlを変更します。
root_urlpath: /sohp/html
↓
root_urlpath: /
以上で、管理画面のログインも表示されログイン可能に!
またトップディレクトリでページの表示も可能に!
そして表示されるだけでなくリンクも正常に機能することを確認しました。
同じように見えて、ダウンロード可能なzipやtar.gzは解凍すると内部ファイルは微妙に違いました。
サーバーインスト―ルファイルも違っています。
色々なパターンを試し、結局、素直にインストールまで終わらせて参照先が正常に機能するよう、必要な個所を変更する。
ただこれだけでした。
久しぶりに楽しめました(^-^;