SOY CMSでシステムから生成されたサイトのディレクトリを移動したいと質問がありましたので、

ディレクトリの変更の方法を記載します。

移動とディレクトリ名の変更はやることは一緒なので、サイトのディレクトリ名の変更で見ていきます。


例えば、


soycms
├── .htaccess
├── index.php
├── cms
│   ├── admin
│   ├── app
│   ├── common
│   ├── license
│   ├── readme.txt
│   ├── soycms
│   └── soyshop
└── site
    ├── .cache
    ├── .db
    ├── .htaccess
    ├── .module
    ├── .page
    ├── .template
    ├── _item
    ├── css
    ├── files
    ├── im.php
    ├── images
    ├── index.php
    ├── js
    └── themes

こんな感じのディレクトリ構造だったとします。

※cmsディレクトリはSOY CMS本体、siteディレクトリはサイト


siteディレクトリをhogeに変更して、


soycms
├── .htaccess
├── index.php
├── cms
│   ├── admin
│   ├── app
│   ├── common
│   ├── license
│   ├── readme.txt
│   ├── soycms
│   └── soyshop
└── hoge
    ├── .cache
    ├── .db
    ├── .htaccess
    ├── .module
    ├── .page
    ├── .template
    ├── _item
    ├── css
    ├── files
    ├── im.php
    ├── images
    ├── index.php
    ├── js
    └── themes

こんな感じのディレクトリにします。


ディレクトリ名の変更を行った後に行う作業として、

データベースに格納されているサイトの情報の書き換えを行います。


MySQL版では、PHPMyAdmin等、SQLite版では、SQLIteManagerでデータベースを開き、

Siteテーブルの値を確認します。


私の環境(MySQL)では下記のようになっています。

mysql> select * from Site WHERE site_id = 'site';
+----+---------+-----------+-----------+--------------+------------------------+---------------------+---------------------------------------------------+
| id | site_id | site_type | site_name | isDomainRoot | url                    | path                | data_source_name                                  |
+----+---------+-----------+-----------+--------------+------------------------+---------------------+---------------------------------------------------+
|  1 | site    |         1 | サイト    |            0 | http://localhost/site/ | /var/www/html/site/ | mysql:host=localhost;port=3306;dbname=soycms_site |
+----+---------+-----------+-----------+--------------+------------------------+---------------------+---------------------------------------------------+
1 row in set (0.00 sec)

今回、サイトディレクトリをsiteからhogeに変更したい場合、

site_idの値をsiteからhoge

urlをhttp://localhost/site/からhttp://localhost/hoge/

pathを/var/www/html/site/から/var/www/html/hoge/

MySQL版ではdata_source_nameは変更不要ですが、SQLite版ではpathの変更の要領で適宜変更します。

※siteディレクトリの位置を変更したい場合は、pathと(SQLite版であれば)data_source_nameの変更を行います。


これでシステム側が移動先のディレクトリの位置を認識することが出来て、

今まで通りサイトが表示されるようになるはずです。


今回の内容はテストできる環境が手元になく、

動作確認が不十分ですので、その点は予めご了承頂いた上でお試しください。