Он должен был стать простой установкой WordPress. Установите его один раз и готово. Эта задача не очень сложна, и, как правило, для ее решения не требуется особых знаний. Тем не менее, это привело меня к полному отчаянию, так как я должен был найти решение ошибки, которая не была ошибкой.
Пролог — мой сервер-переезд
Несколько месяцев назад я получил «Управляемый корневой облачный сервер» от hostNET для своих веб-сайтов. Я хотел отказаться от своего виртуального хостинга и получить что-то, что будет перспективным благодаря масштабируемым ресурсам.
Я знал, что мой новый сервер должен будет поставляться с «Автоустановщиком». Поэтому я пошел дальше и попробовал, установив WordPress для первого веб-сайта в основном индексе, а не в папке в указанном индексе. Кстати, основной индекс, о котором я говорю, это не корневой индекс сервера, а индекс, в котором размещены сайты (HTML или public_html или что-то подобное).
Мне потребовалось много времени, чтобы понять, что установка через автоустановщик — плохое решение. Обычно я устанавливаю папку для каждого веб-сайта в главном индексе, на которую будет указывать соответствующий домен. По моему опыту, это лучшее решение.
Однако в данном случае я установил WordPress для своего первого веб-сайта непосредственно в основной файл index. После этого я создал папку для каждого следующего веб-сайта, но из-за моей глупой ошибки каждая папка находилась в файлах WordPress первой установки.
Неправильный и правильный путь с несколькими веб-сайтами
Вот как не должна выглядеть организация с несколькими веб-сайтами:

При запуске нескольких веб-сайтов на одном сервере структура не должна выглядеть так, как на скриншоте выше. Это вызывает серьезные проблемы и не помогает вам следить за всем.
Оптимальный способ организации множества сайтов на одном сервере:

Оптимальная структура для организации многих веб-сайтов всегда означает создание собственной, явно названной папки для каждого из веб-сайтов, на которую будет указывать соответствующий домен. Это обеспечивает четкий обзор, и ошибки обнаруживаются легче, поскольку наследственность исключена.
Попытка установки WordPress
Не ожидая, что мой день станет утомительным, я приступил к установке веб-сайта. Я создал папку, переместил в нее файлы WordPress, создал свой wp-config.php с правильной информацией из настроенной ранее базы данных и вызвал процедуру установки.
http://mywebsite.com/wp-admin/install.php
Однако вместо процедуры установки я увидел следующее уведомление об ошибке:
Forbidden You don’t have permission to access /wp-admin/install.php on this server
Даже после множества разных попыток и ухищрений я не смог решить эту проблему. В какой-то момент мне стало не по себе, поэтому я пошел дальше и решил проблему с помощью клещей.
Интересный ответ на проблему
Моя интуиция заставила меня проверить, могу ли я получить доступ к другому файлу в папке /wp-admin/
Я создал файл с именем temp.php
, и вошли в знаменитый «Hello World». После того, как я переместил этот файл в папку, у меня не было проблем с его вызовом в браузере. Итак, я попробовал трюк с файлом .htaccess и ввел следующее:
https://gist.github.com/anonymous/f150f716934d2fcf0351ff913493b707
Конечно, это тоже не сработало. Почему? Подробнее об этом позже. Сначала мне нужно было решить свою проблему.
Превратите temp.php в install.php
Доступ к temp.php, который я создал в папке /wp-admin/
не было проблем. Поэтому я скопировал содержимое install.php
в мой temp.php
и немного подкорректировал. Точную процедуру читайте здесь:
Решение ошибок WordPress: 403 Forbidden для /wp-admin/install.php
Теперь я смог установить WordPress без каких-либо проблем. И с этого момента я мог легко найти настоящую причину проблемы. К сожалению, зеркала под рукой не оказалось. Только после того, как я опубликовал статью о своем нестандартном решении ошибки, мне пришла в голову истинная причина ошибки.
Истинная причина проблемы: наследственность .htaccess
У ошибки был виновник и причина. Преступником был я, так как я всегда защищаю свои сайты от любых брешей в безопасности. Это также было причиной проблемы.
Недолго думая, я установил WordPress для своего первого сайта в основной каталог сервера. Все следующие веб-сайты вошли в собственные папки в рамках установки WordPress первого веб-сайта.
Это значит, что файл .htaccess первой установки влияет на все файлы и папки в указанной установке. В том числе и на других сайтах. Это потому, что наследственность возникает.
Первый сайт для моего стандарта .htaccess файл. Соответствующая выдержка:
https://gist.github.com/anonymous/349716c9d7fb095976b42b96418c4dbf
Эта запись очень эффективна и запрещает любой доступ к install.php. Если файл окажется в подпапке первой установки, эта запись будет действовать и там. Это логично. Но сначала вы должны придумать это.
Вывод: большой опыт не защищает от глупых ошибок
Даже веб-мастера и разработчики с большим опытом допускают ошибки. Это трудно признать, но это правда. Иногда за деревьями скучаешь по лесу. Важно углубляться в ошибки, чтобы вы могли учиться на них. Вы будете расти с ошибками и их решениями. Я узнал несколько вещей в этом отношении. Мои следующие временные рамки будут использованы для реорганизации моего сервера, чтобы я мог предотвратить повторение подобных ошибок.
(дпе)