На днях разбирался с Docker и c Vagrant. Обе софтины довольно интересны в плане возможностей. Если первая позволяет запускать на ядре хост системы другие изолированные копии ОС из контейнеров, то вторая служит удобной утилитой для настройки и запуска виртуальных машин (основной провайдер VirtualBox).
Ну так вот, решил я значит настроить удобную связку - Vagrant + CentOS + VestaCP для удобного управления виртуальными хостами (создание хостов, управление БД) вместо своих костылей.
Не скажу что установка прошла гладко, немного подпортила нервы ошибка описанная в пункте 14, но теперь то вы в курсе как ее фиксить xD
Началось все стандартно:
- Установка свежего ядра 3.8, свежего VirtualBox 4.2.10 (ppa debfx), установка Vagrant 1.2.7 (скачал deb c оф.сайта).
- vagrant box add centos6.4 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box (с http://vagrantbox.es)
- mkdir -p ~/Boxes/Centos
- cd ~/Boxes/Centos
- vagrant init centos6.4
- vagrant up
- vagrant ssh
su (пароль vagrant)
Установка VestaCP (http://vestacp.com/)
mv /home/admin /home/admin.old (хосты будем добавлять только юзеру admin на гостевой системе, убираю чтобы потом перекинуть обратно)
shutdown -h now
- nano Vagrantfile ( пункты 12 и 13)
- Прокидываем директорию с хоста на гостевую систему с правами пользователя admin: config.vm.synced_folder “/home/rail/Projects”, “/home/admin”, owner: “admin”, group: “admin”
- config.vm.network :private_network, ip: “192.168.33.10” (виртуалка будет доступна по адресу 192.168.33.10)
- vagrant up
И вот тут то мы получаем ошибку: sudo: no tty present and no askpass program specified
Но мы не отчаиваемся, все дело в том что sudo запросил пароль рута у vagrant а т.к. терминал не создан то выкинуло ошибку. Виртуальная машина стартанула, но всякие полезности в виде подмонтирования директорий пошли лесом т.к. конфиг застопорился на ошибке.
Сейчас мы это дело поправим.
- vagrant ssh
su затем: nano /etc/sudoers и там после строчки root ALL=(ALL) ALL добавляем vagrant ALL=(ALL) NOPASSWD:ALL этим делом мы разрешили юзеру vagrant использовать sudo без пароля
shutdown -h now
- vagrant up
- profit!
Теперь мы видим что все запустилось и смонтировалось именно так как надо. По адресу https://192.168.33.10:8083 крутится VestaCP, а домашняя директория пользователя admin теперь синхронизируется с /home/rail/Projects.
Вот как то так. Простите за сумбурный текст поста, если есть какие то вопросы пишите в комментариях, постараюсь ответить )
- Вперед
- Назад