WordPressのファイル構成
いろいろな講座にお世話になりながらWordPressを自作している。
なかなか一筋縄ではいかず苦労している。
WordPressは初期設定のままインストールするといろいろ問題があると言われている。
ファイル構成もそのうちの1つ。
自分が割り当てられているサイトの直下にWordPressをインストールすると管理がむずかしくなる。
なぜならWordPress を構成するファイルは沢山あるからだ。
トップディレクトリにあるWordPressを構成するファイルとフォルダ
トップディレクトリにWordPressをインストールした場合に、そのディレクトリにあるのは以下のフォルダーである。
フォルダーやファイルが21個も存在する。
もし仮にPDFを配布したくなったり、他のサービスを同じドメインでしたくなったらますますフォルダーやファイルが増えてしまう。
なので、サブディレクトリを作りそこにWordPressをインストールすることで、何に関連したファイルか把握しやすくなる。
セキュリティ対策として使用したい「SiteGuard WP Plugin」
WordPress は、オープンソースなので脆弱性があれば悪意を持った第3者に攻撃される場合がある。
また、初期設定のままだとログインページもわかるしユーザー名もわかる。
パスワードだけ総当たりで当たっていけばログインは可能である。
なので、ログイン失敗を繰り返す接続元を一定期間ロックするという機能のあるSiteGuard WP Plugin」は有用だと思う。
ただし、これもデフォルトのまま使うと危険。
詳しくは以下のサイトを読んでみてね。
サブディレクトリに入れたwordpressには効かない?
さて、自作した WordPress をサブフォルダーを作りその中に構築した。
早速設定して確認のためログアウトして再度ログインしようとすると…。
「ページが見つかりません」と表示が出てログイン画面にたどり着けなくなってしまった。
これは大変。どうしよう…。
ログイン画面を表示させる方法
そんな時は慌てず、以下の手順で対応しよう。
「.htaccess」ファイルの「SiteGuard WP Plugin」の記載があるところをコメントアウトする。
プラグインフォルダーから「siteguard」消す。
これでログイン画面が表示できた。
サブディレクトリへのインストールでも使いたい「SiteGuard WP Plugin」
使えないのなら仕方ないかと諦めかけたが、「ログイン失敗を繰り返す接続元を一定期間ロックするという機能」は捨てがたい。
再度「SiteGuard WP Plugin」をインストールし設定した後で「.htaccess」を以下のように書き換えるときちんと機能するようになった。
サブディレクトリの名前…amauga
新しいログインURL…checkmate
(ちなみに上の名前は架空のもの。アタックしないでね。)
#SITEGUARD_PLUGIN_SETTINGS_START
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /amauga/
RewriteRule ^wp-signup\.php 404-siteguard [L]
RewriteRule ^wp-activate\.php 404-siteguard [L]
RewriteRule ^checkmate(.*)$ /サブディレクトリの名前/wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END
これで安心できる(笑)
コメント