WordPress の動作がおかしい、コアファイルを間違って削除した、ハッキングされたといった場合にデータベースを残してWordPressだけを新規にインストールする方法です。
データのバックアップ
まず、削除する前に必要な情報・データをバックアップします。バックアップする必要があるファイルは以下のようになります。
- wp-config.php
- トップ階層の.htaccess
- wp-content内にある以下のフォルダ
uploads
themes
plugins
FTPソフトやレンタルサーバーのファイル管理機能を使ってあらかじめダウンロードしておきましょう。
WordPressのアップロード
WordPress.org からWordPressをダウンロードします。日本語の最新版はこちら
あまりオススメではないですが、どうしても最新版以外がよいという場合は下記ページからバージョンを選んでダウンロードすることができます。
ダウンロードしたWordPressファイルを解凍して、その中のファイルをFTPソフトでインストールしたいディレクトリにアップロード
wp-contentのファイルをアップロード
先ほどバックアップしたwp-contentないのファイルを全てアップロードします。上書きでOK。
ハッキングされて再インストールの場合、wp-content内にも不正なファイルが設置されている可能性があります。それを全てチェックするのは大変なので、テーマやプラグインはバックアップをコピーするのではなく、新規インストールしましょう。公式のテーマやプラグインであればプラグインディレクトリから直接ダウンロードしたものを解凍してアップロードします。
uploadsに関してはWordPressが自動でフォルダ分けしたり生成した画像があるので新規にやり直すのは困難なのでphpやhtml等がもしあれば削除、画像ファイルはウィルスソフトを使用してチェックしてからアップロードします。
.htaccess を追加
インストーラを使って設置すると.htaccessが自動的に追加されますがそうでない場合は自分で使いする必要があります。
バックアップしていたファイルをそのままアップロードするか新規で作ります。新規で作る場合は下記の内容になります。※これはディレクトリ直下にインストールした場合のサンプル
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
wp-config.php を編集
wp-config.php はバックアップしたものをアップロードするかwp-config-sample.phpをコピーして新規に作ります。新規で作る場合、データベースの設定はバックアップしたwp-config.phpのものを使います。多くの場合は下記の5項目の内容をチェックしておけばよいでしょう。
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'database_name_here' );
/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'username_here' );
/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'password_here' );
/** MySQL のホスト名 */
define( 'DB_HOST', 'localhost' );
/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
$table_prefix = 'wp_';
あと、認証用のユニークキーも設定する必要があります。
/**#@+
* 認証用ユニークキー
*
* それぞれを異なるユニーク (一意) な文字列に変更してください。
* {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス} で自動生成することもできます。
* 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、すべてのユーザーを強制的に再ログインさせることになります。
*
* @since 2.6.0
*/
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
これもバックアップしたwp-config.phpからコピーしてきてもよいですが、公式サイトが提供しているオンラインジェネレーターで生成したものを使った方がベターでしょう。オンラインジェネレータで表示されたコードをそのままコピペすればOKです。
以上で新規インストールは完了です。以前と同じようにログインして使えるようになっているはずです。
何かトラブルがあって再インストールする場合に参考になると幸いです。
コメント
この記事へのコメントはありません。