サブドメインの作成時に様々なエラーに遭ってしまったので、その時の行動を解決策を含め書いていきます。
今回起きたトラブル一覧
- ワードプレスのインストール失敗
- 安全ではありません
- 403エラー
- wp-config.phpファイルが見つかりません。
- データベース接続確立エラー
- 404エラー
- WordPressログイン画面の表示崩れ
- ダッシュボードが404エラー
「上記2つはサブドメイン」「残り6つは独自ドメイン」で起きたトラブルになります
トラブルの起きた順番に書いていますので見て行きましょう
WordPressのインストール失敗
作業内容
- techtech-dax.comにサブドメインを作成
- サブドメインはtest.techtech-dax.com
- 公開フォルダはtechtech-dax/sub-domain/test
(techtech-dax.comの公開フォルダはtechtech-dax) - WordPressのインストール失敗
公開フォルダとは
解決までの手順
まずはロリポップFTPの確認を行いました
するとWordPressに必要なフォルダはあったのですが「.htaccessとinstall.php」がありませんでした
色々調べた結果、「独自ドメインの.htaccess」が邪魔していたようでした
なので公開フォルダのtechtech-dax内の.htaccessを.htaccess1に変更し、もう一度サブドメインにWordPressをインストールを行うと無事完了しました。
おそらく公開フォルダがtechtech-dax/sub-domain/testだったのでtechtech内の.htaccessが原因だったのでしょう
安全ではありません
URLからサブドメインのサイトに行くと安全ではありませんと表示されました
解決までの手順
これは独自ドメイン(techtech-dax.com)はSSL化しているのにサブドメイン(test.techtech-dax.com)はSSL化されていない時に表示されてしまうようです
なのでサブドメインもSSL化すると直りました
403エラー
ここからは独自ドメインに起きたトラブルになります
techtech-dax.comにログインしようとしたら403エラーが表示されました
403エラーはアクセスを拒否されている状で、理由はいくつかありますが、よくありそうなのは下記2つです
- .htaccessに問題有り
- パーミッションに問題有り
解決までの手順
FTPを確認すると何故か「index.phpをindex1.php」にしていました
自分でindex1.phpに変更したのは覚えていますが理由は覚えていません
ですのでindex.phpに変更すると403エラーは消えました
wp-config.phpファイルが見つかりません。
独自ドメインのログイン画面を開くと「wp-config.phpファイルが見つかりません。開始する前にこのファイルが必要です。」と表示されました
解決までの手順
FTPからwp-config-sample.phpをコピーし手動でwp-config.phpを作成しました
データベース接続確立エラー
独自ドメインのログイン画面に行くと「データベース接続確立エラー」が表示されました
解決までの手順
wp-config.phpに下記4つを記入しました
- WordPress のためのデータベース名
- MySQL データベースのユーザー名
- MySQL データベースのパスワード
- MySQL のホスト名
ロリポップにログイン後>>サーバーの管理・設定>>データベースの順番で上記の確認はできます
(僕はデータベースが1つしか作れないプランです)
これはwp-config.phpの作成は行ったが、その中身が書かれていなかった為、データベースへの接続ができずに表示された問題でした
404エラー
techtech-dax.comのログイン画面を開くと、URLがtechtech-dax.com/wp-admin/install.phpになっており404エラーが表示されました
作業内容
- サブドメイン削除
- もう一度techtech-dax.comログイン画面を開く
- 404エラー
- サイトガードプラグインを削除
- 404エラー
解決までの手順
- ロリポップへ問い合わせ
- ロリポップのFTPを開く
- 独自ドメインの公開フォルダにある「wp-config.php」ファイルを開く
- 下記の部分を編集
編集前:$table_prefix = ‘wp_’
編集後:$table_prefix = ‘wp数字が入る_’ - 現在の属性を400に変更
- 保存
- キャッシュの削除
ログイン画面の表示崩れとダッシュボードの404エラー
独自ドメインのログイン画面が表示崩れを起こしていました
見た目はCSSが何も当たっていない感じでした
さらにtechtech-dax.comのダッシュボードが404エラーになっていました
作業内容
- /wp-adminを/wp-loginに変更
- 再度ログイン画面になる
- ログインすると、wp-adminになり404エラー
- サイト自体は表示される
- ロリポップに問い合わせ
- WordPressの問題の為、ロリポップは介入できないと返答が来る
解決までの手順
色々調べた結果、SiteGuardプラグインが原因と判明しました
このプラグインは早い段階で削除済みですが、.htaccess内への記述は残るそうです
.htaccess内の下記のコードを1行削除するだけで解決しました
RewriteRule ^wp-admin 404-siteguard [L]
削除したら、ログイン画面の表示崩れも無くなりダッシュボードにも入れるようになりました
何故このような問題が起きたのか
僕的には独自ドメインの公開フォルダ内にサブドメインの公開フォルダを作成した事が原因なのかと考えましたが、一応ロリポップサーバーに問い合わせてました
返答は、、、
サブドメインの作成手順に問題は無い、しかし、wp-config.phpが消えた理由は不明
との事でした
そしてメールと共に下記の外部リンクを送って頂きました
wp-configが消えた!?対処方法とDB再接続のコツ:ブログ運営
水上アキト:ワードプレスで『wp-config.php』が消えてサイトのデータベースエラーが出た話
こちらの記事を見るとプラグインの脆弱性によってwp-config.phpファイルが消える事があるみたいです
結論、
プラグインやテーマなどはしっかりとアップデートしましょう!!