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

Click Here To Read The Rest!

BYOC Series #1 – How to install Pydio on Ubuntu 14.04 – Your own private Dropbox clone

This is the first post in the “Build Your Own Cloud” series (BYOC) of guides. Each BYOC post will help you build the foundation of your own personal, private cloud. Today I’m setting my sights on Pydio. Pydio is an Open Source platform that mimics the functionality of Dropbox. There are a few Open Source Dropbox-clones out there, including OwnCloud, which I’ve written about in the past. Pydio is definitely more visually aesthetic than OwnCloud, and quite possibly even Dropbox. It’s also packed full of features. Some of Pydio’s key features include the following.

  • File Sharing – Web UI, Desktop Sync Client, & Mobile Apps
  • Web Access – Drag and drop files from your desktop, view & edit files online
  • Mobile Access – Native Android and iOS apps for phones and tablets
  • Flexible Backend Storage – Works with AWS, OpenStack, Samba, FTP, and even Dropbox
  • Directory Authentication – Will authenticate against LDAP, Active Directory, WordPress, Drupal, Google, and more
  • Very Secure – Supports Encryption as well as File & Folder ACLs
  • Compatible Platform – PHP-based & runs on LAMP or Windows IIS

It’s powerful enough to do everything Dropbox does, but you maintain control of your own data and personal information. You don’t have to pay a monthly fee to get large amounts of storage for you, or your company or even your family. Let’s get started.

Installing Pydio on Ubuntu 14.04

I’m installing Pydio on a virtual machine running Ubuntu 14.04, minimal server installation, with OpenSSH server running. First things first, let’s make sure everything is updated and upgraded.

#  sudo apt-get -y update
#  sudo apt-get -y upgrade

We need to add the debian package sources for Pydio to sources.list.

#  sudo nano /etc/apt/sources.list

Click Here To Read The Rest!

How to install GlusterFS + NFS on CentOS 7 for Virtual Machine Storage

GlusterFS is one of the fastest growing Open Source storage platforms in existence. It’s very simple to install, scale, and manage. What makes Gluster so amazing, is its ability to scale and replicate. It really sets the bar for software defined storage systems. It runs on whitebox hardware, or virtual machines. Lately, I’ve come across quite a few people that seem to be scared of Gluster and don’t know where to begin. I am here to help! Today, we’re going to install and configure GlusterFS on a CentOS 7 virtual machine; and, we’re going to make it NFS accessible for VM storage. Every hypervisor in existence supports NFS storage for virtual machines, including VMware ESXi / vSphere, Proxmox, Xen, KVM, oVirt, OpenStack, and all the others.

Installing GlusterFS Server and Client on CentOS 7 (two nodes)

I am using two virtual machines, each running CentOS 7. Their hostnames are gfs1 and gfs2. I have added a 40GB second disk to each VM that will be dedicated to GlusterFS. I suggest you have an identically sized second partition or drive on each of your systems as well.

As always, after connecting via SSH or console, go ahead and make sure everything is updated and upgraded on both nodes.

yum -y update

And, let’s go ahead and install a few useful packages (both nodes).

yum -y install nano net-tools wget

Edit the hosts file on both nodes. Make sure both nodes can resolve to each other via hostname.

nano /etc/hosts

Screen Shot 2015-06-03 at 1.44.35 PM

Now we can download and install Gluster (both nodes).

Click Here To Read The Rest!

How to setup oVirt 3.4 virtualization on CentOS 6.6

oVirt, in my opinion, is the biggest contender with VMware vSphere. oVirt has the weight and development resources of Red Hat behind it, which has undoubtedly slingshotted it ahead of the rest of the open source virtualization solutions out there. It has almost all of the “out of the box” features vSphere has, and it works extremely well.

There have been two major holdback concerning oVirt in the past. First, early on it only supported Fedora. This definitely scared many people away, myself included. That is no longer the case as it now supports Fedora, RHEL, and CentOS. The second major drawback is the complexity of installation. Overall the methodology is pretty simple. At a minimum, you need two machines. An oVirt Engine, which is the brains of the operation and powers the web interface, and you have the oVirt Node, which is the “hypervisor.” Although the overall methodology is simple enough, it can really be a pain to install and get working. But, that’s improving as well.

I wrote this guide to help you get your oVirt infrastructure built on CentOS 6.6 easily, and quickly. You will need two servers, at minimum. The good news is that one of them, the oVirt Engine, can be virtualized, running on your currently configured hypervisor of choice. As far as specs, you’ll want to try to be close to the following.

oVirt Engine Minimum Server Specs (can be virtual or physical machine)

  • CentOS 6.6 x64
  • 4 CPU Cores
  • 4GB Memory
  • 25 GB Hard Disk Space

oVirt Hypervisor Node (must be on physical machine)

  • oVirt Node 3.4 ISO installed as OS
  • 4 CPU Cores
  • 6GB Memory
  • 40GB Hard Disk (or iSCSI / NFS storage available)

This is enough to work with and get a good idea of what the oVirt platform is capable of. It’s also a solid foundation that can be grown and expanded on to form a production worthy infrastructure. So, lets get started.

How to build an oVirt infrastructure on CentOS 6.6

Click Here To Read The Rest!

How to move a WordPress site to a new server or host with no downtime

Yesterday, I finished building a new and improved WordPress server. This means I had to migrate the serenity-networks.com WordPress installation from the old server to the new. I wanted to do this with zero downtime, which is actually quite easy and straightforward if you have a plan in place. The process works something like this.

  • Export the database from the old server using phpmyadmin
  • Copy all WordPress files from the old server to the new server
  • Import the database on the new server using phpmyadmin
  • Add temporary hostname entry into your local hosts file

You might be asking yourself, why on earth would I add a hostname entry into the hosts file on my workstation? Well, this will allow you to pull your website from the new server without changing your public DNS settings. If you are only hosting one site on the new server, and not using virtual headers, you can skip this step if you like. So lets get it started.

Moving a WordPress site to a new server

The only real requirement, other than a server capable of running WordPress, is having phpmyadmin installed on both of your web servers. Most already do, but if you don’t, click here to learn how. We need this to export and import the WordPress database.

First, log into phpmyadmin on your old server so we can download the WordPress database. It should be pretty obvious which database is for your WordPress instance, but if you aren’t sure you can see the name of it by looking at the wp-config.php file, located in the root of your WordPress installation.

Select your database in the left column and then click the Export tab at the top of the right column. Leave the selection set as Quick, and click Go.

Click Here To Read The Rest!

How to build your own WPEngine copycat WordPress server on Ubuntu 14.04 with an Ansible Playbook

There is no denying that WPEngine offers the fastest WordPress hosting on planet earth. They’ve invested millions into building the fastest platform possible. That’s why they charge so much money for their services. Because they are worth it. Some of us can’t afford to pay $100-$1000/mo for WordPress hosting. The good news is that if you’re not afraid to get your hands dirty on a Linux command line, you can build your own server that will get you most of the way to a WPEngine class WordPress instance. There are a few key technologies that make this possible.

  • Percona DB (like MySQL)
  • HHVM – A super fast PHP VM
  • PHP-FPM – Just in case HHVM has a problem
  • NGINX
  • Varnish – Awesome reverse proxy cache
  • Memcached & APC

I think you’re probably starting to get the idea. These are the highest performers of the high performance technologies out there. We’re going to make them all work together to make your site blazing fast. It’s not all that hard and it doesn’t take very long.

All you need is a VPS or Virtual Machine running Ubuntu 14.04. Go ahead and SSH into it and we’ll get started.

How to build a WPEngine copycat server for FREE

The server you are working with MUST be able to resolve the hostnames of the sites you’re going to set up, to itself. So, if you are building this to replace a server that’s running and you don’t want to take that site down until everything is migrated, simply add hostname entries mapping the FQDN to the IP address in /etc/hosts.

First thing’s first, let’s make sure your Ubuntu 14.04 installation is updated and upgraded.

sudo apt-get update && sudo apt-get upgrade

Now we need to add the Ansible ppa.

sudo add-apt-repository ppa:ansible/ansible

Click Here To Read The Rest Of This Post!

Need to recover a FreeNAS server? How to import an existing FreeNAS iSCSI target that existed on a prior installation

Last night I noticed a new version of FreeNAS 9.3 was released. Just two days earlier I built this FreeNAS server, so I wanted everything to be up to date. When I tried to update FreeNAS via the web GUI, it errored out. As I came to find out, this was one of the bugs addressed in the update I was trying to install. It was a catch-22. So, I downloaded the installation disc, burnt it to CD, and booted the FreeNAS server from it. That errored out as well. I had no choice but to blow away the existing installation and do a fresh FreeNAS load. All of my shares and iSCSI targets were stored on a 4 disk RAID-Z array, and FreeNAS itself is installed on an 8GB USB Thumb drive. So, I expected my data to stay in tact.

When I booted the fresh installation for the first time, it automatically imported the zpool stored on the RAID array. I was able to re-create the SMB shares and point them to the /mnt folders those shares pointed to before, everything was going well. Until I got to work trying to bring my iSCSI target volumes back online. In Storage > Volumes, I could see all of the volumes that matched up with my previous ISCSI targets, but I couldn’t import them. I couldn’t figure out how to do anything with them. All of my virtual machines were stored on these volumes so I was desperate to find a solution. I did.

Have you lost your FreeNAS installation? Just recovered from a catastrophe? Recently reinstalled FreeNAS and need to get your iSCSI and other shares back? Going through a FreeNAS recovery? You’ve come to the right place.

How to import an iSCSI target volume from an old FreeNAS installation

First, let’s make sure the volumes that previously correlated to iSCSI targets are visible. Navigate to Storage > View Volumes. Here is what mine looks like.

Screen Shot 2015-05-27 at 3.08.37 PM

Click Here To Read The Rest Of This Post!