ミニバード「移転前動作確認URL」でのconcrete5環境構築について
ミニバードには「移転前動作確認URL」という機能があって、ネームサーバーがまだミニバードに切替できていない状態でも、「 http://sv0.minibird.netowl.jp/mydomain.com/ 」といったURLで、FTPアップロードしたhtmlファイルの動作(表示)確認をすることができます。
(参考 http://www.minibird.jp/man/guide_transfer.php )
この「移転前動作確認URL」は、あくまで静的なhtmlの表示確認を行うというレベルのもののようで、CMSツールでこれを使うのは少々無理がある感じでした。
(私は、移転前動作確認URL環境でWordPressの環境構築をすることは断念しました・・・)
ただconcrete5については、(標準ですと)サイトのURLを管理しているのは「(concrete5_root)/config/site.php」の一ヶ所のみとなっているようであり、何とか下記の手順を行うことができました。
1)移転前動作確認URL環境でconcrete5をインストール
2)テーマ、ページやブロックなどを追加して、一通りのWebページを作成。クライアントの確認。
3)独自ドメインでの運用に切り替えるための設定準備。
4)ネームサーバーをミニバードに切り替えて独自ドメインでの運用を開始
とはいえ、やっぱり上記3の作業が発生してしまいますので、あまりお薦めはできません・・・。
今回、私が使用したブロックは「記事」「HTMLコード」「オートナビ」「画像」「フォーム」と標準的なものばかりで、特殊なブロックは使用しなかったので切替が成功した、という面もあると思います。
事前に環境構築してから切替したい場合は、可能であればcoreserverを使用した方が良いような気がしました。(「pre.mydomain.com」でconcrete5インストール → Webページ作成・確認 → 「/config/site.php」の変更 → 管理画面のファイルマネージャーでディレクトリ名を「pre.mydomain.com」から「www.mydomain.com」にリネーム、といった感じ)
それでもミニバードで実施せざるを得ない場合は、あくまで自己責任で以下をご参考にしてください。
全ての方にあてはまるかどうかは分かりません。
また、返信をいただいてもフォローは出来ないと思いますが、ご了承ください。
-*-*-*-
■ミニバードの「移転前動作確認URL」でインストールする手順
★ご注意★
下記は、独自ドメインやサブドメインの移転前動作確認URLにインストールするケースです。
「独自ドメインのサブディレクトリ(http://sv0.minibird.netowl.jp/mydomain.com/concrete5/ など)」にインストールする場合は、下記の手順ではダメな可能性が高いです。
前のスレッド「独自ドメインでconcrete5をインストールする手順」をベースに、変更点を記載していきます。
<事前準備>
1)「ミニバード・サーバ管理ツール>ドメイン設定>ドメイン追加」で、最終的に切り替える予定の独自ドメインについて、ドメイン追加を行います。
2)(サブドメインを使用しない場合はこの項目はスキップ)最終的にサブドメインで運用する場合は、「ミニバード・サーバ管理ツール>サブドメイン設定」で、そのサブドメインを追加します。
3)「ミニバード・サーバ管理ツール>移転前動作確認URL」で、対象のドメイン名もしくはサブドメイン名について、「確認URLの追加」を行います。
※確認URLの追加をしても、「http://sv0.minibird.netowl.jp/mydomain.com/」といったURLで表示されるようになるには数時間掛かるようです。
*****
<データベース作成>
<concrete5をFTPでアップロード>
<パーミッションの変更。>
<ミニバード・サーバー管理ツールで php.ini の設定>
これらは、前のスレッド「独自ドメインでconcrete5をインストールする手順」の通りに実施。
*****
<index.phpの修正>
「(concrete5_root)/index.php」を開くと、次のように2行だけ記載されています。
----------
<?php
require('concrete/dispatcher.php');
----------
これを次のように変更します。
ローカルでファイルを修正して、FTPアップロードしてください。すでに同名ファイルがアップロードされているハズなので上書きとなります。
※ $_ENVの方は設定しなくても問題ない気もしましたが、念のために設定しました。
----------
<?php
if(!is_null($_SERVER['HTTP_X_FORWARDED_HOST'])) {
$myDomain_HTTP_HOST = $_SERVER['HTTP_HOST'];
$minibird_HTTP_HOST = $_SERVER['HTTP_X_FORWARDED_HOST'];
$_SERVER['HTTP_HOST'] = $minibird_HTTP_HOST;
$_ENV['HTTP_HOST'] = $minibird_HTTP_HOST;
$_SERVER['SERVER_NAME'] = $minibird_HTTP_HOST;
$_ENV['SERVER_NAME'] = $minibird_HTTP_HOST;
$renewal_SCRIPT_NAME = '/'.$myDomain_HTTP_HOST.$_SERVER['SCRIPT_NAME'];
$_SERVER['SCRIPT_NAME'] = $renewal_SCRIPT_NAME;
$_ENV['SCRIPT_NAME'] = $renewal_SCRIPT_NAME;
$renewal_ORIG_SCRIPT_NAME = '/'.$myDomain_HTTP_HOST.$_SERVER['ORIG_SCRIPT_NAME'];
$_SERVER['ORIG_SCRIPT_NAME'] = $renewal_ORIG_SCRIPT_NAME;
$_ENV['ORIG_SCRIPT_NAME'] = $renewal_ORIG_SCRIPT_NAME;
$renewal_REQUEST_URI = '/'.$myDomain_HTTP_HOST.$_SERVER['REQUEST_URI'];
$_SERVER['REQUEST_URI'] = $renewal_REQUEST_URI;
$_ENV['REQUEST_URI'] = $renewal_REQUEST_URI;
$renewal_PHP_SELF = '/'.$myDomain_HTTP_HOST.$_SERVER['PHP_SELF'];
$_SERVER['PHP_SELF'] = $renewal_PHP_SELF;
}
require('concrete/dispatcher.php');
----------
*****
<インストール実行>
移転前動作確認URL( http://sv0.minibird.netowl.jp/mydomain.com/ など)にアクセスし、concrete5のインストール画面が表示されたら、ここまでの手順は成功していると思います。
あとは「独自ドメインでconcrete5をインストールする手順」の記載内容に従って、インストールを実行してください。
もしも、スタイルシートが適用されていないなど、表示がおかしい場合は、上記<index.phpの修正>が正しくない可能性がありますので再確認してください。
インストールが完了すれば、管理メニューの表示やページの追加・修正が可能となります。
*****
<プリティーURLの設定>
インストールが完了し管理メニューにログインできましたら、プリティーURLの設定を行うことができます。
http://concrete5-japan.org/help/faq/how_to_use_prettyurl/
移転前動作確認URLの場合は、管理メニューでプリティーURLの設定を行った後、「.htaccess」に追加するコードの修正が必要となります。
「RewriteBase /mydomain.com/」となっていると思いますが、これを「RewriteBase /」と変更して「.htaccess」に追加してください。
(.htaccessの記載)
----------
# -- concrete5 urls start --
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
# -- concrete5 urls end --
----------
これで、移転前動作確認URLでもプリティーURLが使用できるようになると思います。
-*-*-*-
■移転前動作確認URLでWebページ構築をする際の注意
「移転前動作確認URL」から「独自ドメイン」に切り替える直前に、記事ブロックやHTMLコードブロック内に記載されている「サイト内へのリンク」の部分は修正する必要があります。
この修正箇所が多いと切替時の作業負荷が高くなってしまいますので、ご注意ください。
画像ブロックやオートナビブロックは、切替時の修正は不要でしたので、切替時点まではこれらで代替することも検討してみてください。
○切替時に修正が必要な箇所の例
・記事ブロック内の「サイト内へのリンク」や「画像ファイル(へのリンク)」の部分
・HTMLコードブロック内の「サイト内へのリンク」や「画像ファイル(へのリンク)」の部分
※画像ブロックによる画像ファイルへのリンクは、動的にリンクが生成されるようで修正不要でした。
※オートナビブロックも修正不要でした。
-*-*-*-
■移転前動作確認URL→独自ドメインへの切替手順
必須の作業は「/config/site.php」の2行を変えるだけです。
<各ブロックの「サイト内へのリンク」部分の修正>
例えば「/mydomain.com/events/」となっている内部リンクを「/events/」に変更する作業を行います。
記事ブロックですと、htmlボタンでhtmlコードを表示させて修正して行きます。
修正後は、ネームサーバーが切り替わるまでは、正しく表示されなくなります。
対象となるのは、記事ブロック、HTMLコードブロック、などです。
画像ブロックやオートナビブロックは、基本的に大丈夫でしたが、デザイン機能で背景画像を指定していたりすると、内部リンクを使用していますので対応が必要になります。
それ以外のブロックも含め、ご自身で要否を確認してください。
なお、この作業を行わないと切替できないということではありませんので、切替後に表示がおかしいところ/リンクが切れているところを修正していく、という手順でも構わないと思います。(状況が許せば、ですが)
*****
< (concrete5_root)/config/site.php の変更>
★これを行うと、もうネームサーバー切替まではconcrete5にログインができなくなります。
★また、この記述が失敗していますと(「'」が抜けていた、など)切替後も正しく表示されませんのでご注意ください。
変更前は次のようになっていると思います。
----------
define('BASE_URL', 'http://sv0.minibird.netowl.jp');
define('DIR_REL', '/mydomain.com');
----------
これを次のように修正して、FTPで上書きアップロードします。
----------
define('BASE_URL', 'http://www.mydomain.com');
define('DIR_REL', '');
----------
※上記「http://~」の「:」は、わざと全角にしてありますので、そのままコピーしないように。
*****
< (concrete5_root)/sitemap.xml の変更>
<loc>要素の中身を「http://www.mydomain.com~」に変更します。
これはもしかすると、独自ドメインへの切替後に、concrete5管理ツール>システム&メンテナンス>ジョブ>「サイトマップファイルを作成」のジョブを実行するだけで、十分かもしれません。
*****
以上の作業を行ったうえ、ネームサーバーの変更が完了~反映されれば、独自ドメインでconcrete5のWebサイトが表示されるようになると思います。
表示されるようになりましたら、各ブロックの「サイト内へのリンク」部分の修正に漏れや間違いがないか、画像表示の確認とリンクのチェックを行ってください。
-*-*-*-
以上、長くなってスイマセン。