SOY CMSのインストールと公開側ページの設定
今回はCMSのインストールについての話を紹介します。
始めのお題は
SOY CMSのインストール先はディレクトリ直下でなければいけないのか?
ですが、
先に返答してしまうと
CMSのインストール先はディレクトリ直下でなくても構いません。
この話に関して
さくらインターネットを例にして説明していきたいと思います。
さくらインターネットのルートディレクトリはwwwですね。
通常なら、CMSはwww直下に配置しますが、
今回はwww直下にdirディレクトリを作成して、そこにCMSをインストールします。
さくらのアカウント/www/dir/SOY CMSのインストール先
この場合、SOY CMSの管理画面URLは
http://公開URL/dir/cms/admin
になります。
(SOY CMSフォルダをcmsに変更して、インストールした)
このようにルートディレクトリ直下ではない場所にSOY CMSをインストールした場合でも、
CMS内で作成するサイトはルートディレクトリ直下に作成されます。
例: soy というサイトを作成すると
公開URLは http://公開URL/soy になります。
次に
SOY CMSのインストール先をルートディレクトリ直下でない場所にしたら、
作成されるサイトもルートディレクトリ直下でない場所にしたい
ということもあると思います。
そのような場合は、
PHP許可設定の時に話に出てきたuser.config.phpでCMSの設定を変更すれば、ディレクトリ直下ではない場所にサイトを作成することが出来ます。
サイトを作成するディレクトリ設定
common/config/にあるuser.config.php.sampleのファイルを開いて、
31行目付近にある
//サイトを作成するディレクトリを指定する(デフォルトはドキュメントルート)。
//define("SOYCMS_TARGET_DIRECTORY", $_SERVER["DOCUMENT_ROOT"]);
のdefineのコメントアウトを取り消して、$_SERVER["DOCUMENT_ROOT"]にサイトを作成したいディレクトリ名を追加します。
今回はSOY CMSのインストール先と同じディレクトリ(dir)にサイトを作成することにしましょう。
dirディレクトリ直下にサイトを設定するためには
//サイトを作成するディレクトリを指定する(デフォルトはドキュメントルート)。
define("SOYCMS_TARGET_DIRECTORY", $_SERVER["DOCUMENT_ROOT"] . "/dir/");
のように、$_SERVER["DOCUMENT_ROOT"]に "." とディレクトリ名を追加します。
(ピリオドは、PHPでは、文字列の追加という意味があります)
ディレクトリの設定し後、
ファイルを保存して、ファイル名から.sampleを削除して、user.config.phpにします。
これでサイトを作成してみてください。
新しく出来たサイトはdirディレクトリ直下に生成されるはずです。
以上の設定をしても、サイト一覧に表示されているURLは変更されていません。
ここの設定は
user.config.phpの35行目付近にある
//公開側のURL(SOYCMS_TARGET_DIRECTORYを参照するURLをhttp://から指定する)
//define("SOYCMS_TARGET_URL", "");
のdefineのコメントアウトを取り消し、
//公開側のURL(SOYCMS_TARGET_DIRECTORYを参照するURLをhttp://から指定する)
define("SOYCMS_TARGET_URL", "http://soycms.sakura.ne.jp/dir");
このように作成したURLの前にサイト作成したディレクトリ名を入れてください。
(URLの最後にスラッシュはいらない)
すると、サイト一覧のサイトURLの変更画面の元のURLの表記が変わっていますので、
"戻す"をクリックすれば、すべての設定が完了します。