Разработка · 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/lampcd ~/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/boxesmv ubuntu1204_LAMP.box ~/Vagrant/boxesВы можете в любое время импортировать и инициализировать этот box с:
vagrant init ubuntu1204_LAMP file:~/Vagrant/boxes/ubuntu1204_LAMP.boxАвтор: Санчит Джайн Расия
Get new posts in your inbox
No spam. Unsubscribe anytime.