mmochiです。
これは比較的簡単です。
ルートに置いたすべてのZenCart関連のファイルを希望ディレクトリ(shop等)にコピーしshop以下のconfigure.php(ショップ側、管理側ともに)を書き換えます。
変更箇所を抜粋しておきます。
ショップ側 includes/configure.php
コード:
define('HTTP_SERVER', 'http://hogehoge.com');
define('HTTPS_SERVER', 'https://hogehoge.com');
define('DIR_WS_CATALOG', '/shop/');
define('DIR_WS_HTTPS_CATALOG', '/shop/');
define('DIR_FS_CATALOG', 'パス/shop/');
define('DIR_FS_HTTPS_CATALOG', 'パス/shop/');
define('DIR_FS_SQL_CACHE', 'パス/shop/cache');
管理側 admin/includes/configure.php
コード:
define('HTTP_SERVER', 'http://hogehoge.com');
define('HTTPS_SERVER', 'https://hogehoge.com');
define('HTTP_CATALOG_SERVER', 'http://hogehoge.com');
define('HTTPS_CATALOG_SERVER', 'https://hogehoge.com');
define('DIR_WS_ADMIN', '/shop/admin/');
define('DIR_WS_CATALOG', '/shop/');
define('DIR_WS_HTTPS_ADMIN', '/shop/admin/');
define('DIR_WS_HTTPS_CATALOG', '/shop/');
define('DIR_FS_ADMIN', 'パス/shop/admin/');
define('DIR_FS_CATALOG', 'パス/shop/');
define('DIR_FS_HTTPS_CATALOG', 'パス/shop/');
define('DIR_FS_SQL_CACHE', 'パス/shop/cache');
パス表記部分は/var/www/html/等、ご自分の環境に合わせてください。
上記に加え、セッションやキャッシュをファイル保存するように設定してある場合は上記の変更後に管理画面>>一般設定>>セッション管理の設定から「セッション情報保存ディレクトリ」を変更してください。
注意する点は、独自にテンプレート等をカスタマイズしている場合にリンクを相対パスにしていない場合にリンク切れが発生することでしょうか。