
こんにちは。
こちらの記事では、KUSANAGIユーザー同士が交流している、KUSANAGIユーザーフォーラム内に上がったトピックスをご紹介していきます。
このフォーラムには、KUSANAGIの基本的な使い方から、インストール時・運用時のお悩みまで、様々な課題やその解決方法が投稿されています。
KUSANAGIについて、わからないところや困っていることがある方は、ぜひご参加ください。
https://users.kusanagi.tokyo/
今回は、トピックスタイトル「データベーステーブルの接頭語について」をご紹介します。
WordPressのテーブル接頭語の変更
今回ご紹介するトピックスはWordPressのテーブル接頭語の変更に関するものになります。
WordPress のデフォルトのテーブル接頭語は基本的に「wp_」が設定されます。これはKUSANAGI環境上にWordPressを構築する場合であっても同様です。
この接頭語を違うものに変更したいというケースが中にはあります。
例えば、ひとつの同一サーバ(データベース)上に複数のWordPressサイトを構築したい場合、それぞれのWordPressごとに違う接頭語を設定しておくことで、テーブルの上書きやデータの破損を防止することができます。また、データベースを直接確認する際の判別がしやすくなり、バックアップや移行作業といった管理面でもメリットがあります。
また、WordPressは世界中で広く利用されていることから、サイバー攻撃の的になりやすいという側面があります。簡易的な攻撃(ボットによる自動攻撃など)ではデフォルトのテーブル名を前提とした攻撃が行われることがあります。とはいっても、接頭語の変更はセキュリティ対策として万全とは言えず、一助になる場合がある程度です。そのため、主にセキュリティ要件が非常に高い案件などで別のセキュリティ対策と共に補助的に実施されるものかとは思います。
トピックスではこのテーブル接頭語の変更方法と、KUSANAGIバージョンアップ時の影響について質問されました。
ご質問内容の詳細は以下をご覧ください。
<寄せられたご質問>
kusanagi provisionコマンドを使用してプロファイルを作成すると、自動的にデータベーステーブルの接頭語がwp_になると思います。これをプロビジョニング時に変更する方法はあるのでしょうか?
または、プロビジョニング後に変更可能であればその方法が知りたいです。プロビジョニング後に変更した場合、wp-config.phpのテーブル接頭語を変更する形になりますが、このような手動でwp-config.phpに加えた変更は、KUSANAGIのバージョンアップ時に元に戻される等、影響は無いのでしょうか?
<回答>
これをプロビジョニング時に変更する方法はあるのでしょうか?
kusanagi provisionにインストール時にテーブル接頭語を変更する(–wp-table-prefixなど)オプションはありません。そのため、プロビジョニング後に、WordPressをインストール前にwp-config.phpの$table_prefixを手動で変更する方法が一般的です。
1,kusanagi provision –wp … のようにコマンドを実行すると、WordPress用の環境が用意されます。–adminuser、–adminpass、–adminemailを指定しなかった時、WordPress本体はまだインストールされていません。
2,次に、DocumentRoot内のwp-config.phpを編集し、$table_prefixを希望の接頭語に変更します。
3,その後、ブラウザからWordPressのインストールを実行します。
これにより、指定した接頭語でデータベーステーブルが作成されます。
KUSANAGIのバージョンアップ時に元に戻される等、影響は無いのでしょうか?
KUSANAGIのバージョンアップ時にwp-config.phpの$table_prefixが元に戻されることはありません。手動で変更した内容は全部維持されますので、ご安心ください。何らかの理由でkusanagi provisionした際に指定したdbname/dbuser/dbpassが消えてしまっているのだと思われます。
/etc/kusanagi.d/profile.confにプロファイル毎のdbname/dbnuser/dbpassがそれぞれKUSANAGI_DBNAME/KUSANAGI_DBUSER/KUSANAGI_DBPASSとして記録されています。
これらの値がexportしようとしている対象のプロファイルの現在のdbname/dbuser/dbpassと合っているか確認ください。
KUSANAGIでお困りのことがあれば、KUSANAGIユーザーフォーラムへ
KUSANAGIに関するご質問はもちろん、実装部分などの、不明な点やお困りのことがあれば、ぜひフォーラムにお寄せください。
フォーラムにはユーザーの方々だけでなく、KUSANAGI開発を担当しているメンバーが回答することもありますので、KUSANAGI関連でのお問い合わせであれば、まずはKUSANAGIユーザーグループのフォーラムに質問を投げてみるのもよいかと思います。
また、お仕事やプライベートでKUSANAGIを使っているという方につきましては、ぜひフォーラムの質問への回答者としてもご参加ください!皆さまのご参加をお待ちしております。
https://users.kusanagi.tokyo/
もしフォーラムでも解決できなかった場合や、自社で対応が難しい場合やより高度なサービスをご希望される場合は、KUSANAGIマネージドサービスというプライム・ストラテジーのサービスもありますのでご検討下さい。
執筆者/菱沼 佑香

プライム・ストラテジーでは、Web担当者様、IT担当者様などの
お役立ち資料やYouTube動画を公開しています。ご興味ある方はぜひご覧ください。

