Разработка WordPress сайтов часто начинается локально, на вашем компьютере. Это удобно для экспериментов, отладки и создания контента без прямого влияния на рабочий сайт. Однако, иногда возникает необходимость показать прогресс заказчику, протестировать сайт на разных устройствах или просто продолжить работу из другого места в доме. Доступ к локальному сайту WordPress с другого компьютера решает эти задачи.
Преимущества доступа к локальному сайту с разных устройств
- Демонстрация прогресса: Легко показывать текущую версию сайта заказчикам или коллегам, даже если они находятся в другом месте.
- Тестирование на разных устройствах: Проверка адаптивности сайта на различных разрешениях экрана и операционных системах.
- Удобство работы: Возможность продолжить разработку с любого компьютера в вашей сети.
- Совместная работа: Упрощение процесса совместной разработки, когда несколько разработчиков работают над одним проектом.
Краткий обзор основных методов
Существует несколько способов получить доступ к локальному сайту WordPress с другого компьютера. В этой статье мы рассмотрим три основных подхода:
- Использование IP-адреса: Простейший способ, подходящий для локальной сети.
- Использование ngrok: Создание общедоступного туннеля для доступа из любой точки мира.
- Настройка виртуального хоста: Более сложный метод, требующий настройки Apache.
Способ 1: Использование IP-адреса и настройки файла wp-config.php
Этот способ подходит, если оба компьютера находятся в одной локальной сети. Он наиболее простой, но требует небольшой настройки.
Определение IP-адреса вашего компьютера
Узнать IP-адрес вашего компьютера можно разными способами, в зависимости от вашей операционной системы.
- Windows: Откройте командную строку (cmd) и введите
ipconfig. Найдите строку «IPv4-адрес». - macOS/Linux: Откройте терминал и введите
ifconfig(macOS/Linux) илиip addr(Linux). Найдите строку «inet».
Запишите этот IP-адрес, он понадобится нам позже. Например, 192.168.1.100.
Редактирование файла wp-config.php для разрешения доступа по IP
Файл wp-config.php находится в корневой директории вашего WordPress сайта. Откройте его в текстовом редакторе и добавьте следующие строки:
<?php
// ... другие настройки
define( 'WP_HOME', 'http://192.168.1.100/your-site' );
define( 'WP_SITEURL', 'http://192.168.1.100/your-site' );
// ... другие настройки
?>
Замените 192.168.1.100 на IP-адрес вашего компьютера и your-site на имя директории вашего сайта (если WordPress установлен не в корневой директории). Важно: Если у вас настроен виртуальный хост для локального сайта (например, mysite.local), то этот шаг может не понадобиться.
Обновление базы данных WordPress с новым URL
После изменения wp-config.php, необходимо обновить URL в базе данных WordPress. Самый простой способ – использовать плагин, например, «Better Search Replace».
- Установите и активируйте плагин «Better Search Replace».
- Перейдите в «Инструменты» -> «Better Search Replace».
- В поле «Search for» введите старый URL вашего локального сайта (например,
http://localhost/your-site). - В поле «Replace with» введите новый URL с использованием IP-адреса (например,
http://192.168.1.100/your-site). - Выберите все таблицы базы данных.
- Снимите галочку с «Run as dry run?» (чтобы выполнить замену).
- Нажмите «Run Search/Replace».
Решение проблем с доступом через IP-адрес
- Брандмауэр: Убедитесь, что ваш брандмауэр не блокирует доступ к портам 80 (HTTP) и 443 (HTTPS). Временно отключите брандмауэр для проверки.
- Локальная сеть: Убедитесь, что оба компьютера находятся в одной локальной сети и могут «видеть» друг друга.
- Кэш браузера: Очистите кэш браузера на компьютере, с которого пытаетесь получить доступ.
- Неправильный IP-адрес: Убедитесь, что вы используете правильный IP-адрес компьютера, на котором установлен WordPress.
Способ 2: Использование ngrok для создания общедоступного туннеля
Ngrok – это инструмент, который позволяет создать безопасный туннель между вашим локальным компьютером и публичным URL. Это позволяет получить доступ к вашему локальному сайту WordPress из любой точки мира.
Что такое ngrok и как он работает?
Ngrok создает защищенный туннель, перенаправляя трафик с публичного URL (например, https://your-random-string.ngrok.io) на ваш локальный веб-сервер (например, http://localhost:80). Это позволяет обходить ограничения брандмауэров и NAT.
Установка и настройка ngrok
-
Зарегистрируйтесь на сайте ngrok (бесплатный тариф вполне подходит для тестирования).
-
Скачайте ngrok для вашей операционной системы.
-
Распакуйте архив в любую директорию.
-
Авторизуйте ngrok с помощью вашего authtoken (его можно найти на сайте ngrok). Откройте командную строку/терминал и введите:
Рекламаngrok authtoken YOUR_AUTHTOKENЗамените
YOUR_AUTHTOKENна ваш authtoken.
Запуск ngrok для вашего локального WordPress сайта
Откройте командную строку/терминал и перейдите в директорию, где находится исполняемый файл ngrok. Запустите ngrok, указав порт, на котором работает ваш локальный веб-сервер (обычно это 80 или 8080):
ngrok http 80
Ngrok отобразит в консоли публичный URL, который вы можете использовать для доступа к вашему локальному сайту. Например, https://your-random-string.ngrok.io. Теперь необходимо обновить URL в базе данных WordPress, как описано в Способе 1.
Особенности использования ngrok (безопасность, ограничения)
- Безопасность: Ngrok создает защищенный туннель с использованием HTTPS, но важно помнить, что ваш локальный сайт по-прежнему может быть уязвим. Не используйте ngrok для доступа к сайтам с конфиденциальной информацией без дополнительных мер безопасности.
- Ограничения бесплатного тарифа: Бесплатный тариф ngrok имеет ограничения по времени работы и количеству запросов. URL генерируется случайным образом при каждом запуске.
- Стабильность: Ngrok зависит от вашего интернет-соединения. Если ваше соединение нестабильно, доступ к сайту может быть прерван.
Способ 3: Настройка виртуального хоста в Apache (для продвинутых пользователей)
Этот способ требует больше знаний и опыта в настройке веб-сервера Apache. Он позволяет создать более удобный и предсказуемый URL для доступа к вашему локальному сайту.
Создание виртуального хоста для локального сайта
-
Редактирование файла
httpd-vhosts.conf: Найдите файлhttpd-vhosts.conf(обычно он находится в директории Apache conf/extra/). Раскомментируйте строку#Include conf/extra/httpd-vhosts.conf, если она закомментирована. -
Добавление конфигурации виртуального хоста: Добавьте следующую конфигурацию в конец файла
httpd-vhosts.conf:<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot "/path/to/your/wordpress/site" ServerName mysite.local ErrorLog "logs/mysite.local-error.log" CustomLog "logs/mysite.local-access.log" common<Directory "/path/to/your/wordpress/site"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory></VirtualHost>
Замените
/path/to/your/wordpress/siteна реальный путь к вашей директории WordPress, аmysite.localна желаемое имя виртуального хоста. -
Перезапуск Apache: Перезапустите веб-сервер Apache, чтобы изменения вступили в силу.
Настройка файла hosts на другом компьютере
На компьютере, с которого вы хотите получить доступ к локальному сайту, необходимо добавить запись в файл hosts, чтобы указать, что mysite.local соответствует IP-адресу вашего компьютера.
-
Windows: Откройте файл
C:\Windows\System32\drivers\etc\hostsв текстовом редакторе с правами администратора и добавьте строку:192.168.1.100 mysite.localЗамените
192.168.1.100на IP-адрес вашего компьютера. -
macOS/Linux: Откройте файл
/etc/hostsв текстовом редакторе с правами администратора и добавьте аналогичную строку.
Теперь вы можете открыть сайт http://mysite.local в браузере на другом компьютере.
Решение проблем с доступом через виртуальный хост
- Синтаксические ошибки в конфигурации Apache: Проверьте конфигурацию Apache на наличие ошибок. Apache обычно сообщает об ошибках при запуске.
- Права доступа к директории: Убедитесь, что у веб-сервера есть права на чтение файлов в директории вашего WordPress сайта.
- Брандмауэр: Убедитесь, что брандмауэр не блокирует доступ к портам 80 (HTTP) и 443 (HTTPS).
- Неправильная запись в файле hosts: Убедитесь, что запись в файле
hostsправильная и соответствует IP-адресу вашего компьютера и имени виртуального хоста.
Безопасность и важные замечания
Риски открытия локального сайта для общего доступа
Открытие локального сайта для общего доступа несет определенные риски. Ваш сайт может быть уязвим для атак, если на нем нет надлежащих мер безопасности. Важно помнить, что локальные сайты часто не настроены на безопасность, так как предполагается, что они доступны только локально.
Рекомендации по обеспечению безопасности (HTTPS, брандмауэр)
- HTTPS: Используйте HTTPS, даже для локального сайта. Это можно сделать с помощью Let’s Encrypt и certbot, настроив их для работы с вашим локальным доменом.
- Брандмауэр: Настройте брандмауэр, чтобы ограничить доступ к вашему локальному сайту только с определенных IP-адресов.
- Сложные пароли: Используйте сложные пароли для учетных записей администратора WordPress и базы данных.
- Обновления: Регулярно обновляйте WordPress, плагины и темы до последних версий.
- Плагины безопасности: Установите плагины безопасности, такие как Wordfence или Sucuri, чтобы защитить ваш сайт от атак.
Когда следует прекратить предоставление общего доступа
После завершения демонстрации, тестирования или совместной работы, следует немедленно прекратить предоставление общего доступа к вашему локальному сайту. Удалите записи из файла hosts, отключите ngrok или удалите конфигурацию виртуального хоста в Apache. Это поможет предотвратить несанкционированный доступ к вашему сайту.