Разворачиваем LAMP в Vagrant

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

LAMP расшифровывается как: Linux (Операционная система/ядро), Apache (веб-сервер), MySQL (система управления базами данных), PHP (язык сценариев). LAMP является по сути средой разработки с отрытым исходным кодом, которая позволяет создавать веб-приложения. Зачастую её называют стандартным веб-окружением.

Установка LAMP в Vagrant состоит из следующих этапов:

#1- Создание директории, в которой будет создан образец:

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

#2- Теперь нам потребуется запустить бокс the Vagrant, это можно сделать двумя способами.

#2.1- Первый, мы можем повторно воспользоваться боксом Ubuntu 12.04 LTS (Precise Pangolin), который уже загружен, согласно предыдущей статье(ссылка):

vagrant init precise32

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

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

И затем введём следующее:

vagrant init precise32

Внимание, пункт - #2.2 для тех, у кого ранее не был загружен Ubuntu 12.04 LTS (Precise Pangolin).

#3-Выполним:

vagrant up

Данная команда создаст VagrantFile. Отредактируем его следующим образом:

Vagrant.configure(2) do |config|
config.vm.box = "precise32"
# Задаётся имя пользователя/пароль SSH:
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

Файл можно загрузить по следующей ссылке.

(https://www.dropbox.com/s/uvtdjdt0bnt0qwg/Vagrantfile?dl=0)

#4--Перейдём к инициализации LAMP. Создадим простой скрипт оболочки, под названием script.sh с помощью текстового редактора:

#!/bin/bash
# Обновление репозитория
sudo apt-get -y update
# Установка Apache
sudo apt-get -y install apache2
# При установке 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

Файл можно загрузить по ссылке.

(https://www.dropbox.com/s/m2kbjenpd034a3j/script.sh?dl=0)

#5- Сохраним скрипт script.sh и выполним следующее:

vagrant up

Теперь можно следить за работой через устройство вывода. Команда импортирует основание precise32, затем SSH в бокс, установим имя хоста машины (мы определили имя хоста в Vagrantfile), затем начнёт обновление и инициализацию LAMP стека.

Внимание- Во время установки mysql-server,корневой пароль будет установлен 'rootpass', как в файле script.sh.

#6- Теперь бокс vagrant установлен. Установим SSH в бокс vagrant:

vagrant ssh

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

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

Отобразятся все установленные пакеты, это означает, что установка произведена успешно.

Совет- Бокс, в текущем его состоянии(Ubuntu 12.04 LTS with LAMP), можно сохранить:

Шаг 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

1 Комментарий

  • JoshCreend

    написал JoshCreend

    Воскресенье, 08 Ноябрь 2015 22:11

    Поздравляю с переездом на новый хостинг!

Оставить комментарий

Ваше мнение очень важно для нас! Обязательно выскажите Ваши мысли, пожелания и критику! Не стесняйтесь задавать вопросы. Скорее всего, ответ появится уже через 2-3 дня. Спасибо заранее.

Go to top