Поздравляю! Вы попали в архивный блог! Все новые материалы публикуются на hmdw.meX
Просмотров: 4029

Vagrant + CentOS

На днях разбирался с Docker и c Vagrant. Обе софтины довольно интересны в плане возможностей. Если первая позволяет запускать на ядре хост системы другие изолированные копии ОС из контейнеров, то вторая служит удобной утилитой для настройки и запуска виртуальных машин (основной провайдер VirtualBox).

Ну так вот, решил я значит настроить удобную связку - Vagrant + CentOS + VestaCP для удобного управления виртуальными хостами (создание хостов, управление БД) вместо своих костылей.

Не скажу что установка прошла гладко, немного подпортила нервы ошибка описанная в пункте 14, но теперь то вы в курсе как ее фиксить xD

Началось все стандартно (черным команды на хосте, синим на гостевой системе):

  1. Установка свежего ядра 3.8, свежего VirtualBox 4.2.10 (ppa debfx), установка Vagrant 1.2.7 (скачал deb c оф.сайта).
  2. vagrant box add centos6.4 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box (с http://vagrantbox.es)
  3. mkdir -p ~/Boxes/Centos
  4. cd ~/Boxes/Centos
  5. vagrant init centos6.4
  6. vagrant up
  7. vagrant ssh
  8. -----------

  9. su (пароль vagrant)
  10. Установка VestaCP (http://vestacp.com/)
  11. mv /home/admin /home/admin.old (хосты будем добавлять только юзеру admin на гостевой системе, убираю чтобы потом перекинуть обратно)
  12. shutdown -h now
  13. -----------

  14. nano Vagrantfile ( пункты 12 и 13)
  15. Прокидываем директорию с хоста на гостевую систему с правами пользователя admin: config.vm.synced_folder "/home/rail/Projects", "/home/admin", owner: "admin", group: "admin"
  16. config.vm.network :private_network, ip: "192.168.33.10" (виртуалка будет доступна по адресу 192.168.33.10)
  17. vagrant up
  18. И вот тут то мы получаем ошибку: sudo: no tty present and no askpass program specified

    Но мы не отчаиваемся, все дело в том что sudo запросил пароль рута у vagrant а т.к. терминал не создан то выкинуло ошибку. Виртуальная машина стартанула, но всякие полезности в виде подмонтирования директорий пошли лесом т.к. конфиг застопорился на ошибке.

    Сейчас мы это дело поправим.

  19. vagrant ssh
  20. -----------

  21. su затем: nano /etc/sudoers и там после строчки root ALL=(ALL) ALL добавляем vagrant ALL=(ALL) NOPASSWD:ALL этим делом мы разрешили юзеру vagrant использовать sudo без пароля
  22. shutdown -h now
  23. ----------

  24. vagrant up
  25. profit!

Теперь мы видим что все запустилось и смонтировалось именно так как надо. По адресу https://192.168.33.10:8083 крутится VestaCP, а домашняя директория пользователя admin теперь синхронизируется с /home/rail/Projects.

Вот как то так. Простите за сумбурный текст поста, если есть какие то вопросы пишите в комментариях, постараюсь ответить )

twitter.com facebook.com vkontakte.ru odnoklassniki.ru livejournal.ru yandex.ru
Теги: , , ,
Эта запись опубликована: Суббота, 17 августа 2013 в рубрике Web-разработка.

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