Невозможно запустить ВМ с php

913
Ankit

Со страницы php я пытаюсь запустить виртуальную машину, используя инструмент virsh на гипервизоре KVM, но я получаю эту ошибку.

error: Failed to connect socket to '@/var/www/.libvirt/libvirt-sock': Connection refused error: failed to connect to the hypervisor. 

Пожалуйста, предложите некоторую работу вокруг. Возможно ли это сделать, не предоставив пользователю www-данных права root?

Спасибо

0
Я нашел ответ. Вместо использования таких функций php, как exec () или shell_exec (), используйте libvirt-php API http://libvirt.org/php/api-reference.html. Ankit 8 лет назад 0

1 ответ на вопрос

0
Ankit

Первый путь

Код php

<?php $output=shell_exec("virsh -c qemu:///system start vmname 2>&1"); echo "<pre>$output</pre>"; ?>

Кроме того, запустить эту команду в терминале в Ubuntu 12.04, может сделать то же самое для других разновидностей.

sudo chown www-data /var/run/libvirt/libvirt-sock

Дополнительно вы можете использовать

sudo visudo www-data ALL = NOPASSWD: /usr/bin/virsh

Второй путь

Используйте libvirt-php APIдля запуска ВМ. Для запуска ВМ используйте libvirt_domain_createфункцию. Смотрите это для получения дополнительной информации http://libvirt.org/php/api-reference.html#libvirt_domain_create

Похожие вопросы