Использование MAMP и Xip.io для просмотра WordPress Multisite в локальной сети

Вопрос или проблема

Я пытаюсь использовать встроенную функциональность Xip.io в MAMP для просмотра установки WordPress multisite в локальной сети. У меня это работает без проблем с одноастной установкой WordPress, но я сталкиваюсь с трудностями с multisite. Просто хотел узнать, знает ли кто, что нужно изменить в файле wp-config, чтобы это заработало с multisite, так как изменение записей в базе данных здесь не является шагом вперед.

Я не использовал MAMP и Xip.io для своей локальной установки, а использовал XAMPP.

Я объясню вам, какую идею я использовал для включения настройки multisite на своем компьютере, и надеюсь, это направит вас в правильном направлении, позволяя вам реализовать это с использованием MAMP. Обратите внимание, что я использую Windows.

Прежде чем что-либо делать, я планировал настроить свой поддомен для своей сети, а не подкаталог. Поэтому мой план заключался в том, чтобы иметь domain.dev, www.domain.dev, sub1.domain.dev, sub2.domain.dev и так далее.

Поэтому мне пришлось добавить в свой файл hosts следующие записи:

127.0.0.1       domain.dev
127.0.0.1       www.domain.dev
127.0.0.1       sub1.domain.dev
127.0.0.1       sub2.domain.dev

Затем я обновил свой файл виртуальных хостов httpd-vhosts.conf, чтобы включить следующее:

<VirtualHost domain.dev:80>
    ServerAdmin admin@domaindev
    DocumentRoot "C:/path/to/wordpress"
    ServerName domain.dev
    ServerAlias www.domain.dev

    <Directory "C:/path/to/wordpress">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>

</VirtualHost>



<VirtualHost sub1.domain.dev:80>
    ServerAdmin [email protected]
    DocumentRoot "C:/path/to/wordpress"
    ServerName sub1.domain.dev

    <Directory "C:/path/to/wordpress">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>

</VirtualHost>

<VirtualHost sub2.domain.dev:80>
    ServerAdmin [email protected]
    DocumentRoot "C:/path/to/wordpress"
    ServerName sub2.domain.dev

    <Directory "C:/path/to/wordpress">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>

</VirtualHost>

Затем я установил WordPress как обычно, одноастная установка.

Затем я включил multisite с поддоменом, как описано здесь, и всё работало прекрасно.

Я заставил xip.io/nip.io работать с WordPress multisite на Laragon (в основном эквивалент MAMP, но для Windows).

Мои основные шаги были:

  1. Создайте новый обычный сайт WordPress. Допустим, имя вашего нового сайта “mysite.test”
  2. Установите WP CLI
  3. С командной строки (терминала) выполните wp search-replace "mysite.test" "mysite.127.0.0.1.nip.io" --all-tables (или вы можете установить его на xip.io, я не заметил никакой разницы).
  4. В файле конфигурации Apache для вашего сайта измените ServerName на mysite.127.0.0.1.nip.io и ServerAlias на *.mysite.127.0.0.1.nip.io вместо mysite.test.
  5. Перезапустите Apache.
  6. Перейдите на mysite.127.0.0.1.nip.io. Это должен быть ваш сайт.
  7. Включите WordPress multisite, выбрав опцию “поддомен”.

Это немного варварски, что нужно вводить такой длинный URL, но, по крайней мере, мне не нужно больше беспокоиться о добавлении новой записи DNS.

У меня были аналогичные проблемы, и я связался с Appsolute по этому поводу (я пользовался MAMP PRO в течение многих лет). Ответ, который я получил, был “Это не работает с WordPress”. Но они упомянули, что это проблема, о которой они осведомлены, и их собственный MAMP Viewer для iOS (Android?) должен работать. Но этого не происходит. С тех пор, как я сказал об этом и ответил на вопросы, я не слышал от них. Я просто переключился на Local by Flywheel для разработки WordPress. Тем не менее, я думаю, что вышеуказанные ответы должны помочь. Я также использовал плагин, чтобы сделать все пути относительными (Relative Paths). Это все еще не решает проблему MAMP xip.io / Mamp Viewer, но делает перемещение/тестирование сайта немного проще. И WordPress сериализует некоторые поля, где используется URL, поэтому любое изменение URL должно также учитывать правильное количество букв в строке. Надеюсь, это поможет.

Ответ или решение

Использование MAMP и Xip.io для просмотра установки WordPress Multisite в локальной сети

Для того чтобы успешно установить и просмотреть WordPress Multisite через MAMP с использованием Xip.io, необходимо выполнить определенные шаги, обеспечивая правильную настройку как на стороне сервера, так и на уровне конфигурации WordPress. Данный процесс будет разбит на несколько этапов, включая настройку Apache, конфигурацию WordPress и использование Xip.io для доступа к мультисайту.

Этап 1: Подготовка окружения

  1. Установка MAMP: Убедитесь, что у вас установлена последняя версия MAMP. Обычно, это программное обеспечение поставляется с Apache и MySQL, что обеспечивает необходимую серверную среду.

  2. Создание базы данных: Запустите MAMP и создайте новую базу данных для вашего WordPress. Вы можете сделать это через phpMyAdmin, доступный по адресу http://localhost/phpmyadmin.

Этап 2: Настройка файла hosts

Xip.io предоставляет простой способ создания динамических DNS-ссылок. Вам нужно будет добавить нужные поддомены в файл hosts. Откройте файл hosts, находящийся по адресу /etc/hosts на Mac, и добавьте следующие строки:

127.0.0.1       domain.dev
127.0.0.1       www.domain.dev
127.0.0.1       sub1.domain.dev
127.0.0.1       sub2.domain.dev

Этап 3: Конфигурация виртуального хоста Apache

Откройте файл конфигурации Apache httpd-vhosts.conf, который обычно находится по пути /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf, и добавьте следующее:

<VirtualHost *:80>
    DocumentRoot "/path/to/wordpress"
    ServerName domain.dev
    ServerAlias www.domain.dev
    <Directory "/path/to/wordpress">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/path/to/wordpress"
    ServerName sub1.domain.dev
    <Directory "/path/to/wordpress">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/path/to/wordpress"
    ServerName sub2.domain.dev
    <Directory "/path/to/wordpress">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Не забудьте перезапустить MAMP для применения изменений.

Этап 4: Установка WordPress

  1. Скачайте WordPress и разархивируйте его в указанную директорию /path/to/wordpress.

  2. Запустите установку WordPress через браузер, перейдя по адресу http://domain.dev и следуйте инструкциям.

  3. Включение мультисайта: После завершения установки добавьте следующий код в файл wp-config.php, чтобы активировать режим мультисайта:

define('WP_ALLOW_MULTISITE', true);
  1. Перейдите в админку WordPress и в разделе "Инструменты" выберите "Настройка сети". Выберите поддомены и следуйте инструкциям для завершения настройки.

Этап 5: Настройка Xip.io

Для интеграции с Xip.io, добавьте в файл wp-config.php необходимые строки. Ниже приведены параметры, которые помогут отобразить ваш сайт при помощи Xip.io:

define('DOMAIN_CURRENT_SITE', 'domain.dev');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

После этого вам нужно будет использовать Xip.io для доступа к поддоменам. Например, вместо sub1.domain.dev используйте sub1.127.0.0.1.xip.io.

Команда поиска и замены: Если вам необходимо заменить все вхождения вашего основного домена в базе данных, вы можете использовать WP-CLI для выполнения команды:

wp search-replace 'domain.dev' 'sub1.127.0.0.1.xip.io' --all-tables

Заключение

Следуя данным шагам, вы сможете успешно настроить и просматривать WordPress Multisite с использованием MAMP и Xip.io на локальной сети. Данное решение не только обеспечивает большую гибкость, но и избавляет от необходимости постоянно изменять файл hosts при добавлении новых поддоменов. Подобная настройка значительно упрощает процесс разработки и тестирования веб-приложений.

Оцените материал
Добавить комментарий

Капча загружается...