Документация по ОС FreeBSD Понедельник, 20.05.2024, 09:07
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Установка и настройка

Виртуализация на FreeBSD с использованием VirtualBox + phpVirtualBox [2010]
Захотел настроить на своём сервере виртуализацию, для бесплатного VPS.
Имею FreeBSD и не имею иксов. Остановил свой выбор на VirtualBox + phpVirtualBox.

1. Начинаем установку. Переходим в каталог с VirtualBox:

# cd /usr/ports/emulators/virtualbox-ose

Внимание! В FreeBSD портирована только OSE версия, в которой нет поддержки RDP.

2. Устанавливаем:

# make && make install && make clean && rehash

Т.к на сервере нет иксов, выбираем следующие опции:

Options for virtualbox-ose 3.2.10_1

[X] DEBUG           Build with debugging symbols
[X] GUESTADDITIONS  Build with Guest Additions
[X] DBUS            Build with D-Bus and HAL support
[X] VDE             Build with VDE support
[X] VNC             Build with VNC support
[X] WEBSERVICE      Build Webservice

3. Перед первым запуском VirtualBox-а необходимо установить модуль ядра:

# kldload vboxdrv

4. Для того, чтобы модуль ядра загружался автоматически необходимо прописать его:

# vboxdrv_load="YES" >> /boot/loader.conf

5. Запускаем ldconfig:

# /sbin/ldconfig -m /usr/local/lib/virtualbox

Теперь нам нужно как-то управлять нашим VirtualBox-ом. Для этого выберем Веб интерфейс. phpVirtualBox.

6. Устанавливаем phpVirtualBox:

# cd /usr/ports/www/phpvirtualbox
# make && make install && make clean

Далее нам необходимо настроить файрвол, DNS сервер и WEB сервер. Данный пункт вам придется настроить самостоятельно в зависимости от ваших серверов. У меня используются ipfw, BIND и Apache. Apache настраиваем на директорию /usr/local/www/phpvirtualbox, именно суда по умолчанию устанавливается phpvirtualbox.

7. Перезагружаем ipfw, Apache и BIND для применения изменений.

8. Переходим на страницу http://phpvirtualbox.mydomain.name

Не запускается. Т.к. у меня PHP установлено без поддержки SOAP.

9. Удаляем PHP:

# cd /usr/ports/lang/php5
# make deinstall

10. Ставим PHP с поддержкой SOAP:

# cd /usr/ports/net/php5-soap
# make && make install && make clean

После данных действий у меня возникли некоторые конфликты, пришлось удалить несколько ранее установленных портов. После чего у меня и у тех кто у меня хостился возникли проблемы с отображением вебсайтов. Пришлось установить следующие порты:

 - php5-json
 - php5-mysql
 - php5-session
 - php5-sockets
 - php5-xml
 - php5-xmlrpc       
        
И подконфигурировать php.ini. У вас может список будет другим, а может и вообще не возникнет проблем.

11. После этого создаём пользователя для работы phpvirtualbox:

# adduser phpvbuser

12. Для работы phpvirtualbox наш пользователь должен входить в группу vboxuser, создаём группу:

# pw groupadd vboxusers

13. Добавляем пользователя в группу:

# pw groupmod vboxusers -m phpvbuser

14. Правим конфиг любым удобным редактором:

# vi /usr/local/www/phpvirtualbox/config.php

в нём нас интересует 2 строки:

var $username = 'phpvbuser';
var $password = 'пароль';

15. Назначаем в собственность phpvbuser каталог с phpvirtualbox:

# chown -R phpvbuser:vboxusers /usr/local/lib/virtualbox

16. Создаём скрипт для автозапуска phpvirtualbox после перезагрузки:

# touch /usr/local/etc/rc.d/phpvirtualbox.sh

17. И правим любым удобным редактором:

# vi /usr/local/etc/rc.d/phpvirtualbox.sh

Добавляем в него примерно следующее:

        #!/bin/sh

        echo -n 'phpVirtualBox daemon'

        case "$1" in
        start)
             su - phpvbuser -c "vboxwebsrv -t 0 -F /dev/null"
        ;;
        stop)
             killall vboxwebsrv
             killall VBoxSVC
             killall VBoxXPCOMI
        ;;
        *)
            echo "Usage: `basename $0` {start|stop}" >&2
            exit 64
        ;;
        esac
        exit 0         
         
18. После этого запускаем phpvirtualbox:

# su - phpvbuser -c vboxwebsrv -H localhost -p 18083 -t 0 -F /dev/null"

Дальше, всё как в GUI:

19. Переходим на страницу, что настроили в Apache:



20. Cоздаём новую машину:



21. Вводим название и выбираем устанавливаемую ОС:



22. Выбираем объём оперативной памяти:



23. Выбираем существующий диск или создаём новый:





24. Выбираем тип жесткого диска, фиксированный размер или динамически увеличивающийся до определённого размера:



25. Задаём размер нашего диска:



26. Просматриваем суммарную информацию по выбранной конфигурации:



27. В списке виртуальных компьютеров выбираем наш компьютер и запускаем его:



Т.к. нет поддержки RDP можно устанавливать заказанную систему на отдельном компьютере, настраивать удалённый доступ и подкладывать в новую виртуальную машину уже готовый жесткий диск, а дальнейшие действия пусть проводит клиент на своей виртуальной мишине.

Но если кто-нибудь напортачит с виртуальной машиной, например "правильно" настроив файрвол\подмонтировав диск, или что-то в этом роде, так, что нет возможности подключиться удалённо по SSH\Telnet или другим удобным способом, то придётся этой машине настраивать консоль. Но в phpVirtualBox данной вкладки нет, т.к. мы установили версию OSE. Но мы собрали с поддержкой VNC. Поэтому для таких случаев для клиентов можно запускать на день доступ к консоли компьютера.

28. Делаем к примеру такой скриптик:

# touch /usr/local/virtualboxvnc.sh

29. И правим любым удобным редактором:

# vi /usr/local/virtualboxvnc.sh

Добавляем в него примерно следующее:

        #!/bin/sh

        vpc="$1"
        port="$2"
        pass="$3"
        
        # Запускаем виртуальную машину под названием "vpc" (-s), с поддержкой
        # VNC (-n), на порту "port" (-m), c паролем для доступа к VNC "pass" (-o)

        su - phpvbuser -c "VBoxHeadless -s $vpc -n -m $port -o $pass"

        # Перезапускаем через сутки машину в обычном режиме (без VNC)

        echo su - phpvbuser -c \"VBoxManage controlvm $vpc reset\" | at now + 1 days

        exit 0

29. Запускаем скрипт с параметрами: имя виртуального компа, порт на котором будет слушать VNC, пароль для доступа к VNC:

# /usr/local/virtualboxvnc.sh Client1_OpenSolaris 5500 password

Не забываем открыть порт на файрволе для доступа с наружи к VNC серверу.

30. Сообщяем клиенту порт, пароль доступа и срок ребута машины. И он может подключаться любым клиентом VNC к заданному порту вешего сервера и работать консольно с виртуальной машиной:




Источник: http://www.opennet.ru/base/sys/virtualbox_freebsd.txt.html
Категория: Установка и настройка | Добавил: oleg (23.12.2010) | Автор: McSeem
Просмотров: 655 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024