「403」エラーが表示され自分のサイトに接続できない原因は 設定ミスから突然のエラー表示まで いくつかあります。ついやってしった操作ミスとその修正方法をお話しします。
WordPressの管理画面から「設定」→「一般」を開くと「WordPressアドレス(URL)」と「サイトアドレス(URL)」の項目があります。
「WordPressアドレス(URL)」はWordPressをインストールした場所であり、コアファイルを格納しているディレクトリです。
「サイトアドレス(URL)」は、WordPressによって作られたブログやWebサイトのためのアドレスとなります。
たとえば、WordPressを「https://xxx.com/wp/」にインストールしたとします。
デフォルトでは、サイトアドレスも「https://xxx.com/wp/」です。
しかし、サイトアドレスを変更すると「https://xxx.com/」でWebサイトを表示できます。
しかし、「サイトアドレス(URL)」をうっかり変なアドレスを入れたり入力ミスのまま変更・保存すると、管理画面にアクセスできなくなったりサイトの表示ができなくなったりして、エラーの表示のみが出てきます。
うっかりやらかしてしまった・・誤設定。
WordPress は非常に利便性の高いツールです、誰でも簡単に扱うことができホームページやブログの作成には不可欠といってもいいでしょう。
表示サイトアドレスを変えようとして・・
wordpressアドレス(url) と サイトアドレス(url)の2つを、書き間違えたまま保存してしまった。
こんな実に初歩的なミスでサイトが表示できなくなり、使用不能になってしまいます。
2つのURLを修正する2つの方法
このURLを修正して正しくサイトを表示させるには次の2通りの方法があります。
初めてだとちょっと戸惑うかもしれませんが、一度やってみると割と簡単なことです。
⑴ 契約しているサーバーの「FTP]を使う。
⑵ サーバーからデーター・ベースにアクセスして修正する。
この2つについて、お話ししていきます。
⑴ 契約しているサーバーの「FTP]を使う。
契約しているレンタルサーバーの FTPソフトでサーバーデーターに接続し、wp-config.php をダウンロード・表示して、以下の命令文を書き加えます。
1.契約しているレンタルサーバーのユーザー専用ページを開き「FTP]をクリックし、自分のドメインに関するフォルダやファイルの一覧が出てきます。
2.修復したいドメイン名(DIR)をクリックすると、下のようなページが出てきます。
3.修正の前に、パーミッションの変更をしておきます。
パーミッション とは、上図の右上にある「属性」の事で、書き込み実行ができるように変更しておきます。デフォルトでは赤文字で書き込みができませんと表示されていると思います。
オーナーの、読込、書込、実行 にチェックを入れ「保存する」をクリックします。(もしチェックが入っていたならそのままで構いません。)
サイトアドレスがある 「WP-CONFIG.PHP] をクリックします。
すると、こんな表示が出てきます。
ここでも、 オーナーの、読込、書込、実行 にチェックを入れ「保存する」をクリックします。(もしチェックが入っていたならそのままで構いません。)
4.サイトurlとhomeのurlを追記する。
最初の「<?php」の後の行に、以下の2行を追加してください。
define(‘WP_SITEURL’,’*******/’);
define(‘WP_HOME’,’*******/’);
****のところにドメインのアドレスを入れます。
私の場合は、” life ” というサブドメイン「 https://life.drone-k.com 」が使えなくなっていたので、
define(‘WP_SITEURL’,’https://life.drone-k.com/’);
define(‘WP_HOME’,’https://life.drone-k.com/’);
と、入力し保存しておきました。
2行を追加する位置については特に厳密な決まりはありませんが、下の方に 「これより上に書き込んでください」 という文が書かれていますので、それより上なら何処に行を追加しても構いません。
保存した後は、属性を元にもどしてページを閉じます。
ユーザー専用ページから、目的のドメインが表示されるかどうかを確認します。
ここで、注意事項が2つあります。
1つ目は、直接データーにアドレスを書き込んだので、ワードプレスの一般設定画面でのアドレスは固定され変更操作ができません。このまま使用しても支障はないのですが、何だか嫌だなぁ・・という方は、⑵ サーバーからデーター・ベースにアクセスして修正する。 でアドレスを書き換えることになります。
2つ目は、FTPでデーターの中を操作した後は一定時間サイトの表示ができなくなりますので、気長に待ちましょう。(3時間~最長72時間)
PHPMyadminをつかってデータベースの中を見るための準備。
WordPressの運用で、ぜひ覚えておきたいのがデータベースについての知識です。
WordPressでは、記事などのデータや各種の設定項目などすべてデータベースに格納され、アクセスに応じて随時呼び出しながらサイト表示をコントロールしています。
以下、WordPressのデータベースの構造、内容を編集するための事前準備として、その概略をお話しします。
データベースとは何か?
サーバーにあってさまざまな情報を整理して蓄積し、必要に応じてすぐに取り出せるデータの集合体のことで 、ウェブサイトやアプリケーションなどのシステムは、このデータベースから必要な情報を引き出すことで機能しています。
データベースでは数十万数百万、大規模システムになると億単位のデータを一瞬で捜査し必要な情報を引き出すことができる、私たちが普段使用しているパソコン のファイルシステム の高速・巨大版といったところです。
WordPressのデータベース
WordPressが利用しているデータベースは「MySQL」といい、オープンソースで開発されているリレーショナルデータベースの一種です。
リレーショナルデータベースとは、カラム(縦の列)とレコード(横の行)の二次元のテーブル構造で情報を管理しているデータベースです。
データベース(MySQL)は通常、WordPressとセットでサーバーに導入され、データベースの操作は一貫してWordPressを通じて行われるため、管理者やユーザーの目に直接触れることはありません。
WordPress上の文章や画像データの情報は、基本的に全てデータベースに保存されています。
例えば、WordPressの記事の情報は「wp_posts」というテーブルにタイトル、本文、投稿日時、投稿ステータスなどに分けて記録されています。
WordPressは訪れたユーザーが記事をリクエストすると、データベースの「wp_posts」からその記事の情報を引き出しウェブページを生成・表示します。
私たちがWordPressのサイトを訪れて目にしているウェブページは、データベースに記録されていた情報が、HTMLとCSSで整形されることで作られたものです。
WordPressのデータベースの構造
普段はWordPressを通じて情報を引き出したり記録したりしているため、管理者やユーザーがデータベースを直接目にすることはありませんが、何らかのトラブルでWordPressにアクセスできなくなったり、WordPressの情報を引き出して保存する必要に迫られたりしたときには、WordPressを経由せずに、データベースを直接操作しなければなりません。
まあ、こんなものだな・・という軽い気持ちで読み進めてください。
WordPressデータベースの構造
WordPressのデータベースには12個のテーブルがあります。
それぞれのテーブルにWordPressのデータが格納されていて、例えば「wp_post」には記事の投稿内容、「wp_postmeta」には記事のメタデータ(カスタムフィールド)が保存されています。
12個のテーブルの内訳は以下の通りです。
wp_posts | 投稿、固定ページ、メディア等の投稿に関するデータを保存。 公開しているか下書きかのステータスや、中身のコードなどのもここに保存されている。 ( ) |
wp_postmeta | 投稿に関するメタデータを保存。 ( 投稿/固定ページ > 新規追加 ) |
wp_comment | 投稿のコメント、その他コメント関係データを保存。 (コメント ) |
wp_commentmeta | 各コメントのメタデータを保存。 ( コメント > コメント ) |
wp_terms | タグ、カテゴリーのターム名、その他関係データを保存。 ( 投稿 > カテゴリー/投稿タグ ) |
wp_termmeta | タグ、カテゴリーに関するメタデータを保存。 ( 投稿 > カテゴリー/投稿タグ ) |
wp_term_taxonomy | タグ、カテゴリーとターム名を関連付ける情報を保存。 各カテゴリーやタグには固有のterm_idが振られていて、登録名がtaxonomy、説明がdescriptionに表示される。 |
wp_term_relationships | タグ、カテゴリーと投稿を関連付ける情報を保存。 ( 投稿 > 新規追加/投稿 ) |
wp_users | 管理者、編集者等のユーザー情報 ログインするための、名前、パスワード、e-mail を保存。 ( ユーザー ) |
wp_usermeta | ユーザー個別のメタ情報を保存。 ( ユーザー ) |
wp_options | WordPressの設定項目に関するデータを保存。 管理画面の「設定」→「一般」で設定した情報を保存している。 ( 設定 > 一般設定 ) |
wp_links | 各種リンクURLに関するデータを保存。 |
これらのテーブルの中で、さらに細かく分類される形でデータが保存されています。
テーブル「wp_posts」の構造
12個のテーブルの中でも特に重要度が高い、WordPressの投稿や固定ページに関するデータを蓄積しています。
ID | 投稿ID |
post_author | 投稿者のID |
post_date | 投稿した日時 |
post_date_gmt | 投稿した日時(GMT) |
post_content | 投稿の本文 |
post_title | 投稿のタイトル |
postexcrpt | 抜粋されたオプション |
post_status | 投稿ステータス |
comment_status | コメントの許可状況 |
ping_status | タックバック、ピンバック受け付けの可否 |
post_password | 投稿を閲覧するためのパスワード |
テーブル「wp_users」の構造
WordPressのユーザーに関連した設定を保存しており、WordPressの管理画面へのログインに必要なユーザー名やパスワードをここから参照できます。
ID | ユーザーID |
user_login | ログイン名 |
user_pass | ユーザーパスワード |
user_email | ユーザーの登録メールアドレス |
user_url | ウェブサイトのURL |
user_registered | ユーザーの登録日時 |
テーブル「wp_links」の構造
投稿等の各種リンクが保存されているテーブルです。
link_id | リンク登録ごとに割り振られているID |
linl_url | ウェブサイトのURL |
link_name | リンク名 |
link_image | 画像のURL |
link_target | リンクのターゲット |
link_description | ディスクリプション |
link_owner | 評価(評価を指す項目は複数あります) |
link_notes | メモ |
⑵ サーバーからデーター・ベースにアクセスして修正する。
phpMyAdminでデータベースを編集する
WordPressのデータベースの構造を見てきましたが、実際にMySQLのデータベースを操作するには、SQLというデータベース言語を使わなければならず、初心者にはやや敷居が高くなっています。
そこで今回使用するのが、MySQLのデータベースを簡単に操作できる「phpMyAdmin」というツールです。
「phpMyAdmin」は非常に有名なデータベース管理ソフトで、あなたがわざわざご自身のPCにインストールする必要はなく、WordPressの導入に対応したレンタルサーバーのほとんどに標準でインストールされています。
今回は「お名前.com」のレンタルサーバーを例に、サーバーに標準搭載された「phpMyAdmin」にログインして、データベースを編集する方法を解説します。
phpMyAdminのログイン方法
「お名前.com」にユーザーページにログインして、「レンタルサーバー」を開き、コントロールパネルの「ログイン」をクリックします。
他のレンタルサーバーでも同じように、ユーザー専用ページにログインします。
コントロールパネルにログインしたら、左メニューから「データベース」をクリックします。
「データベース」が開くので「phpMyAdmin」をクリックします。
「phpMyAdmin」のログイン画面が表示されたら、データベースのユーザー名とパスワードを入力します。
サーバーによって表示方法は違いますが、
「ロリポップ」などは、取得しているドメインごとの データベース名、データベースホスト、ユーザー名 などの一覧が出てきますので、修正したいサイトをその中から選び、「操作する」をクリックし「目的のドメイン情報」を表示します。
「phpMyadminを開く」 をクリックします。
データベース名:AAA1234567ー*****
パスワード:(ユーザー名横のパスワード確認をクリックすると必要なパスワードが表示されます。)
データベースホスト名:
それぞれを入力し実行します。 (「目的のドメイン情報」のページですべて確認できます。) コピペするときは、余分なスペースなどが入らないように注意します。
「phpMyAdmin」のデータベースのデータテーブルと編集画面が表示されます。
phpMyAdminのデータを編集する
左のデータベースの一覧から編集したいデータベースを選択すると、テーブルの一覧が表示されるので、編集したいテーブルの「編集」をクリックします。
今回は、 wordpressアドレス(url) と サイトアドレス(url)の2つを 書き換えたいので、左の階層構造の中から、アドレスデータが保存されている wp-option を選びます。
テーブルの内容が表示されるので、ボックス内のデータを書き換えましょう。
Option Id 1(siteurl) と Option Id 2 (home) にそれぞれアドレスが書かれていると思います。
ここを掻き間違えている場合は、アドレスをダブルクリックして書き込み状態にし、正しいアドレスを書き込みます。
これで、修正完了です。 が、間違っても、左にある「削除」をクリックして修正しようとしてはいけません。
この削除は、行そのものを消してしまいデータベースから消えてしまいます。
( 私がやらかした失敗です。)
ボックスの数や名称はテーブルによって異なります。
データを書き換えたら、画面右下の「実行」ボタンをクリックすると変更が保存されます。
バックアップを取っておこう。
私の場合、一度修正できたものを、遊び心からいじっているうちにうっかり誤って「削除」してしまい、1番と2番のID(横の行)がなくなってしまいました。
バックアップも取っておらず、当然サーバーのバックアップオプションもつけてなかったので、結構面倒なことになってしまいました。
「403」エラーが表示されるばかりで、どうにもならず、レンタルサーバーの電話サポートからはバックアップが無ければ不可能といわれ、メールサポートからの連絡でもデーターの復旧は不可能との返答しかなく途方に暮れてしまいました。 やっちまったなぁ・・ばかですね~!
因みに、地域のホームページ関係の修復業者に依頼すると、最初の調査訪問で、出張料と確認作業費で 8800円 とのことでした。実際はそこにかかった時間分の作業費が更に加算されていきます。(不具合内容によっては100パーセント復旧の補償はできないとの注意つきで・・。) 因みに、データー復旧専門業者の場合は基本だけで3万数千円・・でした。
データベースに触れるのは初めてだし 貧乏なので高額な業者に依頼もできず 、もう半分はあきらめかけてましたが、この機会にちょっと データベースというものをいろいろ勉強してみて何となく理解し、そして何とか自力で復旧できました。
どうやって復旧したかについては、下の 「データファイルの追加」に書いたありますが、実行する場合は自己責任でお願いします。
皆さん、くれぐれもバックアップはしておきましょう。
「All-in-One WP Migration」でデータベースを保存する
WordPressの記事をバックアップしたり他のWordPressに移転させたい場合には、データベースの情報を抜き出して保存しておかなければなりません。
phpMyAdminでデータを保存する方法と、WordPressのデータベースのバックアップ用のプラグインもあります。
まずは、プラグイン「All-in-One WP Migration」を使って、WordPressのデータベースのエクスポート(バックアップ)とインポート(復元)を行う手順について解説します。
データベースをエクスポートする
WordPressの管理画面の左メニューで、「プラグイン」の「新規追加」を開き、右上の検索欄に「All-in-One WP Migration」を入力、表示されたら「今すぐインストール」をクリックし「有効化」します。
「All-in-One WP Migration」という項目が管理画面の左メニューに表示されるので、「エクスポート」をクリック、「サイトをエクスポート」画面に「エクスポート先」という一覧があるので、一番上にある「ファイル」の項目を選択して下さい。
データベースのダウンロードボタンが表示されるので、クリックします。
ダウンロードしたファイルは、拡張子「.wpress」で保存されます。
これで、バックアップは完了です。
データベースをインポートする
データベースの移行先のWordPressの管理画面にログインし、「All-in-One WP Migration」をインストール、左メニューの「All-in-One WP Migration」の「インポート」をクリックします。
「サイトのインポート」画面に「インポート元」が表示されるので、「ファイル」の項目をクリックし、先ほどエクスポートした拡張子「.wpress」のファイルをアップロードします。
データベースの情報を上書きする確認のダイアログが表示されるので、「開始」をクリックします。
サイトのインポートが終わったら「完了」をクリック、これでデータベースがエクスポートしたファイルで上書きされました。
データ移行後は、ログインIDとパスワードが旧ドメインのものに変更されているのでご注意下さい。(必要に応じて、各種設定を確認しておきます。
移行時のトラブルが考えられるので、移行元、移行先サイトのWordPressバージョンを揃えておきましょう。
WordPress を使わず、直接データーを自分のPCへ ダウンロード・保管しておく。
最初に、前述の要領で「phpMyAdmin」 にログインしておきます。
ログインした最初のページの左にあるリンク欄から、バックアップしたいドメインのテーブルを表示させます。
1.ページ上の「エクスポート」をクリックして、すべてのデータを選択しておきます。
2.細かい設定項目は変更せず、デフォルトの状態で実行します。
3.ご自身のPCの、ダウンロードファイル格納場所にダウンロードされたのを確認したのち、わかりやすい場所(W/Pバックアップ)を作りそこに保管しておきます。日付も忘れずつけておきます。
記事は随時更新するため、バックアップも定期的に実行することが望ましいと思います。
データファイルの追加
今回私が犯した失敗は、「wp-option」にある アドレス記述部分(ID1とID2)でした。
データベース上で、この部分を追加書き込みをすることはできませんので、不完全な状態のままデータベースからエクスポートして、自分のPCに一旦取り込みます。 まあ、バックアップですね。
PCにダウンロードした「wp-option」 をメモ帳で開きます。
そうすると、カーソルが点滅し、書き込み可能状態になります。
ここで中身をよく見ると、 ID1とID2 がなくなっておりID3から始まっていますので、ID3の行の上に ID1とID2 を追加記述します。(1と(2 の部分です。
どんな命令文で書いたらいいのかわからないので(SQLで書かれています)別のドメインの 「wp-option」 を参考にして、書き込みました。
— テーブルのデータのダンプ wp2_options
INSERT INTO wp2_options
(option_id
, option_name
, option_value
, autoload
) VALUES
(1, ‘siteurl’, ‘http://life.drone-k.com’, ‘yes’),
(2, ‘home’, ‘https://life.drone-k.com’, ‘yes’),
(3, ‘blogname’, ‘自由気ままに生きると云うこと’, ‘yes’),
(4, ‘blogdescription’, ‘ひまわり工房:第二の人生をどのようにいきるか’, ‘yes’),
こんな記述になっています。 打ち込むのが面倒な方は、コピペして使ってください。当然、アドレス部分の書き換えをお忘れなく!
アドレスに間違いがないか確認した後、PCに上書き保存しておきます。
この wp2_options
(サイトによって wp**_options
と、*印の部分は変わります) をデータベースにアップロード(データベース上では、インポート)して保存を実行しますとちゃんとサイトを表示してくれます。
新たに修正したデータテーブルを追加することになるので、インポートする前に、不完全だった wp*_options
は削除しておいてください。
データベースへ直接アクセスして、インポートやエクスポートを行えば、サイトがぶっ飛んで表示できなくても( WordPress が使えなくても)データを復旧してサイトを救うことができます。
しかし、一歩間違えると取り返しがつかなくなるので慎重に作業することが大切ですね。(私も、今回の件で痛感しました。)
普段WordPressを使っていると意識することはありませんが、データベースはWordPressの本質的な機能を担っています。
WordPressでは主要な情報は全てデータベースに保存され、そこから情報を引き出すことでページが生成されているため、もしWordPressが機能不全に陥った場合や誤操作で誤った設定をした時に備えて、データベースを直接操作する方法や、重要なデータをサルベージする方法は、覚えておくに越したことはありません。
しかし、大切なあなたのサイトが使用不能になっては困ります、できればサブドメインを一つ追加して新しいサイトを一つ作りながらそこで練習をしてみるのもよいかもしれません。ただし、サーバーの負荷にならない程度に・・。
コメント