Со страницы 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?

Спасибо

1 ответ1

0

Первый путь

Код 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .