Разработка · 3 min read · Dec 06, 2025

Как настроить среду разработки LAMP в Vagrant

В предыдущем уроке мы узнали о основах Vagrant. В этом уроке мы перейдем на следующий уровень и узнаем больше о Vagrant и настройке среды разработки LAMP в Vagrant.

Для начала, LAMP расшифровывается как: L inux (ОС/Ядро), A pache (Веб-сервер), M ySQL (База данных), P HP (Язык сценариев). Это открытая среда веб-разработки, которая позволяет создавать веб-приложения. Обычно это также называется веб-стеком.

Теперь давайте настроим среду разработки LAMP в Vagrant с помощью следующих шагов:

#1- Создайте каталог, в котором мы будем создавать экземпляр:

mkdir -p ~/Vagrant/lamp
cd  ~/Vagrant/lamp

#2- Теперь нам нужно инициализировать Vagrant box. У нас есть два варианта.

#2.1- Один из них - мы можем повторно использовать box Ubuntu 12.04 LTS (Precise Pangolin), который мы уже загрузили в предыдущем уроке. Чтобы использовать это, просто выполните:

vagrant init precise32

#2.2- Второй вариант - это сделать новое добавление box, загрузив box Ubuntu 12.04 LTS (Precise Pangolin) для Vagrant, как:

vagrant box add precise32 http://files.vagrantup.com/precise32.box

А затем выполните:

vagrant init precise32

Пожалуйста, обратите внимание - #2.2 предназначен только для тех, кто ранее не загружал box Ubuntu 12.04 LTS (Precise Pangolin) для Vagrant.

#3- Теперь выполните:

vagrant up

Это создаст VagrantFile. Отредактируйте VagrantFile следующим образом:

Vagrant.configure(2) do |config|
config.vm.box = “precise32”

config.ssh.username = “vagrant”
config.ssh.password = “vagrant”

config.vm.define “lamp” do|lamp|

lamp.vm.hostname = “lamp” # Настройка имени хоста
lamp.vm.network “private_network”, ip: “192.168.205.10” # Настройка IP-адреса машины
lamp.vm.provision :shell, path: “script.sh” # Провизия с помощью script.sh
end

end

Пожалуйста, обратите внимание - я удалил закомментированные строки, чтобы избежать путаницы.

Вы можете загрузить этот файл отсюда.

#4- Теперь давайте начнем провизию установки LAMP. Для этого создайте простой shell-скрипт с именем script.sh, используя ваш любимый текстовый редактор, как:

#!/bin/bash  
  
# Обновление репозитория  
  
sudo apt-get -y update  
  
# Установка Apache  
  
sudo apt-get -y install apache2  
  
# Установка MySQL и его зависимостей, также установка корневого пароля для MySQL, так как он будет запрашивать ввод пароля во время установки
  
sudo debconf-set-selections <<< 'mysql-server-5.5 mysql-server/root_password password rootpass'  
sudo debconf-set-selections <<< 'mysql-server-5.5 mysql-server/root_password_again password rootpass'  
sudo apt-get -y install mysql-server libapache2-mod-auth-mysql php5-mysql  
  
# Установка PHP и его зависимостей
sudo apt-get -y install php5 libapache2-mod-php5 php5-mcrypt  
  

Вы можете загрузить этот файл отсюда.

#5- После сохранения script.sh выполните:

vagrant up

Это сделает много вещей. Вы сможете увидеть, что он делает в stdout. Чтобы дать вам общее представление, он начнет с импорта базового box precise32, затем он SSH в box, затем он установит имя хоста машины (мы указали это в Vagrantfile), затем он начнет обновление и установку стека LAMP.

*Пожалуйста, обратите внимание - во время установки mysql-server он установит корневой пароль на ‘rootpass’, так как мы указали это в файле script.sh.

  • #6- Теперь, после завершения установки vagrant, вы готовы к работе. SSH в box vagrant как *:
vagrant ssh

#7- Проверьте установки с помощью:

dpkg -l | grep "apache2\|mysql-server-5.5\|php5"

Вы увидите все эти пакеты в списке, и это означает, что они были успешно установлены. С этим вы завершили настройку среды разработки LAMP в Vagrant :)

Совет - Теперь вы можете сохранить этот box в его текущем состоянии (Ubuntu 12.04 LTS с LAMP) как:

Шаг 1- Выйдите из box Vagrant, выполнив:

exit

Шаг 2- Упакуйте этот box с:

vagrant package --output ubuntu1204_LAMP.box

Это создаст файл ubuntu1204_LAMP.box, который вы можете повторно использовать в качестве базового box с уже установленным LAMP по умолчанию.

Чтобы все было организовано, создайте каталог, в котором вы будете хранить все такие boxes, и переместите этот ubuntu1204_LAMP.box в него:

mkdir -p ~/Vagrant/boxes
mv ubuntu1204_LAMP.box ~/Vagrant/boxes

Вы можете в любое время импортировать и инициализировать этот box с:

vagrant init ubuntu1204_LAMP file:~/Vagrant/boxes/ubuntu1204_LAMP.box

Автор: Санчит Джайн Расия

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.