Skip to content

How to install KVM & the Kimchi graphical web interface on Ubuntu 15.04

KVM is an excellent virtualization engine, but it lacks an easy to use user interface. Kimchi changes that. Kimchi allows you to handle the basic management tasks, like creating, starting and stopping virtual machines, adding iSCSI targets, NFS shares, and so much more. The interface is beautiful and it’s pretty easy to set up. Today, I’ll show you how.

Note: Kimchi requires systemd, so Ubuntu 14.04 LTS will NOT work. You might be able to use 14.10, if systemd is installed. I am using Ubuntu 15.04 for this guide, which uses systemd by default.

How to install KVM on Ubuntu 15.04

First, let’s make sure everything is updated and upgraded. I’m working with a minimal installation of Ubuntu 15.04, with only OpenSSH server installed.

#  sudo apt-get update

#  sudo apt-get upgrade

Now, lets install KVM, and all the dependencies needed for Kimchi.

#  sudo apt-get install gcc make autoconf automake gettext git \
python-cherrypy3 python-cheetah python-libvirt libvirt-bin \
python-imaging python-pam python-m2crypto python-jsonschema \
qemu-kvm libtool python-psutil python-ethtool sosreport \
python-ipaddr python-ldap python-lxml nfs-common open-iscsi \
lvm2 xsltproc python-parted nginx firewalld python-guestfs \
libguestfs-tools python-requests websockify novnc spice-html5 \
wget unzip

At some point during the installation, a postfix configuration window will appear. Unless you have a reason to do otherwise, I suggest you select “Local only.”

Screen Shot 2015-06-04 at 11.55.09 AM


This will take a little while. If you are prompted to create the superadmin virtual appliance, go ahead and select Yes. KVM is installed now, along with all the dependencies we need for Kimchi. Let’s move on to installing Kimchi.

How to install Kimchi on Ubuntu 14

First, download the Kimchi package.

#  wget https://github.com/kimchi-project/kimchi/archive/master.zip

Now, unzip and cd.

#  unzip master.zip
#  cd kimchi-master/

Go ahead and build Kimchi.

#  ./autogen.sh --system

Now we’ll install.

#  make
#  sudo make install

We need to open up a few ports on the firewall to allow access to Kimchi. Ports TCP 8000, 8001, and 64667.

#  sudo firewall-cmd --add-port=8000/tcp --permanent 
#  sudo firewall-cmd --add-port=8001/tcp --permanent 
#  sudo firewall-cmd --add-port=64667/tcp --permanent 
#  sudo firewall-cmd --reload

At this point, I suggest you reboot. I have seen many weird problems come up at this point in deployment that a simple reboot resolves. After you reboot, go ahead and start the Kimchi service.

#  sudo systemctl start kimchid

Let’s also make sure Kimchi starts up at boot time.

#  sudo systemctl enable kimchid

Now you can open your browser and point it to https://{ipofkimchi}:8001 (make sure you enter https, not http). You can log in using any local user account.

Screen Shot 2015-06-04 at 12.27.16 PM

The Kimchi interface makes it much easier to work with KVM virtual machines, add NFS and iSCSI targets, and much more. Good luck! If you run into any problems, feel free to ask for help in the comments below. Thanks!