VirtualBox (Oracle VM VirtualBox) — программный продукт виртуализации для операционных систем Microsoft Windows,Linux, FreeBSD, Mac OS X, Solaris/OpenSolaris, ReactOS, DOS и других. C помощью него можно управлять сервером в любой точке земного шара.
Первое, что необходимо сделать это установить virtualbox-ose. Это можно сделать двумя способами
1. Из портов, но это долгая и нудная установка.
2. Быстрый, который я сейчас и использую с помощью pkg.
Ставим
pkg install virtualbox-ose-4.3.32
nano /etc/rc.conf vboxnet_enable="YES"
Прописываем vboxdrv kernel
nano /boot/loader.conf vboxdrv_load="YES"
Далее ставим дополнительно additions-4.3.32
pkg install virtualbox-ose-additions-4.3.32
Затем nano /etc/rc.conf vboxguest_enable="YES" vboxservice_enable="YES" vboxwebsrv_enable="YES" vboxwebsrv_user="vboxadmin"
Вводим команду
kldload vboxdrv
/sbin/ldconfig -m /usr/local/lib/virtualbox
Создаем пользователя virtualbox (c домашним каталог по умолчанию куда будут ставиться виртуальные ОС /home/vboxadmin, можно изменить при желании)
adduser vboxadmin
Добавляем пользователя vboxadmin в группу vboxusers
pw groupmod vboxusers -m vboxadmin
Устанавливаем Веб сервер для работы (без него никак))))) Для php столько расширений не нужно, достаточно только php56-5.6.14, Необходимые расширения поставит сама программа phpvirtualbox но для себя я решил поставить. Пригодиться))).
-
pkg install apache24-2.4.16_1
Редактируем apache
Добавим apache24
nano /etc/rc.conf apache24_enable="YES"
Отредактируем httpd.conf
nano /usr/local/etc/apache24/httpd.conf
Добавляем строки
ServerName examle.com (У каждого свой домен - это просто пример!)
Чтобы прописать домен нужно отредактировать файлик hosts
nano /etc/hosts
и прописать, для примера
192.168.1.32 examle.com
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
Найти и добавить index.php
DirectoryIndex index.php index.html index.shtml index.htm
- pkg install mod_php56
- pkg install php56-dom php56 php56-bcmath php56-calendar php56-exif php56-extensions php56-fileinfo php56-filter php56-ftp php56-gd php56-gettext php56-gmp php56-hash php56-iconv php56-imap php56-json php56-mbstring php56-mcrypt php56-mysql php56-mysqli php56-openssl php56-pdo php56-pdo_mysql php56-phar php56-posix php56-session php56-shmop php56-simplexml php56-snmp php56-soap php56-sockets php56-xml php56-xmlreader php56-xmlwriter php56-zip php56-zlib
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Отредактируем php.ini
nano /usr/local/etc/php.ini
Находим строчку timezone, мы ее раскомментируем и пропишем в ней Часовой пояс (У меня Москва)
Свой часовой пояс можно посмотреть по адресу http://php.net/manual/ru/timezones.php
date.timezone = Europe/Moscow
Теперь проверим наш php. В директории нашего Веб сервера (по умолчанию /usr/local/www/apache24/data) создаем файлик index.php, в который прописываем
<?php phpinfo(); ?>
В браузере набираем наш IP адрес и видим информацию о php. Пример можно посмотреть здесь (в конце файла) http://tehalex.ru/index.php?option=com_content&view=article&id=81:php55-ustanovka-i-nastrojka&catid=86&Itemid=630
Установим Веб панель для VirtualBox
pkg install phpvirtualbox
Редактируем конфигурационный файл
nano /usr/local/www/phpvirtualbox/config.php
/* Username / Password for system user that runs VirtualBox */ var $username = ‘vboxadmin’; var $password = ‘тут пароль пользователя vboxadmin’;
Добавить в конец файла httpd.conf
<VirtualHost *:80> ServerAdmin admin@phpvirtual.loc DocumentRoot "/usr/local/www/phpvirtualbox/" ServerName phpvirtual.loc <Directory "/usr/local/www/phpvirtualbox/"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
Перезапускаем сервер
И все что нам осталось, это войти в консоль управления phpvirtualbox. Набираем в браузере адрес phpvirtual.loc и видим
Логин и Пароль по умолчанию admin:admin. В дальнейшем их можно поменять самому.
Дальнейшая настройка
Управление виртуальными машинами
Виртуальными машинами Можно управлять двумя способами, оба способа работают в глобальной сети.
- Через браузер, с помощью консоли
- Не работает в браузере Google Chrome (о чем он сам предупреждает!)
- Зато можно запускать в Mozilla, Яндекс.Браузере, IE и.т.д
- После того как выбрали консоль появляется окно VNC Authentication, ничего не вводим просто нажимаем ОК. Там стоит пустой пароль. Установим его.
- Заходим Настроить — Настроить — Дисплей — Удаленный дисплей ставим порт например 9000, а поле VNC Password:вводим свой пароль — ОК
- Перезапускаем виртуальную машину — появляется окно VNC Authentication — вводим наш пароль, который Вы ввели ранее — Все теперь можем управлять виртуалками Через браузер.
2. Через любой VNC клиент
- Скачиваем любой VNC клиент например vncviewer Пишем наш IP:порт 192.168.1.32:9000
- Вводим пароль Пример qwerty, который мы ввели ранее — Наслаждаемся результатом
Описание типичных ошибок и методы их решения.
1. Чтобы исключить такую ошибку после ввода логина и пароля нужно
Could not connect to host (http://127.0.0.1:18083/)
Создать файлик virtualbox
nano /etc/defaults/virtualbox - содержимое файла
VBOXWEB_USER=vboxadmin VBOXWEB_HOST=192.168.1.32 пример VBOXWEB_PORT=18083
И перезапускаем сервер
2.Следующая ошибка VirtualBox error: rc=0x80004005 SoapFault Object
Решение
- Прописать команду — VBoxManage setproperty machinefolder/home/vboxadmin/
- Почти 100% нет объема оперативной памяти для других ОС (увеличить оперативную память для компьютера)
Проблемы со входом в консоль(Java должна быть установлена)
1. Java: Application blocked by security settings
Решается просто
Заходим в настройки java
Пуск - Панель управления - Java - Security - Edit Site List - Add и вписываем наш IP адрес.Например 192.168.1.32 - OK - OK
2.permission java.net.SocketPermission
Решение
Переходим (в моем случае) куда установлена java.policy
C:\Program Files (x86)\Java\jre1.8.0_65\lib\security
Даем полные права на этот файл
открываем текстовым редактором, лучше Notepad++ и добавляем вот такую строчку
permission java.net.SocketPermission "192.168.1.32(IP адрес Вашего компа где установлен phpvirtualbox):9000", "connect,resolve";
Все настроено. Желаю Удачи!