Как развернуть WordPress в облаке. Инструкция для новичков
Рассказываем по шагам, как запустить сайт на виртуальной машине с образом Linux и стеком LAMP.
Привет, мы Cloud.ru, провайдер облачных сервисов и AI-технологий. Собрали простую инструкцию по запуску сайта на виртуальной машине (ВМ) на платформе Cloud.ru Evolution для тех, кто только начинает работать с облаком. Пройдя все шаги, получится понять принцип и простоту работы с облачными сервисами.
Сохраняйте инструкцию в закладках или файлом на рабочий стол. Кнопка «Скачать» в конце статьи 👇
Нересурсоемкий сайт можно развернуть на виртуальной машине с free tier, то есть объемом vCPU и RAM, за которые не надо платить — получится бюджетный вариант. Одно «но»: число ядер и объем памяти нельзя будет изменить. Если интересен такой вариант, в видео рассказываем, как подключить и настроить ВМ с free tier.
У сайта в облаке есть преимущества, его легко масштабировать и интегрировать с облачными сервисами: хранилищем, базой данных, сервисом мониторинга и логирования. В каких случаях лучше размещать сайт на виртуальной машине и чем такой вариант отличается от веб-хостинга, разбираем в статье «Веб-хостинг и хостинг в облаке — это одно и то же?».
Порядок шагов:
Зарегистрируйтесь в личном кабинете облака
- Перейдите на страницу регистрации и выберите удобный способ: по email или Сбер ID.
- Подтвердите ваш email или введите код, если выбрали Сбер ID, и заполните анкету.
Если привяжете карту, вам на баланс начислятся 4 000 бонусов — их можно потратить на любые облачные сервисы Cloud.ru. 1 бонус = 1 рубль. Неиспользованные бонусы сгорят через 60 дней с момента начисления.
Создайте виртуальную машину
- В личном кабинете в левом верхнем углу нажмите на иконку из 9 точек, введите в поисковой строке «Виртуальные машины», перейдите на страницу сервиса и нажмите «Создать виртуальную машину».
- Укажите название.
Лучше, если название виртуальной машины будет начинаться с «vm-» — это поможет понять тип ресурса в общем списке ресурсов.
- Заполните описание.
Делать описание виртуальной машины не обязательно, но задокументированная система поможет в будущем эксплуатировать инфраструктуру.
Выберите зону доступности.
Выберите образ: в разделе «Образ» перейдите на вкладку «Маркетплейс» и выберите образ LAMP.
Для размещения WordPress на виртуальной машине лучше выбрать образ Linux со стеком LAMP (Linux, Apache, MySQL, PHP). В нем будет операционная система на базе Linux, дистрибутивы веб-сервера Apache, сервер баз данных MySQL и интерпретатор PHP. Образ со стеком LAMP ощутимо упрощает установку WordPress, потому что в нем есть все необходимые пакеты.
- Настройте вычислительные ресурсы: количество и гарантированную долю vCPU, объем оперативной памяти (RAM).
Для не ресурсоемкого сайта будет достаточно гарантированной доли vCPU 30%, 2 vCPU и 4 ГБ оперативной памяти. При необходимости можно будет позже изменить количество ресурсов виртуальной машины.
Установите требуемый объем памяти загрузочного диска.
При необходимости объем памяти загрузочного диска можно будет увеличить, но не уменьшить.
Нажмите «Продолжить» и перейдите к сетевым настройкам виртуальной машины.
Подключите виртуальную машину к подсети: выберите целевые VPC и подсеть и одну или несколько групп безопасности.
Если планируете подключить к виртуальной машине, например, отдельно стоящую базу данных или PaaS-сервис, ее нужно подключить к подсети. Или оставить настройки по умолчанию и не подключать к подсети, если нужен только доступ виртуальной машины к интернету.
По умолчанию группа безопасности стоит SSH-access_ru.AZ-[номер зоны доступности] — это позволит подключаться к ВМ по протоколу SSH на TCP-порт 22. Если нужно открыть еще какие-то порты, можно добавить еще группы безопасности или сделать это позднее.
- Оставьте активной опцию «Назначить публичный IP», чтобы у виртуальной машины был доступ в интернет.
- Выберите тип публичного IP-адреса: прямой или плавающий.
Когда подключаем прямой IP-адрес, облачная платформа создает для ВМ отдельный сетевой интерфейс. В этом случае вам придется самостоятельно настроить маршрутизацию. А когда подключаем плавающий IP-адрес, облачная платформа назначает публичный IP-адрес с помощью NAT 1:1 — маршруты настраивать не надо.
- Настройте дополнительные параметры и авторизацию пользователя: укажите имя хоста и пользователя, выберите один или оба метода аутентификации.
Аутентификация через публичный ключ — самый безопасный способ подключения к виртуальной машине. Как загрузить открытую часть SSH-ключа в облако, рассказываем в видео.
Аутентификацию по паролю стоит добавить как страховочный вариант на случай, если надо будет подключиться к виртуальной машине через виртуальную или серийную консоль или если потеряется открытая часть SSH-ключа.
- Нажмите «Создать».
На главном экране сервиса «Виртуальные машины» в списке должна появиться новая ВМ, примерно через минуту ее статус должен измениться на «Запущена».
Подключитесь к виртуальной машине
В личном кабинете в левом верхнем углу нажмите на иконку из 9 точек, введите в поисковой строке «Группы безопасности», перейдите на страницу сервиса и выберите группу безопасности, которая назначена на ВМ.
Перейдите на вкладку «Правила» в левом боковом меню и отредактируйте входящее правило для TCP-порта 22: в поле «Источник» укажите свой IP-адрес или подсеть.
Ваш IP скорей всего не белый и может меняться. Лучше при каждом подключении менять входящие правила группы безопасности, чем указать там IP адрес 0.0.0.0/0 и разрешить SSH-подключение к ВМ всему интернету.
Чтобы проверить, что правило для подключения по SSH с IP-адреса создано и работает, подключитесь к ВМ, используя приватный SSH-ключ.
- Подключитесь к ВМ с помощью SSH-клиента.
Создайте базу данных для WordPress
- Подключитесь к локальному серверу баз данных виртуальной машины с помощью клиента mysql: введите команду
Кликните Enter в поле ввода пароля.
Создайте базу данных: укажите имя базы и пользователя, пароль доступа.
- Выдайте пользователю права на любые действия в базе данных.
- Сохраните изменения и отключитесь от сервера баз данных.
Настройте WordPress
- Скачайте последнюю версию WordPress в корневой каталог веб-сервера Apache /var/www/html и распакуйте архив.
Все эти действия выполняются в корневом каталоге.
Это базовый вариант установки WordPress. Есть более длинный путь, когда мы создаем директорию для файлов WordPress в корневом каталоге, в рамках этого гайда такой вариант не рассматриваем.
- Используйте команду mv, чтобы переместить распакованные файлы в директорию var/www/html.
Укажите первым параметром все файлы из распакованной папки wordpress: wordpress/*. Вторым параметром укажите, что файлы надо переместить в текущую папку var/www/html: .
- Удалите пустую папку WordPress и скачанный архив.
Проверьте, что в папке var/www/html содержатся файлы сайта.
Среди скачанных файлов WordPress есть файл wp-config-sample.php с примером конфигурации. Переименуйте его в wp-config.php.
- Отредактируйте конфигурацию: заполните поля в соответствие с параметрами, которые вы создали для базы данных.
- Сохраните файл перед выходом.
Настройте веб-сервер Apache
- Сделайте пользователя веб-сервера по умолчанию www-data владельцем корневого каталога var/www/html и всех его файлов.
- Выдайте пользователю права внутри корневого каталога.
Настройте доступ к директориям корневого каталога. Командой find найдите все директории в корневом каталоги и примените к ним команду chmod. В параметрах команды chmod укажите уровень доступа для пользователя, группы и всех остальных. Пользователю выдайте полный доступ к директориям (доступ 7), группе — права на чтение и выполнение (доступ 5), у остальных никаких прав быть не должно (доступ 0).
Аналогично настройте доступ к файлам в корневом каталоге. Пользователю выдайте права на чтение и запись (доступ 6), группе — только на чтение (доступ 4), у остальных никаких прав быть не должно (доступ 0).
В общем случае все папки должны быть исполняемыми, чтобы был доступ к файлам в них: полный доступ: 7 - RWX, доступ на чтение и выполнение: 5 – R-X. При этом файлы не должны быть исполняемыми: доступ к ним может быть либо на чтение и запись (6 – RW-), либо только на чтение (4 – R--). В частных случаях права могут отличаться.
- Создайте новый конфигурационный файл Apache и назовите его wordpress.com.
- Вставьте в конфигурационный файл конфигурацию.
Конфигурация будет применяться ко всем http-запросам, отправленным на TCP-порт 80 хоста.
Почту, которую вы укажете, Apache будет отображать во время ошибок.
DocumentRoot var/www/html – это корневой каталог.
В ServerName укажите доменное имя сайта или публичный адрес хоста.
Остальная часть файла описывает настройки для корневого каталога и путь для сохранения логов.
- Активируйте конфигурационный файл.
- Перезапустите службу Apache, чтобы настройки применились.
Настройте группу безопасности для доступа по http и назначьте ее на виртуальную машину
- В личном кабинете в левом верхнем углу нажмите на иконку из 9 точек, введите в поисковой строке «Группы безопасности», перейдите на страницу сервиса и нажмите «Создать группу безопасности».
- Введите название группы безопасности sg-http-access.
- Нажмите «Добавить правило» в разделе «Правила входящего трафика».
- Выберите протокол TCP.
- Укажите порт 80.
- В поле «Источник» укажите IP-адрес 0.0.0.0/0.
- Дважды нажмите «Создать».
В личном кабинете в левом верхнем углу нажмите на иконку из 9 точек, введите в поисковой строке «Виртуальные машины», перейдите на страницу сервиса и в списке кликните на имя созданной виртуальной машины.
Перейдите в раздел «Сетевые параметры».
В разделе «Подсети» кликните на три серые точки напротив сетевого интерфейса и выберите из выпадающего списка «Изменить группы безопасности».
В выпадающем меню группы безопасности выберите группу sg-http-access.
Нажмите «Сохранить».
Закончите установку WordPress через веб-интерфейс
- Зайдите на новый сайт.
- В строке браузера введите http://<IP-адрес или доменное имя хоста>/index.php.
- В открывшемся интерфейсе выберите английский язык, назовите сайт и задайте логин и пароль администратора сайта.
- Запустите установку WordPress. Этот процесс может занять длительное время.
- Когда WordPress установится, кликните на кнопку login и введите логин и пароль из шага 3.
Мы рассмотрели простой сценарий, как можно развернуть WordPress на виртуальной машине в облаке Cloud.ru Evolution. В инструкции мы не затрагивали, например, вопросы информационной безопасности, создание SSL-сертификатов, установку WAF и защиты от DDoS. И не раскрывали тему отказоустойчивости: как создать несколько серверов и балансировать нагрузку между ними. Но для старта достаточно тех шагов, о которых мы рассказали.
Выбирайте темы и пишите в комментариях, если готовы погрузиться глубже. А мы ответим или запишем еще одну инструкцию.