Сервер для локальной разработки на основе VirtualBox

Сервер для локальной разработки на основе VirtualBox

Разработчику интернет-магазина всегда необходим отдельный сервер для опробации своих профессиональных замыслов: то ли это фишка озарившая его в ночи, то ли это потребность опробовать нововведение на копии боевого сайта, то ли это разработка уникального сервиса для внедрения на продакшн. Такой сервер должен предоставлять программисту ряд гарантий: во-первых - безопасность для продакшн-сайта, во-вторых - возможность индивидуального конфигурирования и в-третьих - свобода удаления-клонирования-восстановления. Локальный Linux-сервер - наиболее удобный вариант для этих целей.

При создании сервера локальной разработки, достигнуть максимальной гибкости проще всего при использовании VirtualBox: вы вольны собрать себе такого боевого коня, какого захотите - в сравнении с использованием Vagrant разработчик не привязан к готовым образам-боксам. Плюс - вам не придется ставить сам Вагрант, который требует предустановленного ВиртуалБокс.

Наш сервер будет абсолютно идентичен VPS/VDS серверу заказанному в хостинг компании, но за него не надо будет платить

Наш local developer server мы поднимем на Windows 7 и обладать он будет параметрами, вполне адекватными для средне нагруженного сайта:

  • Операционная система: Centos 7
  • Серверная панель: VestaCP
  • Под капотом:
    • nginx - веб-сервер
    • php-fpm - PHP FastCGI
    • named - DNS-сервер
    • remi - хранилище yum репозиториев
    • proftpd - FTP-сервер
    • iptables - утилита командной строки
    • fail2ban - обнаружение и блокирование отдельных IP-адресов
    • exim - агент пересылки сообщений
    • dovecot - IMAP- и POP3-сервер
    • mariadb - сервер баз данных, ответвление от MySQL

Первое, что нам придется сделать - установить сам VirtualBox. Это совершенно не сложно и не требует отдельного описания.

Вторым шагом нам необходимо скачать iso-образ операционной системы Centos 7 под названием Minimal - CentOS-7-x86_64-Minimal-1708.iso. Он весит всего 810 мегабайт и загрузится с Яндекс-зеркала очень быстро.

Установка и настройка сервера "под ключ" займет около 20 минут

Шаг первый: Создаём виртуальную машину

Создаём виртуальную машину

Создаём виртуальную машину

Создаём виртуальную машину

Создаём виртуальную машину

Создаём виртуальную машину

Создаём виртуальную машину

Создаём виртуальную машину

Шаг второй: Настраиваем виртуальную машину перед стартом

Настраиваем виртуальную машину перед стартом

На этом шаге нам надо подключить скачанный ранее iso-файл CentOS-7-x86_64-Minimal-1708.iso - кликните справа иконку диска и выберите этот файл

Настраиваем виртуальную машину перед стартом

Настраиваем виртуальную машину перед стартом

Настраиваем виртуальную машину перед стартом

Шаг третий: Стартуем виртуальную машину и донастраиваем

Стартуем виртуальную машину и донастраиваем

Стартуем виртуальную машину и донастраиваем

Стартуем виртуальную машину и донастраиваем

Стартуем виртуальную машину и донастраиваем

Стартуем виртуальную машину и донастраиваем

Перезагружаем машину и заново запускаем в фоновом режиме.

Перезагружаем машину и заново запускаем в фоновом режиме

Шаг четвертый: Подключаемся к машине по SSH из PuTTY

Подключаемся к машине по SSH из PuTTY

Шаг пятый: Подключаемся к машине по FTP из WinSCP

Подключаемся к машине по FTP из WinSCP

Шаг шестой: Устанавливаем и настраиваем VestaCP

Обновляем систему

yum update

Загружаем установочный sh-файл VestaCP

curl -O http://vestacp.com/pub/vst-install.sh

Устанавливаем VestaCP

bash vst-install.sh --softaculous no --nginx yes --phpfpm yes --apache no --named yes --remi yes --vsftpd no --proftpd yes --iptables yes --fail2ban yes --quota no --exim yes --dovecot yes --spamassassin no --clamav no --mysql yes --postgresql no --force

После установки входим в панель управления по адресу 127.0.0.1:8083 и настраиваем необходимое нам: домены, базы данных и т.д.

Шаг седьмой: Открываем dev-сайты в браузере

Для того, чтобы просматривать сайты расположенные на dev-сервере виртуальной машины нам необходимо прописать их в файле hosts расположенному по адресу

C:\Windows\System32\drivers\etc\hosts

Выглядят эти записи так

127.0.0.1 site-first.loc
127.0.0.1 site-second.loc

Все. С этого момента у вас есть полноценный аналог VDP/VPS сервера на вашем локальном компьютере для работы над вашим интернет-магазином. Вы всегда можете его доконфигурировать до нужно кондиции: как в части проброски новых портов, так и в части установки новых библиотек и приложений.

Работа в PhpStorm

Подключение к локальному проекту на VirtualBox

Подключение к локальному проекту VirtualBox

Подключение к базе данных на VirtualBox

Подключение к базе данных на VirtualBox