[drupal] Drupal6.34に更新

Submitted byshin on金, 2014-11-28 23:10
前回に引き続きシステムの更新をさぼっていたら、 Drupal7はmysqlの不具合の為に 管理者権限を奪われたサイトサイトが発生したのを見て、「やっぱりやらないとなぁ」といやいや^^:更新。
久しぶりに更新したのでやり方を忘れていて面倒だった…というか覚えてなくても更新できる簡単なシステムにできないんだろうか。Drupal6がEOLになってDrupal7に移行する事になったらDrupal以外のブログに行こうかなぁ

で、Drupalの更新はこんな感じ
20100808 20130715 20141128(今回)
Drupal 6.17 6.28 6.34
Taxonomy Menu 6.x-2.9
CAPTCHA 6.x-2.3rc2 6.x-2.5 6.x-2.6
Hiragana CAPTCHA 6.x-1.1

■■前準備


  1. 管理者(user_id=1)でログイン
    http://www.xxx.net/?q=user (クリーンURL OFF時)
    http://www.xxx.net/user (クリーンURL ON時)
    ※id=1のアカウントは「管理セクション~ユーザの管理~ユーザ」の先頭アカウントで確認可能
  2. サイトのメンテナンスから、サイトをオフラインに
    「管理セクション~サイトの環境設定~サイトのメンテナンス」
    http://www.xxx.net/admin/settings/site-maintenance
  3. モジュール/テーマを初期状態に近づける
    「管理セクション~サイトの構築~モジュール」
    http://www.xxx.net/admin/build/modules
    OFFしたのは、 Hiragana Captcha, Taxonomy Menu, Taxnomy Menu ⇒CAPTCHA
    「管理セクション~サイトの構築~テーマ」
    http://www.xxx.net/admin/build/themes
    OFFしたのは、 drivecafe_earlyautumn_dp (代わりにbluemarine)
  4. 一応、この環境で問題なく動作することを確認
    ※ブラウザはこの状態を維持
  5. データベースをダンプ
    1. サクラコントロールパネルで新データベースを作成
      既存データベースを流用する時は、phpMyAdminでデータベースを空にする
    2. 現行データベースの内容を新データベースにコピー
      バックアップは、 mysqldump -Q --host=HOSTNAME --user=USERNAME --password=PASSWORD DBNAME > dump.sql
      リストアは、 mysql --host=HOSTNAME --user=USERNAME --password=PASSWORD DBNAME < dump.sql
      ※データベースのサイズが127MBで、phpMyAdmin経由だとファイルサイズ制限(16MB)でインポートできない
  6. サイトをバックアップ
    普通に tarで

■■Drupal2.34環境の構築


  1. 旧環境を別のフォルダ名にrename
  2. Drupal2.28のオリジナルアーカイブを展開
    tar -zxf drupal-6.34.tar.gz
  3. オリジナルとの差分を修正
    1. .htaccess
      1. "Options -Indexes"をコメントアウト
        さくらは、.htaccessで、Optionsディレクティブ宣言を禁止している為
      2. "Options +FollowSymLinks"をコメントアウト
        さくらは、.htaccessで、Optionsディレクティブ宣言を禁止している為
      3. [/.htaccess] "DirectoryIndex index.php"を"DirectoryIndex index.php /index.php"に
        Options -Indexesの代替手段
      4. Rewrite関係のコメントアウトしている"RewriteBase /"を有効にする
      ※今回は旧環境の.htaccessをそのままコピーすればよかった
    2. sites/default/setting.php
      1. オリジナルのsites/default/default.setting.phpをsetting.phpにコピー
      2. $db_url,$base_urlの修正を反映
      ※今回は旧環境の.htaccessをそのままコピーすればよかった
    3. php.ini
      マルチバイト文字列対応の為に以下の内容で作成
      mbstring.func_overload = 0
      mbstring.language = neutral
      mbstring.http_input = pass
      mbstring.http_output = pass
      mbstring.encoding_translation = off
      mbstring.internal_encoding = UTF-8
      magic_quotes_gpc = Off
      register_globals = Off
      session.auto_start = Off
      
      ※今回は旧環境のphp.iniをそのままコピーすればよかった
    4. themes/bluemarine/page.tpl.php
      AccessAnalyzerのタグ,favicon.ico表示記述を埋め込む
      ※今回は旧環境のpage.tpl.phpをそのままコピーすればよかった
    5. 旧環境のfiles/以下をコピー
      ※.htaccessを修正しないといけないので前回から順序変更
    6. files/.htaccess,files/tmp/.htaccess
      まずファイルを消して、update.phpした後、該当ファイルの Optionsディレクティブをコメントアウト
      前回までは、空の.htaccess, tmp/.htaccessを作るだけでよかったのだけど、その方法だとupdate時に警告が出るので方針変更
    7. sites/all/modulesの下に、
      1. captcha(6.x-2.6) ※更新
      2. taxonomy_menu(6.x-2.9) ※旧環境を再利用
      3. hiragana_captcha(6.x.1.1) ※旧環境を再利用
      を展開
    8. sites/all/themesの下に、
      1. drivecafe_earlyautumn_dp
        page.tpl.phpに、AccessAnalyzerのタグ,favicon.ico表示記述を埋め込む
      を展開

  4. 環境再構築
    1. update.phpを実行
    2. taxonomy_menu,captcha,Hiragana captcha,モジュール, earlyautumn_dpテーマをON
    3. トップフォルダはrobots.txt以外のtxt拡張子ファイルを削除
    4. オンラインモードに
    5. 様子見(^^;