MariaDB 10
WordPressはMariaDB 10のデータベース(DB)にページを保存しており,2つ目のサイト構築にも専用のDBが必要である.
今回は,既存のuser1が持っているデータベース(DB1)をphpMyAdminからexportしてDB1をダウンロード,新しいuser2で作成したDB2にimport して,これをSite-2用のデータベースとして修正し稼働できることを確認する.同時にphpMyAdminの使い方の習得を並行して行った.
以下のphpMyAdminで行う操作は,慎重に行ってください.
特に置換を実施する際,先に検索でヒットするテーブルやレコードを確認しておき,その後に,置換の作業をするようにすれば理解しながら進められます.
既存DB1のexport
新しいuserとDBの作成
siteurlとhomeのurlの修正
| 項目 | 説明 |
|---|---|
siteurl |
WordPress本体(wp-login.php, wp-admin, プラグインなど)が存在するインストール先URL |
home |
サイト訪問者に表示されるホームURL(TOPページ) |
<wp_posts表の修正>
web station -> web service -> Edit Native Script Language Website -> Document rootには、wordpressが置かれているfolderを明示的に指定しているので,DB上で設定する必要はない.
wp_postsには投稿のguidカラムがあり,そこには、”https://harikiri.diskstation.me/myblog/?p=1″のように一意にidが設定されている.このままでもサイトは稼働するが,site 2の投稿idではないので,site 2用に修正する。投稿数が多いがphpmyadminの置換機能で正しい値に一括置き換えを行う.
挿入内部リンクの修正
page(固定ページ)およびpost(投稿)には内部画像のリンクがあるとむ思う.もしも,ベージの編集画面でリンクが外れてしまった場合は,リンクのアドレスの修正が必要になる.
編集画面でpostを開いた時に張り付けていた画像が表示されない場合はリンクが切れている
原因の一つは,旧サイトのsiteurl : aaa.bbb.ccc/ddd, 及びhome : aaa.bbb.ccc,新サイトのsiteurlとhomeを同一にした場合,投稿内で張り付けていた画像のリンクがきれてしまう.
原因は,画像のあるurlにはdddを含んだリンクとなっているはずで,編集画面のコードエディターに切り替えて確認することができる.
対処 :
以下sqlコードをphpMyAdminにログインしサイトDBに対して実行する.実行前にはDBをexportしておく.その前に事前に対象となるレコードを確認しておく.
事前確認: 旧サイトでの画像が保管されていたリンク存在検査(sqlコード)
置換 : sqlコードの実行により置換する
note: "%" の意味(LIKE句におけるワイルドカード)
| 書き方 | 意味 |
|---|---|
%文字列% |
文字列を含む(前後に任意の文字列があってもOK) |
文字列% |
文字列で始まる |
%文字列 |
文字列で終わる |
その他の表
その他の表にもwordpressに導入しているpluginなどによっては,前述の処理が必要な場合があると考えられる.
必要に応じて確認して修正する.
まとめ
今回構築したこの「複数サイト構成」の呼び方:(by 4o)
| 呼び方 | 対応 | 解説 |
|---|---|---|
| マルチドメイン(Multi-Domain) | ✅ 適切 | 異なるドメイン名(FQDN)で異なるWebサイトを運用する構成。 今回のように harikiri.diskstation.me と もう一つのurl がそれぞれ独立して動作していれば、これは正しくマルチドメイン構成です。 |
| マルチサイト(WordPress Multisite) | ❌ 非該当 | WordPressの1インスタンス内で複数のサイト(サブディレクトリやサブドメイン)を運用する機能。 今回はWordPressインスタンスを2つ別々に構築しているため、マルチサイトではありません。 |
| シングルサイト ×2(独立サイト) | ✅ 技術的にはこちらも正しい | 単に2つのWordPressがNAS上に別個に存在している構成なので、2つの独立したWordPressサイトと呼んでも間違いではありません。 |
ただし、「WordPressのマルチサイト構成」ではないことには注意が必要です。マルチサイトはひとつのWordPressの中で複数のサイトを管理する仕組みで、今回のように個別にWordPressをインストールし、それぞれのドメインで運用している場合は、それぞれが独立した「シングルサイト」です。
FAQ:
HTTPエラーコード一覧(代表例)
| ステータスコード | 名前 | 意味・原因の概要 | 要確認 |
|---|---|---|---|
| 404 | Not Found | 要求されたページが存在しない。 → URLの間違い、削除済み、リンク切れなど。 |
portalがdisableに..htaccessが無い. |
| 403 | Forbidden | アクセスが禁止されている。 → パーミッションエラー、アクセス制限、IP制限など。 |
Access control profileなどで外部からのアクセス制限など. |
| 500 | Internal Server Error | サーバー内部で予期せぬエラーが発生。 → プログラムのバグ、設定ミス、.htaccessの誤りなど。 |
別のserverの.htaccessを使用している..htaccess内のpath指定が不整合 |