Vagrant для малышей, или как на Windows легко получить настроенный сервер для разработки веб-приложений

Здравствуй, мой дорогой любитель поработать с Composer'ом, создавая свой очередной крутой проект на одном из модных фреймворков. Или, быть может, ты — фронтэнд-мастер, пишущий сложные штуки на JS и CSS, компилируя их из jsx- и less-файлов, устанавливая библиотеки через Bower, а проект собирая в каком-нибудь Grunt, попутно прогоняя код юнит-тестами и, конечно же, заливая потом всё это на github… Если всё это — часть твоей повседневной жизни, то хвала Всевышнему, поздравляю: ты прошел все эти испытания и даже не сломал себе мозг. Отныне, ты — из числа тех счастливых, потративших не одну неделю, разбираясь в том, как корректно настроить всю эту кучу инструментов, а также, ты — один из тех, кто может доминировать, властвовать и унижать блистать своими знаниями в комментариях Хабра к статьям других, менее проворных и смышлёных коллег по цеху…

Но… быть может, ты — лишь один из тех, кто только мечтает о подобных извращениях манипуляциях мастеров разработки современных веб-приложений?) Тогда я спешу обрадовать тебя: я тут на днях узнал пару полезных вещей и понял, что это — настоящий подарок для начинающих разработчиков. И решил написать эту статью.

Уже несколько лет я слышу о Vagrant, да и ты, наверное, тоже краем уха слыхал об этом средстве для быстрого разворачивания настроенных виртуальных машин. Но, каждый раз, когда я читал очередную статью о Vagrant'е, меня отталкивала излишняя сложность инструкций к нему. Не люблю я забивать свою голову лишней информацией: как-то проще было всё это время ставить всё необходимое через «sudo apt-get install [program-name]» и вручную добавлять новые конфиги в nginx, беря за основу старые. Но, почитав на днях инструкцию в документации к Laravel, я понял, что всё не так уж и страшно, а желание обучить программированию своего знакомого стало последним фактором, из-за которого я всё-таки полез настраивать на своей машине Vagrant…

Разработчики Laravel создали свой образ виртуальной машины для Vagrant'а, который уже содержит в себе все средства и инструменты, необходимые тебе для счастливой разработки. В итоге, в совокупности с маленькой утилитой Homestead, также заботливо предоставляемой Laravel для работы с их образом, работать с ним реально проще простого. Список основных компонентов, установленных в их образе, можно посмотреть в документации. Среди прочих инструментов, не указанных в нём, числятся такие вещи, как, например, composer и git. В общем, там уже есть всё необходимое для тебя. Нам с тобой остаётся лишь немного разобраться в том, как работает Vagrant и Homestead и спокойно всё это дело использовать в своей повседневной работе.

И не обязательно использовать данный набор только для проектов, основанных на Laravel: скрипт Homestead предоставляет простые средства для ведения разработки сразу нескольких проектов, через простой файл конфигурации позволяя управлять базами данных и nginx-конфигурациями сервера. В итоге, мы получаем практически аналог Denwer'у, но при этом мы имеем дело с полноценным linux-сервером, которым, при необходимости, мы можем легко начать управлять вручную, и установить на него другие компоненты, и таким образом вырасти в более серьёзных и опытных разработчиков.

Предварительная настройка


По сути, всё, что надо сделать — это установить на свой компьютер VirtualBox и Vagrant и немного поковыряться с их настройкой. В статье я буду говорить только о Windows-пользователях, так как линуксоиды, я думаю, и сами всё смогут сделать по инструкциям в документациях. Конечно, всё не без проблем. Если ваше имя пользователя в системе Windows написано русскими буквами (как у меня), то приготовьтесь к ошибкам во время выполнения команд. В таком случае я рекомендую создать системную переменную среды VAGRANT_HOME с указанием папки без русских символов (не знаете, как это делается? почитайте об этом здесь, например), а также открыть настройки VirtualBox'а и указать папку хранения виртуальных машин, в которой тоже нет русских символов. Всё, теперь эти инструменты должны будут корректно работать и не выдавать ошибок.

Итак, основу мы для себя создали, пришло время написать немного команд :) Жмём на клавиатуре клавиши Win+R, вбиваем в открывшееся окошко фразу «cmd», жмём Enter и попадаем в командную строку. Кстати, возможно, вам придётся перезагрузить машину после установки Vagrant, чтобы его команда стала доступна в консоли. Итак, для начала попробуем просто набрать слово «vagrant» в консоли и проверить, корректно ли установлен наш инструмент:



У меня всё нормально. Если возникли проблемы, то проверьте вашу переменную PATH, в ней должен быть путь к бинарнику Vagrant'а. И перезагрузите машину, если не сделали этого.

Дальше в официальной документации нам предлагают склонировать с помощью git или, что еще страшнее, установить через composer на свой компьютер библиотеку Homestead. У меня на винде нет ни git'а, ни, уж тем более, composer'а. И вообще: я эту виртуальную машину и собрался поставить себе как раз для того, чтобы избавить себя от ручной мороки с установкой всех этих инструментов… Поэтому, давай всё-таки не будем заниматься извращениями и просто, по старинке, скачаем zip-архив с github-страницы этой библиотеки на свой компьютер и распакуем его в какую-нибудь папочку :)

Распаковали? Теперь, чтобы установить библиотеку на компьютер, необходимо выполнить команду homestead init. Но вот снова беда: эта команда заработает у нас только тогда, когда на нашем компьютере будут установлены Composer и основные библиотеки Laravel. Другой вариант — это выполнить скрипт init.sh, лежащий тут же рядом, но для его выполнения нам всё равно нужен линуксовый интерпретатор. В общем, опять ставить кучу всякой всячины… Как видим, под виндой простого решения нет. Поэтому давай снова сделаем пару вещей вручную: откроем-ка содержимое файла init.sh и изучим его. Там всего 11 строк кода. Как видим, чтобы «установить» библиотеку, нам просто надо скопировать в папку ~/.homestead несколько файлов (знак ~ обозначает домашнюю директорию текущего пользователя, у меня это «C:\Users\Ахмадуллин\»). Если проанализировать то, как работают их скрипты, то мы придём к выводу, что нам оттуда нужны следующие файлы:

  • src/stubs/Homestead.yaml — в папку~/.homestead
  • src/stubs/after.sh — в папку~/.homestead
  • src/stubs/aliases — в папку~/.homestead
  • Vagrantfile
  • scripts/* (все файлы в этой папке)

Создай папку .homestead в домашней директории пользователя и скопируй в неё эти файлы: это будет папка с вашими управляющими скриптами, через которые мы будем управлять нашей виртуальной машиной. Кстати, ты не сможешь создать файл, который начинается с точки, через стандартный интерфейс Windows. Воспользуйся для решения этой задачи чем-нибудь вроде Far или Total Commander. Итак, в итоге, у меня получилась следующая картина:



Воот… Совсем другое дело. Мы уже почти готовы к полноценной работе с нашей виртуальной машиной. Для доступа к нашей машине нам также нужно создать себе SSH-ключи. Тут нам поможет набор инструментов программы Putty, которую мы также впоследствии будем использовать для управления своим сервером. Скачаем программу PuttyGen и сгенерируем с помощью неё свои приватный и публичный ключи, и сохраним их в папку ~/.ssh. Для генерации следует нажимать кнопку «Generate», после этого поводить немного мышкой по центру программы для генерации случайного ключа, и после этого можно сохранять свой ключ. Также, при сохранении, программа предложит заполнить «key passphrase» — но на данном этапе нам это не нужно, поэтому сохраняй свой ключ без пароля и не обращай внимание на то, что Putty будет предостерегать от создания подобного ключа. У нас ведь лишь тестовая машина, а не реальный боевой сервер, поэтому всё это не так страшно.

Публичный ключ сохрани под следующим именем: "~/.ssh/id_rsa.pub". При этом, приватный ключ нам необходимо сохранить в двух форматах: стандартном для Putty (кнопка Save private key, название файла — ~/.ssh/putty_private.ppk, например), и в формате OpenSSH (пункт «Export OpenSSH key» в меню Conversions, название файла должно быть "~/.ssh/id_rsa"). Первый приватный ключ нам нужен для того, чтобы потом подключаться к серверу через программу Putty, а второй — для настройки и инициализации сервера через скрипты Homestead. В итоге, у нас должна получиться примерно такая картина с файлами ключей:



Теперь лишь осталось указать некоторые настройки нашему серверу перед запуском, если в этом есть необходимость. Открой в любом редакторе файл Homestead.yaml. Это единственный файл настроек, через который мы можем указывать все основные параметры нашей виртуальной машины. Стандартные настройки уже неплохо написаны, и для начала нам тут и менять ничего не придётся, я лишь кратко объясню его содержимое: раздел "folders" указывает связь каталогов виртуальной машины и вашей реальной системы, чтобы ты мог легко редактировать файлы в виртуальной машине через свой любимый редактор в главной системе. Раздел "sites" — это настройки nginx, и опять же, всё очень просто: мы просто задаём связь домена и каталога на сервере. Раздел "databases" перечисляет названия баз данных, которые будут созданы при инициализации виртуальной машины. Вот, собственно, и всё, что вам надо знать о конфигурировании нашей системы.

P.S. Да, и так как в разделе «folders» по умолчанию указана связь папки ~/Code с аналогичной папкой в виртуальной машине, то не забудь создать данную директорию в папке своего пользователя. Впоследствии, через неё мы сможем работать с файлами твоего сервера.

P.P.S. И еще, имей ввиду, что формат yaml немного отличается своим подходом к хранению данных. Поэтому, если будешь добавлять туда свои параметры, учти, что количество пробелов здесь имеет значение, так как через них задаётся иерархия данных. Поэтому, устанавливай именно такие отступы к новым объектам, какие уже есть в файле. Более подробно можешь почитать о данном формате, например, в Википедии.

Ну и, наконец, мы подошли к самому интересному…

Запуск виртуального сервера


Давай уже попробуем запустить нашу виртуальную машину! Открой командную строку папке ~/.homestead и выполни в ней магическую команду:
vagrant up


Если ты всё сделал правильно, то у тебя начнётся загрузка VirtualBox-образа от разработчиков Laravel, и картина будет примерно такая:


Если Vagant сообщил тебе о какой-либо проблеме, не отчаивайся: внимательно изучи текст ошибки и попробуй вбить её текст в Google. Скорее всего, есть уже множество людей, которые столкнулись с подобной проблемой и каким-либо образом решили её. Если образ успешно скачался на твой компьютер, и ошибка возникла во время загрузки машины, то попробуй открыть VirtualBox и запустить её вручную, без Vagrant'а, и посмотреть, что из этого выйдет. Vagrant — это, по сути, просто надстройка над VirtualBox, и ты можешь легко запустить собранную им виртуальную машину самостоятельно, если это будет надо.

Если же всё пошло нормально… То, через несколько минут работы Vagrant'а твоя виртуальная машина полностью настроится и установит все необходимые компоненты и параметры. И ты уже сможешь спокойно подключиться к своему полноценному серверу. Для этого можно использовать, например, Putty.

Подключение к серверу


Давай скачаем файл putty.exe и подключимся с помощью него к нашему серверу. Настрой программу следующим образом: укажи адрес сервера, порт и пользователя, а также, в разделе "Connection -> SSH -> Auth" не забудь указать адрес к сгенерированному тобой приватному ключу, после чего сохрани все эти настройки в сессии под каким-нибудь названием, чтобы не вбивать их каждый раз при запуске программы, и смело жмякай кнопку «Open». Если ты был внимательным и всё сделал правильно, перед тобою откроется окно терминала твоего собственного виртуального сервера:



P.S. на некоторых машинах была выявлена следующая проблема: Vagrant по какой-то причине не принимает созданный в Putty файл ключа и генерирует свой собственный, по его мнению, более безопасный. Ключ этот сохраняется по адресу "~\.homestead\.vagrant\machines\default\virtualbox\private_key". Если у тебя не получается подключиться с помощью своего ключа к серверу, значит, тебе необходимо использовать ключ, сгенерированный Вагрантом. Перед тем как использовать его, снова открой программу PuttyGen, импортируй в неё созданный Вагрантом файл (пункт Conversions -> Import key) и сохрани в формате putty (кнопка «save private key»), и после этого используй данный файл для подключения к серверу через putty.

Молодец, боец! Первый рубеж на пути покорения мира профессиональной разработки веб-приложений пройден. Теперь, давай напишем еще парочку команд и установим Laravel, просто для того, чтобы убедиться в том, что у нас на сервере всё корректно работает. Введи по очереди две следующие команды на своём сервере:
cd Code
composer create-project laravel/laravel Laravel --prefer-dist

И сходи попей чайку. Когда вернёшься, открой ту самую папку ~/Code, которую ты создавал в своей домашней директории, и если всё прошло нормально, то тебя там должен ожидать сюрприз :)



Так-то: сервер пофурычил что-то у себя, и на выходе мы получили на своём настоящем компьютере папку Laravel со всеми необходимыми файлами фреймворка. Осталось сделать самую малость для того, чтобы увидеть наше приложение в браузере: открой файл hosts в режиме администратора, чтобы иметь возможность редактировать его, и добавь туда следующую строчку:
192.168.10.10 homestead.app

А теперь открывай в браузере адрес homestead.app. Ну как, что видно? У меня вот такая картина:



Если достаточно прищуриться, то можно разглядеть логотип Laravel :) Ну, можно еще мышкой выделить буквы, так виднее будет. В качестве упражнения, давай немного исправим это. Ты можешь открыть файл "~\Code\Laravel\resources\views\welcome.blade.php" и удалить оттуда строчки «color: #B0BEC5;» и «font-family: 'Lato';» в первых двадцати строках исходного кода. А потом сохранить этот файл и обновить свою страницу. Кажется, так стало лучше?)

В общем-то, это практически всё. Если ты дошёл до данной части статьи, и у тебя всё получилось, это означает, что ты большой молодец, и у тебя теперь есть полноценный собственный веб-сервер, в котором для тебя уже собраны все необходимые для работы технологии. Осталось только немного рассказать о том, как его останавливать, обновлять его конфигурацию и полностью удалить из системы. Для этого используй следующие команды Vagrant'а, и не забудь, что при этом ты должен находиться в директории ~/.homestead:

# Включить машину
vagrant up           

# Выключить машину
vagrant halt           

# Снова настроить машину с помощью скриптов Homestead.
# Если ты изменишь файл конфигурации - выполни эту команду,
# и Vagrant снова настроит твою машину
vagrant provision  

# Полностью удалить виртуальную машину из системы.
# Будь осторожен, это удалит также базу данных, поэтому не
# забудь сделать её резервную копию перед выполнением данной команды 
vagrant destroy

# Есть у Vagrant'а еще вот такая замечательная команда для быстрого
# подключения к серверу, но так как мы сидим в Windows, просто так её
# использовать не получится, придётся, как обычно, поднапрячься и
# и установить линуксовую программу "ssh" на свой компьютер.
# Да и если всё сделать, то у тебя всё равно будут проблемы с передачей
# туда кода из буфера обмена, поэтому я всё-таки даю совет: используй Putty и
# радуйся жизни, лучше неё я ничего еще не видел под винду
vagrant ssh


Всё написанное в данной статье — это очень краткое описание всех возможностей Vagrant'а, изучай официальную документацию и другие статьи по данному инструменту, если у тебя возникло желание разобраться в нём более глубоко. И советую также почитать комментарии к данной статье, там тоже иногда разные умные люди пишут полезные вещи. Ну и вот и всё. Кажется, статья закончена. Надеюсь, она принесёт пользу людям. И всего хорошего вам, дорогие разработчики :)
Share post

Similar posts

Comments 40

    +1
    А у вас не было проблемы с кирилицей в имени пользователя?
    У меня вагрант из-за этого отказывался работать.
      +1
      Я на эту тему несколько советов дал в статье) Были проблемы, решение описано в тексте. Если есть другие советы — пишите здесь, думаю, людям будет полезно.
        +1
        Виноват, не заметил. Я просто создал себе отдельный профиль для разработки.
      +1
      Для веб разработки в разы удобнее связка линукс + докер.
        0
        Ну ведь не все могут себе позволить иметь linux на борту. Да и статья не об этом же, как мне кажется)
          +2
          Для этих несчастных (скажем у меня mac а докером пользоваться хочется) есть boot2docker.
            –2
            что значит не могут себе позволить? Берите любой дистрибутив и работайте, они все свободны. для меня перейти на убунту не составило труда, через 2 недели, я уже нормально работал
              +3
              Ну например я: вынужден использовать Windows по разным причинам, в том числе по рабочим.
              Не заводить же мне второй компьютер для разработки?
              (Ну, к слову, я себе конечно поставил все, что необходимо под Windows)
                –1
                Та же убунта легко ставится как вторая операционная система
                  0
                  Еще один вариант решения — поставить полноценную Linux ОС с окошками в VirtualBox, и отключить всплывающее меню для удобства полноэкранного режима (Настройка — общие — дополнительно — снять галку с «мини тулбар»).

                  Сам использую W7 x64 и в виртуалке Kubuntu 14.04 32-бит. Вполне себе ворочается на выделенных 2,5Гб, даже со штормом внутри. Особенно удобно развернуть в полный экран на втором мониторе. Но и с одним реально.

                  Вагрант — уж очень тяжело заводится, последний раз на третьем-четвертом затыке я его бросил. Composer под виндой тот же ларавел не может поставить — падает PHP при установке symfony/process. Проще и быстрее линукс в виртуалке.
                    0
                    Я просто оставлю это здесь www.turnkeylinux.org/. 100+ готовых виртуалок debian (squeeze/wheezy) под VirtualBox с преднастроенным Web Shell. Проще некуда.
                    0
                    Я разрабатываю в основном (сейчас) под Linux, но Windows как рабочая машина мне нравится больше.

                    В основном пользуюсь VMWare с виртуалками. Очень удобно. Нет мучений с железом, ставишь open-vm-tools из стандартной репы и поехали.

                    Ещё VS2015 может теперь, говорят, деплоить прям на линух и дебажить с gdb, но пока руки не дошли.
                    –1
                    Ну скажем так, если разработчик работает с MsSQL то ему комфортнее работать под виндой. Остается только ждать когда мелкомягкие сделают поддержку docker нативную на винде.
                  0
                  Это из серии "мой тул лучше твоего, поэтому используй его"? Для обеих вещей есть свои применения и нет однозначного ответа, что лучше.

                  Возьмите, к примеру, цитату автора Vagrant'а: "in specific scenario (yourself working alone, working on Linux, using Docker in production), you can stick with Docker alone and simplify things. In many other scenarios (I discuss further), it isn't so easy."

                  Да, и оба тула могут быть использованны для веб разработки на ура.
                    0
                    я не говорил, что вагрант нельзя использовать для веб-разработки. я им 2 месяца пользовался, но система заметно грузилась, что меня выводило из себя. Докер же по другому позволяет работать, он не поднимает отдельную машину, он просто сервисы в контейнеры оборачивает. в итоге у меня мускул бежит только тогда, когда я над проектом работаю, а когда не нужно — ничего лишнего систему не грузит
                    0
                    Я вот поставил докер, прошел туториал. Но пока не понимаю как он может быть полезен в разработке.
                    Писать команды вида «docker run learn/tutorial apt-get install -y ping» кажется не очень удобно, а ssh не рекомендуется юзать.
                    С вагрантом все понятно, это удобная обертка для виртуальных машин. Хотя я тоже долго не мог понять зачем он нужен. Потом понял. Скачать образ линукса и подключить к virtualbox не сильно сложная задача, но с вагрантом это делается одной командой из консоли. Очень удобно.
                      0
                      Писать команды вида «docker run learn/tutorial apt-get install -y ping» кажется не очень удобно

                      Да, это дело должно быть прописано в Dockerfile, вы не должны хоть как-то влиять на конфигурацию образа без его сборки. И тогда будет счастье.

                      А польза для разработки — у всех в команде одно и то же окружение, можно мгновенно запустить проект (если образ уже сбилжен и лежит у вас на машине). Да и провиженинг происходит быстрее. Но намного больше удобства для continuous integration и delivery. Вы билдите контейнер с приложением, можете в этом же контейнере запустить тесты и этот же контейнер, уже протестированный, поднять на удаленной машине.

                      В целом обычно Docker либо используют вместе со штуками типа fig, либо пишут шорткаты на bash.
                        0
                        Рекомендую fig
                          0
                          Не рекомендую fig. Да, для простеньких штук в принципе удобно, но в целом мне больше нравятся варианты сборки имиджей через bash/python/php скрипты. Тех возможностей которые предлагает fig и подобные очень быстро становится недостаточно.
                      0
                      Ну и в рамках советов — лучше Putty под винду я видел (и сейчас вижу), например Xshell4. Который вполне себе «Free for Home/School»
                        0
                        Спасибо за подсказку. Зашёл сейчас на их официальную страницу загрузки на сайте, увидел текст, что для дома и обучения оно бесплатное, пытаюсь скачать — а он мне просит ключ продукта ввести, и других кнопок для бесплатной загрузки я не увидел. Как быть?)
                          0
                          Вы отсюда скачивали? www.netsarang.com/download/free_license.html

                          Там по ссылке скачать форма для заполнения и после чего вам должно по идее прийти письмо на почту с инструкциями
                            0
                            Поставил, поигрался. Действительно очень удобный инструмент, большое спасибо за ссылку на него, буду теперь еще и им пользоваться)
                            0
                            А требование очень простое — быть внимательным: joxi.ru/8An0WpEIn7DemO
                            +1
                            MobaXterm тоже удобная штука. У free версии есть некоторые ограничения, но даже с ними всё равно гораздо удобнее Putty.
                            +1
                            Давай скачаем файл putty.exe и подключимся с помощью него к нашему серверу.

                            Я запускаю vagrant из-под cygwin и использую vagrant ssh.
                              –1
                              Я пробовал пойти этим путём. При установке Cygwin надо пройти через целый квест из кучи шагов, выбрать нужные тебе пакеты, а потом еще сидеть и ждать, пока скачаются все необходимые зависимости. Даже если пометить только SSH, там набирается целая куча библиотек-зависимостей. На этапе скачивания этих пакетов, прождав минут пять, я забил на всё это дело и решил использовать самый простой вариант с Putty. Putty вообще не требует установки, быстро запускается и прекрасно делает своё дело)

                              Да и как средство удалённого управления сервером, Putty всё-таки лучше будет: в ней легко можно копировать текст из терминала и легко вставлять его, есть множество настроек, также в ней легко изменяется размер окна, в отличии от стандартного консольного приложения Windows, размер окна которого ты просто так не поменяешь. И, в том числе, через PuttyGen можно создать себе связку ключей, поэтому я и использую в своей работе данные инструменты и написал в статье именно про них, зная, что с ними будет действительно удобнее работать и будет меньше мучений, в особенности у новичков.
                                0
                                Сам использую Putty, но именно для работы с vagrant использую cygwin. Мне удобно: я использую vagrant в связке с ansible, держу конфигурацию ansible под git, поэтому мне удобнее, когда я запускаю cygwin, в котором в директории vagrant я могу и изменять скрипты ansible и подключиться по ssh к виртуалке.
                                Даже пробовал как-то ansible из-под него запускать, но в конце-концов забил на эту затею.
                                0
                                msysgit предоставляет шелл который напоминает bash терминал.
                                Из под него также превосходно выполняются vagrant up && vagrant ssh
                                  0
                                  Ребята, попробуйте под виндой clink вместо cygwin
                                  0
                                  Директории для разработки я монтирую, используя sabma, shared folders не использую из-за того, что под linux все файлы будут иметь mode 0777.
                                    0
                                    Другой вариант — это выполнить скрипт init.sh, лежащий тут же рядом, но для его выполнения нам всё равно нужен линуксовый интерпретатор.

                                    Если vagrant установлен, то интерпретатор BASH у вас уже есть — в <vagrant_dir>/embedded/bin — надо только добавить этот путь в PATH
                                      0
                                      Ого, ничего себе) Там уже лежит весь набор стандартных unix-утилит. Но вот скрипт «init.sh» из Homestead всё равно не захотел корректно отработать через Баш, поставляемый вагрантом. Почему — надо разбираться. В общем, всё-таки проще копирнуть все необходимые файлы в одно место вручную и не париться. Такой вариант, на мой взгляд, даже удобнее оригинальной инструкции разработчиков Laravel, если следовать которой, то у тебя на выходе получается две папки Homestead: папка с самой программой, а также папка с конфигурацией (~/.homestead). Но можно закинуть всё это в одно место и впоследствии управлять вагрантом оттуда, что и описано в статье.
                                      0
                                      Когда отдал макбук в ремонт, без лишних обиняков поставил второй осью Убунту. Да, непрывычно. Да, некрасиво. Да, два последных высказывания, суъективны. Но для работы отлично. Никах бубнов и танцев.
                                        –3
                                        Всё слишком сложно! Из-за этого вагранта я потерял БД!
                                          0

                                          Из статьи:


                                          # Полностью удалить виртуальную машину из системы.
                                          # Будь осторожен, это удалит также базу данных, поэтому не
                                          # забудь сделать её резервную копию перед выполнением данной команды 
                                          vagrant destroy

                                          Я вроде максимально подробно всё расписал. Читать надо внимательнее, а не ругаться)

                                            –2
                                            Дело в том, что у меня vagrant процесс просто завис. Он не открывает сайт и не закрывается. И новый не могу создать, так как ругается, что уже есть. В любом случае, это очень ненадёжно в плане работы с БД. Я не очень хочу в этом вагранте глубоко разбираться. Я хочу, чтобы его поставил и он работает. Без всяких подводных камней.
                                              0

                                              Вагрант глючит, это правда. Но часть вины есть и на вашей стороне тоже. Придётся разбираться, вы ведь решили стать инженером ПО. А так, мой совет — всё-таки, полноценная удобная разработка сейчас возможна только на лиунксе)

                                          0
                                          Кстати, ты не сможешь создать файл, который начинается с точки, через стандартный интерфейс Windows.
                                          Это можно сделать, поставив ещё одну точку после имени файла в конце, например .htaccess.
                                            0

                                            Спасибо, очень полезный совет) прошу прощения за долгий ответ, забыл ответить.

                                          Only users with full accounts can post comments. Log in, please.