2011-12-24

compile libvirt php

這是用 KVM 那麼久以來的第一篇 KVM 文章

不過這次要分享的是把 libvirt php 編譯起來,並透過 libvirt 去 管理 HOST Server
這篇的範例是使用 CentOS 6.2 去 work (建議使用 64bit 版本)

首先安裝下載
CentOS 64 mini (x86-64) (安裝可以請壯兔解說..
完成 install 完成後 mini 預設網卡 boot 不會 on 安裝完 network 是 off
所以你必須要編輯 /etc/sysconfig/network-scripts/ifcfg-eth0
修改並增加一行設定


BOOTPROTO=dhcp (增加) 需依照您的 network setting
ONBOOT=yes (開機就啟動)








安裝編譯所需要的套件 # yum install wget make gcc make gcc libvirt-devel libxml2-devel php-devel man vim
然後就到 libvirt 官方下載 libvirt for php

# wget http://libvirt.org/sources/php/libvirt-php-0.4.5.tar.gz

解壓縮
# tar zxvf libvirt-php-0.4.5.tar.gz
切換到解壓縮的資料夾
# cd libvirt-php-0.4.5
接下來就是快樂的 gcc time



以下是 ./configure






































# make && make install















列出 php model 資訊
# php -m



























PHP Code :

<?php
$uri
='qemu+ssh://kvm03.2be.com.tw/system';
 echo (
"Connecting to libvirt (URI:$uri)\n");
 
$conn=libvirt_connect($uri);
 if (
$conn==false)
 {
     echo (
"Libvirt last error: ".libvirt_get_last_error()."\n");
     exit;
 } else {
     
$hostname libvirt_connect_get_hostname($conn);
     echo(
"hostname:$hostname\n");

     
$domains libvirt_list_domains($conn);
     foreach(
$domains as $guest){
        echo(
$guest)."\n";
     }
 }



執行結果:










參考的 API 網址:
http://libvirt.org/php/api-reference.html#libvirt_domain_get_uuid_string

不過測試完發現  libvirt_list_active_domains 有錯誤.. (32bit only)


這樣來監控或寫成網頁管理介面就很方便了
寫完這篇發現!bloggger編輯器排版真糟糕..

0 回覆:

張貼意見

Tags

Linux (92) Security (33) Live (23) PHP (20) MySQL (15) Google (14) Apache (11) nginx (8) Shit™ Happens (7) Flash (5) Flex (5) SEO (5) Git (4) Hacks (4) Mac (4) 懶人包 (4) Java (3) Tomcat (3) Benchmark (2) CSS (2) How-To (2) NetBeans (2) Windows (2) Zend Framework (2) 讀書心得 (2) 18+ (1) AIR (1) Browser (1) Clouds (1) English (1) FMS (1) Facebook (1) KVM (1) MIND HACKS (1) MongoDB (1) NFS (1) NoSQL (1) NodeJS (1) PuTTY (1) Revolution 2.0 (1) SpongeBob (1) Svn (1) jQuery (1)