Drupalで構築したサイトを別のサーバにコピーする
どうなんですかね、このアイコン。
Drupalに入ってるデフォルトのアイコンです。
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」を書き込む。
1 2 3 4 5 6 7 8 9 10 11 12 |
<VirtualHost *:80> ServerAdmin webmaster@drupal.resaku.com DocumentRoot /var/www/html/drupal ServerName resaku.com ServerAlias drupal.resaku.com ErrorLog logs/drupal.resaku.com-error_log CustomLog logs/drupal.resaku.com-access_log combined <Directory "/var/www/html/drupal"> Options All AllowOverride All </Directory> </VirtualHost> |
レッツhttpd再起動。
これで枝葉のページにもアクセスできるようになりました。
http://drupal.resaku.com/node/96
http://drupal.resaku.com/admin/content
という訳でWordPress最高主義者だけど、いろんなCMSが使えるのも大切だよね。ってお話でした。
adpc
adpc
関連記事
-
AWSにWordPress入れてお名前.comでサブドメイン設定してブログを作る:その1
時々「このブログってどうやって作ったの?」とか聞かれます。 そこで技術的な視点で …
-
【初心者歓迎】初めてのホームページ(WordPress)作成講座〜基礎編〜 in 神保町
いやまあ明日なんですけど。 れさくは時々頼まれて物書きしてます。 論文やお笑い、 …
-
WordPress教室の先生をするのですが、その理由。またはクラウドナインアップスについて。
ちょっと西洋画風のタイトルにしてみました。 【第1回】初めてのWordPress …
-
8月23日(日)にホームページ(WordPress)作成講座1日コース in 神保町 開催します
まもなく初めてのホームページ(WordPress)作成講座1日コース in 神保 …
-
AWSにWordPress入れてお名前.comでサブドメイン設定してブログを作る:その4
人間、見た目が全てです。 れさくはその髪型からサーファーとかに間違われますが、こ …
-
AWSにWordPress入れてお名前.comでサブドメイン設定してブログを作る:その3
~これまでのあらすじ~ 校長先生激おこ。 WordPressの作業に戻る 「さあ …
-
WordPress講座レポートin神保町
第1回「初めてのホームページ(WordPress)作成講座」の講師を務めさせて頂 …
-
AWSにWordPress入れてお名前.comでサブドメイン設定してブログを作る:その2
~これまでのあらすじ~ WordPressのインストールまで終えました。 プラタ …
- PREV
- ふちねこコレクション(3)
- NEXT
- マクドナルドはかつてディズニーランドだった