Как настроить среду разработки LAMP в Vagrant
В предыдущем уроке мы узнали об основах Vagrant. В этом руководстве мы перейдем на следующий уровень и узнаем больше о Vagrant и настройке среды разработки LAMP в Vagrant.
Начнем с того, что LAMP означает: Linux (ОС/ядро), Apache (веб-сервер), MySQL (база данных), PHP (язык сценариев). Это среда веб-разработки с открытым исходным кодом, которая позволяет создавать веб-приложения. Обычно его также называют веб-стеком.
Давайте теперь настроим среду разработки LAMP в Vagrant, выполнив следующие шаги:
# 1- Создайте каталог, в котором мы будем создавать экземпляр:
mkdir -p ~/Vagrant/lamp
cd ~/Vagrant/lamp
#2- Теперь нам нужно инициализировать коробку Vagrant. Здесь у нас остается два варианта.
#2.1- Во-первых, мы можем повторно использовать коробку Ubuntu 12.04 LTS (Precise Pangolin), которую мы уже загрузили в предыдущем уроке. Чтобы использовать это, просто выполните:
vagrant init precise32
# 2.2- Второй вариант, который у нас есть, — это добавить новую коробку, загрузив коробку Ubuntu 12.04 LTS (Precise Pangolin) Vagrant, как:
vagrant box add precise32 http://files.vagrantup.com/precise32.box
А затем выполните:
vagrant init precise32
Обратите внимание: № 2.2 предназначен только для тех, кто ранее не загружал Ubuntu 12.04 LTS (Precise Pangolin) Vagrant.
#3- Теперь сделайте:
vagrant up
Это создаст VagrantFile. Отредактируйте VagrantFile, как показано ниже:
Vagrant.configure(2) do |config|
config.vm.box=\precise32\
# Упоминание имени пользователя/пароля SSH:
config.ssh.username=\vagrant\
config.ssh.password=\vagrant\
# Начало настройки
config.vm.define \лампа\ делать|лампа|
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
# Конец настройки
конец
Обратите внимание: я удалил строки с комментариями, чтобы избежать путаницы.
Вы можете скачать этот файл отсюда.
№ 4. Теперь давайте начнем подготовку к установке LAMP. Для этого создайте простой сценарий оболочки с именем script.sh, используя ваш любимый текстовый редактор:
#!/bin/bash
# Updating repository
sudo apt-get -y update
# Installing Apache
sudo apt-get -y install apache2
# Installing MySQL and it's dependencies, Also, setting up root password for MySQL as it will prompt to enter the password during installation
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
# Installing PHP and it's dependencies sudo apt-get -y install php5 libapache2-mod-php5 php5-mcrypt
Вы можете скачать этот файл здесь.
#5- После сохранения script.sh запустите:
vagrant up
Он будет делать много вещей. Вы сможете увидеть, что он делает на стандартном выходе. Чтобы дать вам общее представление, он начнется с импорта базового блока точного 32, затем он подключится к ящику по SSH, затем установит имя хоста машины (мы указали это в Vagrantfile), затем начнется обновление и установка Стек LAMP.
Обратите внимание. При установке mysql-server он установит для своего корневого пароля rootpass, поскольку мы упомянули об этом в файле script.sh.
# 6- Теперь, когда бродяга завершил установку, вы готовы к работе. SSH в vagrant box как:
vagrant ssh
#7- Проверьте установку:
dpkg -l | grep "apache2\|mysql-server-5.5\|php5"
Вы увидите все эти пакеты в списке, и это означает, что они были успешно установлены. На этом вы закончили настройку среды разработки LAMP в Vagrant :)
Совет. Теперь вы можете сохранить это поле в его текущем состоянии (Ubuntu 12.04 LTS с LAMP) как:< br>
Шаг 1. Выйдите из коробки Vagrant, выполнив:
exit
Шаг 2. Упакуйте эту коробку с:
vagrant package --output ubuntu1204_LAMP.box
Это создаст файл ubuntu1204_LAMP.box, который вы можете повторно использовать в качестве базового блока с уже установленной LAMP по умолчанию.
Чтобы все было организовано, создайте каталог, в котором вы будете хранить все такие ящики, и переместите в него этот ubuntu1204_LAMP.box:
mkdir -p ~/Vagrant/boxes
mv ubuntu1204_LAMP.box ~/Vagrant/boxes
Вы можете в любое время импортировать и инициализировать это поле:
vagrant init ubuntu1204_LAMP file:~/Vagrant/boxes/ubuntu1204_LAMP.box
Автор: Санчит Джайн Расия