ラベル

Server (108) work (77) Idea (68) Car (31) PC (29) DAW (28) other (19) MakingWEBsite (18) 趣味 (18) health (13) CentOS (11) drupal (11) (9) android (4) スマホ (4) communication (3) drupal7 (3) hint (3) meno (3) モバイル (3) 歯医者 (3) 第二種電気工事士 (3) 英語 (3) PC Server (2) drupal8 (2) ms access (2) uwp C# (2) めし (2) 整備 (2) 音楽 (2) MIDI (1) diy (1) 会計 (1) 動画再生 (1) 生活 (1) 郵便 (1) 食べ物 (1)

2014年1月16日木曜日

Drupal 7 Update backup バックアップ アップデート webサイトの移動、引っ越し

アップデート(簡易版)の手順。

http://princesswell.rocketserver.jp/drupal/drupal7-upgrade-efficient/
を参考にした。

1.バックアップを取る。

今現在は
http://yasutam.blogspot.jp/2015/03/mysql-centos.html
のやり方でバックアップを取っている。

   ・ データベース
         自分は、今のところはphpMyAdminでsqlベースのデータベースのバックアップを取っている。
    phpMyAdminで、(それかmysqldumpで、)、sqlベースのバックアップを取っておけば、後はど んな名前のデータベースにもphpMyAdminなどを使って取り込める。    


    その他データベースバックアップ方法。
drupalのBackup and Migrateモジュールを使う。
(この時、Home » Administration » Configuration » Mediaでの
Private file system pathを設定することが必要みたいだ。
自分は
sites/default/pfiles
にした。)

   ・インストールディレクトリ以下のすべてのファイル
       # cp -pR hoge /ahoge/hogehoge/bakDrupal_`date +%Y%m%d`
       (ちなみに"cp -a"は"cp -dpR"と同じだそうだ。そこまでは必要ないだろう。)
   ・自分でカスタマイズしたファイル。

2.WEBサイトをオフラインにする
   ・環境設定>開発セクションのメンテナンスモード
    「サイトをメンテナンスモードにする」にチェックを入れるとオフラインモードになる。

3.新バージョンのDrupalをアップロードする
  ・アップロードする前に削除しておくフォルダ、ファイル。
   .htaccess(内容を書き換えていた場合)
   拡張子が.txtのファイル(robots.txt含む)
   profilesディレクトリ
   scriptsディレクトリ
   sitesディレクトリ


4.パーミッション、オーナー上書き
     chown -R apache:apache drupalルートディレクトリ名
     chmod -R 755 drupalルートディレクトリ名
     chmod 644 drupalルートディレクトリ名/sites/default/settings.php

5.update.phpの実行
     ・アップロードが完了したら、update.phpを実行。URLは以下。
    http://<DrupalサイトのURL>/update.php
      ※update.phpを実行するには、管理ユーザー

でログインしている必要がある。

6.WEBサイトをオンラインにする


moduleのupdate
moduleのupdateはupdateタブからやった方が失敗なくできていい。


次に、webサイトの移動、引っ越し。


例えば、開発環境
http://localhost/hoge1
から公開アドレス、
http://www.nanjamonja.com/hoge2
に移動したい場合。
ローカルのhoge1フォルダ以下を公開サーバーへフォルダをhoge2と書き替えてコピーして、
sites\default\settings.php

# $base_url = 'http://www.example.com';  // NO trailing slash!

$base_url = 'http://www.nanjamonja.com/hoge2';  // NO trailing slash!
としておけば大丈夫らしい。(後述--$base_urlの設定は、この場合いらなかった。)

次にデータベース関係
まず、データベース上にdrupal用の空のデータベースを作り、そのデータベースを管理するユーザ、パスワードを作っておく。(これらは適当な任意の名前とパスワードでいい。)
後にdrupalの画面を表示させたときにエラーが出るときは、このユーザーがこのデータベースを扱えるprivilegesを持つように設定されているかどうかをチェックすること。

sites\default\settings.php
これは読み取り専用になっているので、これを書き込み可能にして

$databases = array
以下の
      'database' => '',
      'username' => '',
      'password' => '',
      'host' => '',
      'port' => '',
      'driver' => '',
      'prefix' => '',
を先ほど作ったデータベース名、ユーザー名、パスワードに書き換える。
driverは、Mariadbを使っている場合でもmysqlになる。
hostはlocalhost。(apache、Mariadb間のやり取りなので、)
portは空欄でいい。

データベースの復元作業

例えば、空の"drupaldb"というmysql上のデータベースに単一のsqlデータを持っている"hoge.sql"を戻すときは
mysql -u root drupaldb < /backup/hoge.sql

phpMyAdminを使って復元するときは

php.iniの設定をあらかじめ
upload_max_filesize = 30M
memory_limit=128M
post_max_size=30M
などと、
アップするsqlの大きさよりも大きい値に設定しておかないと、phpMyAdminでsqlをアップロードするときにアップロードの容量制限にひっかかってエラーが出る。
アップし終わったら、普段必要な値に戻しておく。


(apacheでアクセス制限をかけている場合は、アクセスする前に、apacheの/etc/httpd/conf/httpd.confでアクセス設定の変更。
再起動、
# /etc/rc.d/init.d/httpd restart
CentOS7以降は、
# systemctl start httpd.service
に変わったそうだ。

次にアクセス権の変更。
# chown -R apache:apache drupalルート名
# chmod -R 744 drupalルート名
# chmod 644 drupalルートディレクトリ名/sites/default/setting.php

ここまでやればサイトにアクセスできる。
サイトへアクセスして
admin/config/media/file-system
(Home » Administration » Configuration » Media » File system)
から、
Temporary directory
の設定をWindows
c:/wamp/tmp
などからLinuxのtempフォルダ
/tmp
等に変える。

watchdogというテーブルがデータベースの中にあって、そこに元のアドレスが書かれているけど、そこいら辺はどうなるのだろう?そこは自動で書き換えてくれるのかなぁ。

あとは、logoとfaviconの設定
logoとfaviconがうまく表示されない場合は、
(ブラウザのキャッシュの関係とか、その他の関係とかで、なかなかうまくいかないときがある。
フォルダmisc/以下のfaviconを削除して別のfaviconで上書きをしても前のfaviconがよみがえるときがある。何故なんだ?)
フォルダ、misc/以下のdrupalオリジナルfaviconなど、アイコン関係全てを削除して、
Home » Administration » Appearance » Settings
から自分のサイト用のfavicon,アイコンのアップロードをやりなおす。





0 件のコメント:

コメントを投稿