れさくのブログ

れさくのブログ

*

Drupalで構築したサイトを別のサーバにコピーする

   

どうなんですかね、このアイコン。
drupal_7ec2e6fe3d015d5465a71aed221760ea_druplicon.large_1Drupalに入ってるデフォルトのアイコンです。

Drupal使った開発があって、その一番最後の工程でクライアントのサービスロゴなり社章なりに差し替えればいいやと思ってこの雛型のまま開発していたら、見る人見る人がみな「Cool!」「カッコイイ!」って褒めるものだから「そういうものなのかもしれないな」と思ってこのアイコンのままローンチしました。

最近、あれは皆さんの皮肉だったんじゃないだろうかと思い始めて少し不安だったりしますが、お陰様で安定稼働しててクライアント様にも好評なので、まあいいや。

という訳で、Drupalというのがあります。
CMSです。
WordPressとかそーゆーやつの一種です。

有名なところでは「ホワイトハウスのサイトはDrupalでできている」っていう話がありますが、本当なのかな。

とりあえずこのあたりのURLを総当たりしてみたけど全部404だった。
 https://www.whitehouse.gov/admin/content
 https://www.whitehouse.gov/admin/config
 https://www.whitehouse.gov/install.php
 https://www.whitehouse.gov/admin/people
残念。

それはともかく。

「Drupalで作ったサイトを別のサーバに移す」なんてイベントが発生した場合、

1.Drupalで作ったサイトのディレクトリを丸ごとコピー
2.DBを丸ごとDumpしてそれをそのまま新環境にインポートする

たったこれだけでOK!
URLの情報をDBに持ったりせず相対パスで動くから、何も考えずに楽々カンタンお引越し!

なんて謳われたりするけど、「カンタン設定」とか「ラクラク○○」とか命名されるものが楽々でカンタンだった試しがない

例えばDrupalで何かのサイトを作ったとする。
存在しないURLだけど、仮にこんなURLで作ったとする。
 http://test.resax.com/

仮にこんなディレクトリに構築したとする。
/var/www/html/drupal_test/

そして新しいサーバに存在しないURLだけど、仮にこんなURLで作ったとする。
 http://drupal.resaku.com/

仮にこんなディレクトリに構築したとする。
/var/www/html/drupal/

元のサーバからディレクトリ(/drupal_test/)の中身を丸ごと
新しいサーバのディレクトリ(/drupal/)にコピー。

元のサーバからDBをdumpして
新しいサーバのMySQLにインポート。
DB名も同じ。

本当に楽々でカンタンだったらこれで動くはずだけど、例えばこういうことが起きたらどうしよう?

・TOPページにはアクセスできる
例)http://drupal.resaku.com/

・それ以外の枝葉のページにアクセスできない。
例)
 http://drupal.resaku.com/node/96
 http://drupal.resaku.comadmin/content

・ただしDrupalのqパラメータ方式にするとアクセスできる。
例)
 http://drupal.resaku.com/?q=node/96
 http://drupal.resaku.com/?q=admin/content

これはつまりクリーンURLが使えてないことを意味します。
.htaccessを有効にするにはサーバのconfにAllowOverride Allの追加が必要です。追加しましょう。

「でも既にhttp.confはAllowOverride Allになっているよ!」みたいなときは、たぶんVirtualHostで構成されてたりする予感。

VirtualHostごとにAllowOverride Allが必要なのです。

という訳でVirtualHostのconfでこんな感じに「AllowOverride All」を書き込む。

レッツhttpd再起動。

これで枝葉のページにもアクセスできるようになりました。
 http://drupal.resaku.com/node/96
 http://drupal.resaku.com/admin/content

という訳でWordPress最高主義者だけど、いろんなCMSが使えるのも大切だよね。ってお話でした。

 - AWSとWordPressでブログを作る

adpc

adpc

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  関連記事

index
【初心者歓迎】初めてのホームページ(WordPress)作成講座〜基礎編〜 in 神保町

いやまあ明日なんですけど。 れさくは時々頼まれて物書きしてます。 論文やお笑い、 …

WordPress教室の先生をするのですが、その理由。またはクラウドナインアップスについて。

ちょっと西洋画風のタイトルにしてみました。 【第1回】初めてのWordPress …

8月23日(日)にホームページ(WordPress)作成講座1日コース in 神保町 開催します

まもなく初めてのホームページ(WordPress)作成講座1日コース in 神保 …

AWSにWordPress入れてお名前.comでサブドメイン設定してブログを作る:その2

~これまでのあらすじ~ WordPressのインストールまで終えました。 プラタ …

WordPress講座レポートin神保町

第1回「初めてのホームページ(WordPress)作成講座」の講師を務めさせて頂 …

AWSにWordPress入れてお名前.comでサブドメイン設定してブログを作る:その4

人間、見た目が全てです。 れさくはその髪型からサーファーとかに間違われますが、こ …

AWSにWordPress入れてお名前.comでサブドメイン設定してブログを作る:その1

時々「このブログってどうやって作ったの?」とか聞かれます。 そこで技術的な視点で …

AWSにWordPress入れてお名前.comでサブドメイン設定してブログを作る:その3

~これまでのあらすじ~ 校長先生激おこ。 WordPressの作業に戻る 「さあ …