Локальный сервер для WordPress за 5 минут с VVV, VirtualBox и Vagrant
Создание рабочего пространства для PHP-разработчика — долгая и кропотливая работа. Как правило, это сотни «избитых» действий касающихся настройки веб-сервера, баз данных, PHP и его компонентов, кэширования, почтовых серверов… — список можно считать нескончаемым и двумя-тремя приложениями точно не обойтись.
Благодаря нескольким дополнительным инструментам можно быстро и просто управлять этим потоком действий, собирая локальный сервер (окружение) для разработки и тестирования за пару минут. Это будет полезно для всех тех, кто сталкивается с WordPress на любом уровне сложности.
Эта статья стала идеей для выступления на WordCamp Moscow 2016. Вы можете посмотреть видеозапись выступления или презентацию.
Содержание
Железо
Основной потребляемый ресурс виртуального хостинга — объем жесткого диска. Небольшие сайты-визитки могут иметь размер менее 100 Мб. Но Интернет-магазины или фото- видео-порталы требуют больших ресурсов. В зависимости от целей, необходимо выделить от 50 Гб до 4 Тб. Больше или меньше для наших целей нецелесообразно.
Мощный процессор нужен только для порталов, которые запускают большое количество скриптов. Для большинства хостингов можно остановить выбор на недорогом процессоре.
Оперативной памяти также требуется небольшое количество — веб-сервер для 50 — 100 простых сайтов прекрасно себя будет чувствовать на 8 Гб.
Платформа
Прекрасно подойдут следующие варианты — обычный домашний компьютер, выделенный физический сервер, виртуальная машина, арендованный сервер.
Установка MySQL
- Приступаем к установке. Нажмите в данном окне выборочную установку компонентов «Custom».
- Здесь вы можете выбрать дополнительные компоненты и сменить установочную директорию программы.
- Теперь приступим к настройке MySQL сервера.
- Выбираем детализированную настройку — «Detailed Configuration».
- Отмечаем пункт «Developer Machine».
- Выбрав пункт «Multifunctional Database», вы сможете работать как с таблицами типа InnoDB (с возможностью использования транзакций), так и с высокоскоростной MyISAM (как правило для веб-разработок используется именно этот тип таблиц).
- Выбор диска и директории для хранения таблиц типа InnoDB.
- В данном диалоговом окне выбирается максимально возможное количество подключений к серверу MySQL. При выборе «Decision Support (DSS)/OLAP», максимальное количество подключений будет ограничено двадцатью, чего более чем достаточно при установке сервера на домашнем компьютере и отсутствии большого количества одновременных подключений.
- Отметив «Enable TCP/IP Networking» мы включаем поддержку TCP/IP соединений и выбираем порт, через который они будут осуществляться. Стандартным для сервера MySQL является порт 3306. Отметив «Enable Strict Mode», мы задаем режим строгого соответствия стандарту SQL (данную опцию рекомендуется оставлять включенной).
- Обратите внимание на выставление настроек данного окна. Отметив «Manual Selected Default Character Set / Collation» и выбрав из ниспадающего меню «cp1251» определяем, что изначально для таблиц будет использоваться кодировка Cyrillic Windows (cp1251), что означает корректную работу с русским языком в данной кодировке.
- Если отметить «Install As Windows Service», сервер будет запускаться в виде сервиса, что является рекомендуемым способом запуска. Ниже, в ниспадающем списке, задается имя сервиса. Далее, уберите галочку рядом с «Launch the MySQL Server automatically» — мы будем запускать сервер вручную. Также поставьте галочку рядом с «Include Bin Directory in Windows PATH» — это позволит установить видимость директории «bin», для командной строки.
- Установите пароль пользователя «root». Советую сделать это. Поставьте хотя бы какой-нибудь простенький пароль, только не оставляйте поле пустым, это убережёт вас от возможных неприятностей в дальнейшем.
- В данном окне обратите внимание на строку «Write configuration file», которая указывает на месторасположение конфигурационного файла MySQL — «my.ini», далее, его необходимо будет немного отредактировать.
- Откройте для редактирования файл «my.ini».
- В раздел [client], после строки:
port=3306
Добавьте строку определяющую каталог содержащий файлы описания кодировок:
character-sets-dir=»C:/Program Files/MySQL/MySQL Server 5.5/share/charsets» - В раздел [mysqld], после строки:
port=3306
Добавьте следующие две строки, первая из которых вам уже известна, вторая – устанавливает кодировку в которой данные передаются MySQL:
character-sets-dir=»C:/Program Files/MySQL/MySQL Server 5.5/share/charsets»
init-connect=»SET NAMES cp1251″ - Далее, найдите строку:
default-storage-engine=INNODB
Замените изначально устанавливаемый тип таблиц на MYISAM:
default-storage-engine=MYISAM
Необходимая подготовка
Для тех, кому хочется создать полноценную виртуальную машину, на домашнем компьютере есть возможность лишь однажды всё настроить и затем уже свободно пользоваться этим. Прежде чем начинать следовать алгоритму, нужно произвести некоторую подготовку. Речь идёт о том, чтобы подготовить образ операционной системы, которая будет инсталлироваться на виртуальную машину. Кроме того, необходимо установить специализированную программу, которая именуется VirtualBox. Вместе с программой потребуется скачать для неё Extension Pack, а сам процесс установки этого софта является вполне стандартным и не вызывает затруднений.
После того, как этап подготовки был выполнен можно приступать к тому, чтобы создать свой VPS сервер дома на компьютере с нуля. Предлагается пошаговый алгоритм действий, следуя которому можно выполнить искомую задачу.
Создание виртуальной машины и установка ОС
Итак, чтобы решить вопрос как создать VPS сервер на своём компьютере нужно выполнить следующие шаги:
- Программа для создания VPS VirtualBox уже должна быть установлена на вашем компьютере и её следует запустить.
- Теперь нажимайте на кнопку «Создать», что откроет окно именуемое «Создать виртуальную машину», где следует указать имя создаваемой виртуальной машины и выделить необходимый размер оперативной памяти. После этого кликайте по кнопке «Создать» расположенной внизу окна и затем ещё раз по кнопке в новом окне.
- В основном рабочем экране программы в списке теперь появится только что созданный объект. Выделите его из общего перечня и нажмите на кнопку «Запустить» расположенную в верхнем меню.
- Программа попросит вас указать месторасположение установочного образа ОС, задайте ей путь и жмите на кнопку «Продолжить».
После этого выбранная вами операционная система будет загружена, также на этом этапе рекомендуется указать имя и пароль для доступа к системе.
Настройка сетевого адаптера
Дальнейшим этапом решения вопроса о том, как сделать VPS на своём компьютере является настройка сетевого адаптера:
- Из списка , представленного в программе нужно снова выбрать свою виртуальную машину, кликнуть по ней правой кнопкой мыши и выбрать пункт «Настроить».
- После этого откроется окно с настройками, содержащее определённый перечень вкладок. Вам необходима та, что называется «Сеть». Здесь должна быть установлена галочка напротив пункта «Включить сетевой адаптер». В графе «тип подключения» должно быть выставлено «виртуальный адаптер хоста», а в графе «Имя» задано «VirtualBox Host-Only Ethernet Adapter #2».
- Теперь непосредственно на самом компьютере, где сейчас производятся все эти манипуляции, следует через панель управления зайти в параметры сетевых подключений.
- Выбрав из представленных вариантов своё подключение к интернету его необходимо выделить и при помощи ПКМ вызвать контекстное меню и перейти в раздел «Свойства».
- В открывшемся окне следует выбрать вкладку «Доступ» и установить обе галочки, а в поле «Подключение по домашней сети» написать следующее — VirtualBox Host-Only Ethernet Adapter #2.
- Теперь из списка подключений выбирайте адаптер виртуальной машины VirtualBox Host-Only Ethernet Adapter #2, открывайте окно со свойствами и его первую вкладку «Сеть». Здесь в списке найдите строку, именуемую IP версии 4 (TCP/IPv4), выделите её и нажмите на кнопку «Свойства», что расположена под списком.
- Убедитесь в том, что здесь указаны правильные IP адреса.
- Сейчас переходите в раздел «Центр управления сетями и общим доступом», жмите на кнопку «Подключение по локальной сети» и в открывшемся окне нажмите на «Свойства».
- В загрузившемся окне из списка выбираем пункт «Протокол Интернета версии 4 (TCP/IPv4) и также жмём на кнопку «Свойства». Убеждаемся в том, что указанные IP адреса совпадают.
- Теперь на виртуальной машине следуем по такому пути: Панель управления->Система и безопасность->Система->Настройка удаленного доступа. Здесь нужно установить две галочки, а именно «Разрешить подключения удаленного помощника к этому компьютеру» и «Разрешать подключения от компьютеров с любой версией удаленного рабочего стола».
После этого решение вопроса, как создать VDS сервер на своём компьютере будет решён. При желании можно создать несколько дополнительных машин. А подключаться к ним можно любым удобным способом, например, используя Remote Desktop Protocol.
Windows: Как разместить сайт, используя ваш компьютер в качестве сервера WAMP
Во-первых, давайте попробуем разместить у себя веб-сайт на своем персональном компьютере с операционной системой Windows.
Шаг 1: Установите программное обеспечение WAMP
Чтобы сделать это очень просто, мы будем использовать программу установки WAMP (из которых их несколько) под названием WampServer. Вы также можете установить каждый пакет вручную, но этот процесс требует гораздо больше работы и подвержен ошибкам.
Пакет WampServer поставляется с последними выпусками Apache, MySQL и PHP.
WampServer screenshotWampServer — одна из нескольких сред, доступных для создания приложений Apache, MySQL и PHP в Windows.
Сначала загрузите 32-битный или 64-битный WAMP-бинарный код здесь и начните установку. Просто следуйте инструкциям на экране, и когда это будет сделано, запустите WampServer.
Примечание. Может быть конфликт порта 80 с вашим программным обеспечением Skype, но есть решение для этого.
Шаг 2: Использование WampServer
После установки каталог www будет создан автоматически. Скорее всего, вы найдете его здесь: c: wamp www
Из этого каталога вы можете создавать подкаталоги (называемые «проектами» в WampServer) и помещать любые файлы HTML или PHP в эти подкаталоги.
Главный экран WampServer Главный экран вашего локального хоста в WampServer должен выглядеть примерно так.
Если вы нажмете на ссылку localhost в меню WampSever или откроете свой интернет-браузер с URL-адресом http: // localhost, вам должен отобразиться главный экран WampServer.Шаг 3: Создание HTML-страницы
Чтобы протестировать наш WampServer, мы можем поместить файл примера с именем «info.php» в наш www-каталог.
Перейдите непосредственно в этот каталог, нажав «www каталог» в меню WampServer.
Оттуда создайте новый файл с содержимым ниже и сохраните его.
Теперь вы можете перейти по адресу http: //localhost/info.php, чтобы увидеть детали вашей установки PHP. Вы можете создать любую структуру файлов HTML и PHP в соответствии с вашими потребностями.
Шаг 4: Настройте MySQL
Если вы нажмете на пункт меню phpMyAdmin, вы можете начать настройку баз данных MySQL (которые могут понадобиться для CMS, такой как WordPress).
Экран входа в систему phpMyAdmin откроется в новом окне браузера. По умолчанию имя пользователя admin будет root, и вы можете оставить поле пароля пустым.
Оттуда вы можете создавать новые базы данных MySQL и изменять существующие. Однако большинство программ, таких как WordPress, автоматически создадут для вас новую базу данных.
Шаг 5: Сделайте сайт общедоступным
По умолчанию файл конфигурации Apache запрещает любые входящие HTTP-соединения, кроме случаев, когда кто-то приходит с локального хоста.
Чтобы сделать ваш сайт общедоступным, вам нужно изменить файл конфигурации Apache (httpd.conf). Вы можете найти и отредактировать этот файл, перейдя в меню WampServer, нажав «Apache» и выбрав «httpd.conf».
Замените две строки выше на следующие:
Перезапустите все сервисы WampServer, нажав «Перезапустить все сервисы» в меню.
Теперь сайт должен быть доступен за пределами вашего локального хоста. Убедитесь, что брандмауэр ПК не блокирует веб-запросы. Возможно, вам также потребуется настроить переадресацию портов на вашем интернет-маршрутизаторе.
Шаг 6: Использование доменного имени
Чтобы использовать доменное имя, например example.com, с вашей установкой WAMP, нам нужно сначала настроить некоторые файлы. Предположим, что у нашего домена example.com есть запись A в вашем DNS с IP-адресом 100.100.100.100.
Сначала нам нужно добавить следующую строку в файл C: Windows system32 drivers etc hosts:
Теперь нам нужно снова отредактировать httpd.conf (доступный через меню WampServer), чтобы добавить виртуальный хост. После открытия этого файла найдите «Виртуальные хосты» и раскомментируйте строку после него, например:
# Virtual hosts
Include conf/extra/httpd-vhosts.confТеперь нам нужно добавить файл вручную в «C: wamp bin apache Apache-VERSION conf extra » (VERSION — это ваша версия Apache).
Затем создайте файл в блокноте со следующим содержимым и сохраните его в этом каталоге Apache.
ServerAdmin mail@example.com
DocumentRoot «c:wampwww»
ServerName mysite.local
ErrorLog «logs/example.com.log»
CustomLog «logs/example.com-access.log» commonНажмите «Перезапустить все сервисы» в меню WampServer, чтобы активировать эти изменения.
Теперь ваш сайт также должен быть доступен через его доменное имя.
Кстати, есть еще вариант арендовать хостинг или VPS сервер. К примеру, VPS Гонконг https://bluevps.ru/ можно заказать за довольно отличными тарифами.
Создание сервера. Пошаговая инструкция
Перейдите в панель управления, раздел Серверы, и нажмите кнопку «Создать сервер».
В открывшемся окне происходит создание сервера:
Далее рассмотрим каждую вкладку окна.
Вкладка «Имя и тип ядер»
NOVA — с гарантированной производительностью 100%.
STANDARD — c производительностью не менее 30%.
Подробней о типах ядер Nova и Standart.Будьте внимательны, выбирая тип ядер NOVA или STANDART. Чтобы изменить их после создания виртуального сервера, понадобится обращение в техподдержку и остановка сервера.
Вкладка «Источник»
В этой вкладке выберите основу для сервера и задайте размер диска для будущего сервера.
В выпадающем списке «Выберите базовый объект для создания сервера» предлагаются варианты:
Самый простой вариант — создать сервер на основе готового образа.
Далее рассмотрим каждый способ отдельно:
Образ
Рекомендуем этот способ, если хотите создать новый сервер «с нуля».
Укажите желаемый размер для диска.
Выберите образ из таблицы «Доступно» и нажмите кнопку с изображением стрелки напротив выбранного образа.Образ перемещен в таблицу «Выбрано» и будет использован для создания сервера.
Вы можете использовать не только готовые образы, но и загружать свои. Для этого используйте инструкцию как загрузить образ. Загруженными вами образы станут доступны при создании виртуального сервера.
Если вы делаете сервер на основе образа, на нем по умолчанию будет использован SSD-диск. В графе «Volume Size (GB)» можно настроить его размер.
Чтобы создать сервер на HDD-диске, используйте инструкцию.
По умолчанию список доступных дисков будет пуст:
Если вы заранее создали диск, на его основе можно развернуть сервер. Это чаще всего используется:
- Для восстановления ранее удаленного виртуального сервера, если диск от был сохранен. В этом случае диск можно выбрать в таблице «доступно»
- Для создания сервера с HDD-диском. По умолчанию серверы создаются на SSD-диске.
Воспользуйтесь инструкцией, чтобы создать HDD-диск для виртуальной машины. - Также диск используется в некоторых специфических случаях, таких как восстановление root-доступа на серверы Linux.
Выберите диск из таблицы «Доступно» и нажмите кнопку с изображением стрелки напротив выбранного диска.
Диск перемещен в таблицу «выбрано» и будет использован для создания сервера.
Снимок диска
Если вы предварительно создавали снимки дисков, они будут в списке «Доступные».
Выберите снимок из таблицы «Доступно» и нажмите кнопку с изображением стрелки напротив выбранного снимка.
Снимок перемещен в таблицу «выбрано» и будет использован для создания сервера.
Как можно использовать снимки дисков:
Например, вы создали снимок, а после внесли на сервер изменения. Затем вам понадобился еще один сервер в состоянии до внесенных изменений. На основе имеющегося снимка можно создать виртуальную машину.
Вкладка «Тип инстанса»
Во вкладке Тип инстанса вам требуется выбрать количество оперативной памяти и ядер процессора для сервера.
Например шаблон «Node 1.11» в таблице «Доступно» включает в себя 1 виртуальное ядро и 1 гб оперативной памяти:
Выберите нужную конфигурацию из таблицы «Доступно» и нажмите кнопку с изображением стрелки напротив выбранной конфигурации.
Конфигурация выбрана, на её основе будет создан сервер.
Если вы не нашли в списке подходящий шаблон, обратитесь в техподдержку – мы добавим кастомную конфигурацию.
Вкладка «Сети»
Во вкладке «Сети» выберите сетевой интерфейс для подключения. При этом серверу будет назначен IP-адрес.
Эта обязательный пункт, однако сеть можно перенастроить и после создания виртуального сервера.Доступны варианты подключения в любых комбинациях:
Подключение сетей (назначить IP из диапазона сети) — простой способ, рекомендуем использовать по умолчанию. IP-адрес будет назначен серверу по DHCP.
Подключения портов (назначить IP-адрес через порт) — для назначения выбранного IP-адреса.
Далее рассмотрим каждый вариант отдельно:
Подключение сетей
По умолчанию доступна сеть external_network c белыми IP-адресами. Используйте её для быстрого создания виртуального сервера с доступом в интернет.
На скриншоте сеть external_network выбрана для виртуального сервера.
Сервер с сетью external_network будет иметь выделенный белый IP-адрес и доступен для входящих и исходящих подключений через Интернет.
Также можно заранее создать частную сеть с кастомными настройками. Удобно для построения развитой серверной инфраструктуры. Например, когда нужно связать несколько виртуальных машин.
Подключение портов
Порт позволяет назначать выбранный IP-адрес для виртуального сервера. Порты нужно предварительно создать в разделе «виртуальная сеть / сети» (как создать порт).
Чтобы просмотреть список портов и выбрать нужный нажмите кнопку «Назначить IP-адрес через порт»:
Выберите нужный порт из таблицы «Доступно» и нажмите кнопку с изображением стрелки напротив выбранного IP-адреса.
Теперь порт будет назначен для сервера.
Вкладка «Межсетевые экраны»
Во вкладке по умолчанию выбран межсетевой экран «default».Межсетевой экран «default» позволяет быстро настроить сетевые подключения при первом входе в виртуальную машину — рекомендуем не удалять его при создании сервера.
Правила экрана «default» РАЗРЕШАЮТ:
все входящие пинги
все исходящие пинги
все подключения по протоколам SSH, HTTP, HTTPS, DNS, RDP
Подробнее о настройке межсетевых экранов вы можете почитать в этом инструкции.
В целях безопасности, рекомендуем изменить правила межсетевого экрана после создания сервера и выполнения сетевых настроек.
Вкладка «SSH-ключи»
SSH-ключи необходимы для первого доступа к виртуальным серверам, созданым из готовых образов. В этой вкладке сгенерируйте или загрузите свои SSH-ключи с помощью соттветствующих кнопок.
Чтобы сгенерировать новый ключ, нажмите кнопку «Создать связку ключей».
В открывшемся окне задайте имя для ключевой пары и нажмите кнопку «Создать публичный ключ»:
Сгенирированный ключ требуется скопировать и сохранить. Для этого нажмите кнопку «copy private key to clipboard» и вставьте данные в текстовый редактор. Затем нажмите «Done», чтобы сохранить ключ.
Вкладка «Shell-скрипты»
Вы можете загрузить свой shell-script или скопировать его в текстовое поле. При копировании важно, чтобы в начале каждой строки отсутствовали пробелы.
Функция «разбиение диска»
Функция доступна только только для новых дисков, создаваемых на основе образа.
Системный раздел равен размеру образа. Остальное место на диске можно будет разметить вручную, средствами операционной системы сервера.
- В раздел [client], после строки:
-
Скачиваем пакет по ссылке
-
, скачивайте последнюю версию.