Run your own Ubuntu Enterprise Cloud, part 3

A continuation and final article on how to set up cloud computing on Ubuntu. This information is originally posted here.

In part 1 and part 2 of this series, we saw how to set up a minimal cloud infrastructure and bundle a basic image (and test it). In this final article, we’ll play with our cloud from an end-user perspective.

Setting up the web UI

First of all, before accepting end users, as the administrator of the cloud you will have to setup a few things on the web UI. Using your favorite browser, you should:

* Open https://cloudcontroller:8443/
* Log in using the default user/password: admin/admin
* Change the default password, setup the cloud admin email address
* Logout

Setting up the cloud client

We’ll use Ubuntu 9.10 beta for this purpose, as it includes all the needed packages, and it’s so great ! You will have to install the following packages:

      $ sudo apt-get install euca2ools unzip

Registering on UEC, getting credentials

As the end-user, fire up your favorite browser and:

      * Open https://cloudcontroller:8443/
      * Click “Apply” and enter your end user details

If you set up the email correctly on your cloud controller, it should send an email to the cloud admin address asking him to approve that request. Follow the instructions on that email to approve the account as the admin.

You should then get an email at the end user email address asking you to confirm the account request. Follow the instructions on that email, then you can log in on the web UI:

      * Open https://cloudcontroller:8443/
      * Login using your end user username and password
      * Click “Download Credentials” in the “Credentials” tab
      * Note the EMI reference you can use on the “Images” tab

Starting up an instance

You should unzip the credentials zipfile you just downloaded, then source the eucarc file and test the connection:

      $ unzip euca2-enduser-x509.zip
      $ . eucarc
      $ euca-describe-availability-zones verbose

Setup a SSH key and allow connection to the SSH port:

      $ euca-add-keypair enduserkey > enduserkey.priv
      $ chmod 0600 enduserkey.priv
      $ euca-authorize default -P tcp -p 22 -s 0.0.0.0/0

Then starting up an instance is just a matter of passing the right EMI and type:

      $ euca-run-instances -k enduserkey emi-XXXXXXXX -t c1.medium

Enjoy !

Run your own Ubuntu Enterprise Cloud, part 2

A continuation on how to set up cloud computing on Ubuntu. This information is originally posted here.

In part 1 of this series, we saw how to install the cloud infrastructure. In this article, we’ll bundle and upload an EMI (Eucalyptus Machine Image), based on Ubuntu Server 9.10 Beta, and validate that we can run an instance of it.

Download required elements

Go to the cloud/cluster controller and download the required items.

For a 64-bit image:

      $ URL=”http://uec-images.ubuntu.com/releases/karmic”
      $ wget -O image.gz $URL/beta/ubuntu-uec-karmic-amd64.img.gz
      $ wget -O vmlinuz $URL/beta/ubuntu-uec-karmic-amd64-vmlinuz-
        2.6.31-11-server
      $ wget -O initrd $URL/beta/ubuntu-uec-karmic-amd64-initrd.img-
        2.6.31-11-server

For a 32-bit image:

      $ URL=”http://uec-images.ubuntu.com/releases/karmic”
      $ wget -O image.gz $URL/beta/ubuntu-uec-karmic-i386.img.gz
      $ wget -O vmlinuz $URL/beta/ubuntu-uec-karmic-i386-vmlinuz-
        2.6.31-11-generic-pae
      $ wget -O initrd $URL/beta/ubuntu-uec-karmic-i386-initrd.img-
        2.6.31-11-generic-pae

Bundle the EMI

First you should unpack and resize your image to the desired size, lets say 4Gb. This can take a very long time (15 minutes !) on slow disks as you unpack 10Gb-worth of image space:

      $ zcat -f image.gz | cp –sparse=always /dev/stdin image
      $ e2fsck -f image
      $ resize2fs image 4G
      $ truncate –size=4G image

Then bundle and upload the kernel:

      $ . eucarc
      $ euca-bundle-image -i vmlinuz –kernel true
      $ euca-upload-bundle -b ueckernel -m /tmp/vmlinuz.manifest.xml
      $ euca-register ueckernel/vmlinuz.manifest.xml
      IMAGE eki-KKKKKKKK

Take note of the EKI reference, you’ll need it later. Then bundle, upload and register the ramdisk:

      $ euca-bundle-image -i initrd –ramdisk true
      $ euca-upload-bundle -b uecramdisk -m /tmp/initrd.manifest.xml
      $ euca-register uecramdisk/initrd.manifest.xml
      IMAGE eri-RRRRRRRR

Take note of the ERI reference. Finally, bundle the image with the kernel and ramdisk, upload and register:

      $ euca-bundle-image -i image –kernel eki-KKKKKKKK –ramdisk
        eri-RRRRRRRR
      $ euca-upload-bundle -b uecimage -m /tmp/image.manifest.xml
      $ euca-register uecimage/image.manifest.xml
      IMAGE emi-XXXXXXXX

Bundling will also take a lot of time ! Take note of your EMI reference.

Start an instance of your EMI

In order to access your instance using SSH, you’ll need to setup a few one-time things (create a SSH key and authorize access to port 22 of your instances):

      $ euca-add-keypair mykey > mykey.priv
      $ chmod 0600 mykey.priv
      $ euca-authorize default -P tcp -p 22 -s 0.0.0.0/0

Now it’s time to start your instance !

      $ euca-run-instances -k mykey emi-XXXXXXXX -t c1.medium

The “c1.medium” VM type is sufficient by default to run a 4Gb instance. You should take note of the i-YYYYYYYY reference that is displayed on your INSTANCE line. The first time you start an EMI, it can take some time (like 10 minutes) to move from “pending” state to “running”, depending on size. You can use the following command to automatically watch the output of euca-describe-instances, every 5 seconds:

      $ watch -n 5 euca-describe-instances

Take note of the first ZZZ.ZZZ.ZZZ.ZZZ IP address mentioned in the output of the command. When the instance is “running”, ctrl-C to exit watch, then:

      $ ssh -i mykey.priv ubuntu@ZZZ.ZZZ.ZZZ.ZZZ

You are in ! When you’re done playing with your instance, just run the following command on the cloud/cluster controller.

      $ euca-terminate-instances i-YYYYYYYY

In the third and last part of this series of articles, we’ll talk about how to run instances from another workstation, as a cloud “customer”.

10 Most Useful Google Plugins for WordPress

Original post is located here.

WordPress is a great and most popular blogging platform for it possibility to extend functions with plugins. WordPress Plugins make blogging easier for all of us who have chosen WordPress as our content management system. This time we want to present you 10 Most Useful Google Plugins for WordPress.

Google is best known as a search engine and Internet giant, but this time we will check what Google can offer for WordPress users. This post lists the most useful WordPress plugins related to Google starting from XML Sitemaps and ending with FeedBurner subscribers counter.

We also are using some of listed plugins like Google XML Sitemaps, Google Analyticator or FeedBurnerCount.

1. Google XML Sitemaps

This plugin will create a Google sitemaps compliant XML-Sitemap of your WordPress blog. It supports all of the WordPress generated pages as well as custom ones. Everytime you edit or create a post, your sitemap is updated and all major search engines that support the sitemap protocol, like ASK.com, Google, MSN Search and YAHOO, are notified about the update.

2. Google Analyticator

Google Analyticator easily adds Google Analytics tracking support to a WordPress-powered blog. Google Analyticator also comes with an easily customizable widget that can be used to display specific information that is gathered by Google Analytics using the Google Analytics API.

3. Google Analytics for WordPress

This plugin adds the possibility to tag and segment all outgoing links, so you can see whether a click came from a comment or an article. It also adds the possibility to track just the domain, instead of the complete link, so you get a better view of how much traffic you’re sending where.

4. Google Website Optimizer for WordPress

This simple plugin lets you optimize your landing pages (as posts or pages) using the Google Website Optimizer without needing to edit the HTML code of the theme.

5. Google Doc Embedder

Google Doc Embedder will allow you to embed a PDF, PowerPoint (PPT), or TIFF file directly into your page or post, not requiring the user to have Adobe Reader, PowerPoint, or other software installed to view the contents.

6. Easy AdSense

Easy AdSense provides a very easy way to generate revenue from your blog using Google AdSense. With its full set of features, Easy AdSense is perhaps the first plugin to give you a complete solution for everything AdSense-related.

7. XML Google Maps

This plugin allows you to easily insert Google Map or Google Earth Plugin Maps into your blog.

8. Google AJAX Translation

The Google AJAX Translation WordPress plugin provides a quick, simple, and light way to add translation to your blog. A “Translate” button can be added to the bottom or top of posts, pages, and/or comments.

9. Google Custom Search Plugin

The default search engine that ships with WordPress is not the best search engine and bloggers every where should make the switch to WordPress Google Custom Search plugin. This plugin is a drop in replacement and works with minimum hassle.

10. FeedBurnerCount

A well-optimized and reliable plugin that connects to the FeedBurner Awareness API to retrieve your readers count, that you can print out in plain text.

As for me, I have been using Google XML Sitemap and Google Analytics for WordPress. Might want to try the other plugins when I have the chance to do so. 🙂

Run your own Ubuntu Enterprise Cloud, part 1

This information is originally posted here.

Ubuntu Enterprise Cloud is the product, powered by Eucalyptus, that allows you to easily run your own Amazon-EC2-like private cloud. It’s a lot simpler than you’d think. With the recent Ubuntu Server 9.10 beta release, you are now able to easily deploy that infrastructure from the CD installer.

Prerequisites

To deploy a minimal cloud infrastructure, you’ll need at least two dedicated systems. One will hold the cloud controller (clc), the cluster controller (cc), walrus (the S3-like storage service) and the storage controller (sc). This one needs fast disks and a reasonably fast processor. The other system(s) are node controllers (nc) that will actually run the instances. These ones need CPUs with VT extensions, lots of CPU cores, lots of RAM, and fast disks. For both, 64-bit support is highly recommended.

Installing the cloud/cluster controller

Download the 9.10 Server beta ISO. When you boot, select “Ubuntu Enterprise Cloud install”. When asked whether you want a “Cluster” or a “Node” install, select “Cluster”. It will ask two other cloud-specific questions during the course of the install:

      1. Name of your cluster: pick any name you want 🙂
      2. List of IP addresses on the LAN that the cloud can allocate to instances:
         enter a list of space-separated unused IP addresses on your LAN.

When it reboots, run the following to get the latest eucalyptus package and reboot:

      $ sudo apt-get update
      $ sudo apt-get upgrade
      $ sudo reboot

Installing node controllers

The node controller install is even simpler. Just make sure that you are connected to the network on which the cloud/cluster controller is already running. Take the same ISO, select “Ubuntu Enterprise Cloud install”. It should detect the Cluster and preselect “Node” install for you. That’s all.

It is also recommended to update to the latest 9.10 status:

      $ sudo apt-get update
      $ sudo apt-get upgrade

Connect your node controllers to the cloud

After all nodes are installed, you need to return to the cloud/controller and run the following command to make it “discover” your newly-installed nodes.

      $ sudo euca_conf –no-rsync –discover-nodes

Confirm all the nodes it finds, and you are done. To check that your private cloud infrastructure is ready to serve, you need to retrieve admin credentials and run euca-describe-availability-zones command. Run the following on your cloud/cluster controller:

      $ sudo euca_conf –get-credentials mycreds.zip
      $ unzip mycreds.zip
      $ . eucarc
      $ euca-describe-availability-zones verbose

This last command returns a description of the capabilities of your cloud cluster, how many instances of each type you could run on it, for example:

AVAILABILITYZONE myowncloud   192.168.1.1
AVAILABILITYZONE |- vm types  free / max  cpu  ram disk
AVAILABILITYZONE |- m1.small  0004 / 0004  1   128    2
AVAILABILITYZONE |- c1.medium 0004 / 0004  1   256    5
AVAILABILITYZONE |- m1.large  0002 / 0002  2   512   10
AVAILABILITYZONE |- m1.xlarge 0002 / 0002  2  1024   20
AVAILABILITYZONE |- c1.xlarge 0001 / 0001  4  2048   20

In part 2 of this series, we’ll cover bundling your first EMI (Eucalyptus Machine Image), based on Ubuntu Server 9.10 Beta. We’ll test it by starting an instance of it. Stay tuned !

How to connect iPhone/iPod Touch (Using USB) in Karmic/Jaunty/Intrepid/Hardy

Here’s a link I found from Twitter about using iPod / iPhone with Ubuntu.

How to connect iPhone/iPod Touch (Using USB) in Karmic/Jaunty/Intrepid/Hardy.

If you want iphone/ipod touch in ubuntu easy way is using iFuse program.

iFuse allows you to mount an iPhone or iPod Touch under Linux using the USB cable. You can view and edit the files similar to a normal USB disk drive. iFuse does not require “jailbreaking” or voiding your warranty and works without needing extra software installed on the phone (such as `ssh`).

libiphone is a software library that talks the native Apple USB protocols that the iPhone uses. Unlike other projects, `libiphone` does not depends on using any existing `.dll` or `.so` libraries from Apple.

iFuse is a FUSE filesystem driver which uses `libiphone` to connect to devices without jailbreak. iFuse is using the native Apple “AFC” protocol, over the normal USB cable in order to access the iPhone’s (or iPod Touch’s) media files under Linux.

Once the iPhone is mounted, you can copy on, or copy off any media files that live inside the `/var/root/Media` chroot directory. This includes photographs and music files.

Install iFuse in Ubuntu

First you need to edit the /etc/apt/sources.list file

      sudo gedit /etc/apt/sources.list

Add the following lines

For karmic Users

      deb http://ppa.launchpad.net/jonabeck/ppa/ubuntu karmic main
      deb-src http://ppa.launchpad.net/jonabeck/ppa/ubuntu karmic main

For Jaunty Users

      deb http://ppa.launchpad.net/jonabeck/ppa/ubuntu jaunty main
      deb-src http://ppa.launchpad.net/jonabeck/ppa/ubuntu jaunty main

For Intrepid Users

      deb http://ppa.launchpad.net/jonabeck/ppa/ubuntu intrepid main
      deb-src http://ppa.launchpad.net/jonabeck/ppa/ubuntu intrepid main

For Hardy Users

      deb http://ppa.launchpad.net/jonabeck/ppa/ubuntu hardy main
      deb-src http://ppa.launchpad.net/jonabeck/ppa/ubuntu hardy main

Save and exit the file.

Now install gpg key using the following key

      sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com F0876AC9

Update source list using the following command

      sudo apt-get update

Install ifuse using the following command

      sudo apt-get install ifuse

Now you can plug in your ipod Touch or Iphone and it will appear in your desktop.

Linux Links # 3 – For Newbies

There are a lot of guides and pointers that can help newbies in familiarize themselves with Linux. Some of the books that I have posted earlier will certainly helps, and hopefully they have helped you in gearing yourself with the necessary tools to use and enjoy Linux. 🙂

Here I put two more special links for Linux newbies, which I believe to have a lot of information necessary in learning Linux further:

  • The Ultimate Linux Newbie Guide
  • This site has tons of information, such as the background of Linux, how to select a Linux distro, and many other pointers once you have installed and run Linux. I have been trying to achieve this site to capture some of the insights that this link provides, and hopefully we can get there. 🙂 In the mean time, you can look into the information that they already compiled and learn from it.

  • Linux Foundation – Video
  • This site has all the videos related to Linux, from the guides to install & setup Linux, to spoofs and ads about Linux. Some of the people in The Ultimarte Linux Newbie Guide also put their links in this site, so if you want to see the video how to install Ubuntu for example, you can watch it here.

Enjoy the links. 🙂

5 Excellent Downloadable eBooks To Teach Yourself Linux

Today I found this information about Linux books, that I think is worth sharing. The original link is here.

linux-penguinSo you have heard of all the advantages and geeky babble about how Linux is better and you have finally decided to try it? Just one thing, you don’t know an awful lot about Linux to get you started. How about some free downloadable ebooks to teach yourself Linux, that you can download today? Would that help?

Free – you ask? Yes, free. Welcome to the world of Linux where things are free both as in free speech and also as in free beer (mostly)!

If you are starting out on your journey towards Linux awesomeness, here are a few free downloadable ebooks to teach yourself Linux that should help you along nicely:

Newbie’s Getting Started Guide to Linux

(Download)

muolinuxMakeUseOf’s very own Newbie’s Guide to Linux, tells you how to choose a distribution and then teaches you how to perform a basic Linux install. You can then use the guide to familiarize yourself with the Linux desktop and some basic commands.

Stefan did a great job in keeping it simple and to the point, the way beginners want it. Also don’t forget to check out our other MakeUseOf Manuals.

Introduction to Linux – A Hands on Guide

(Download)

handsonTakes you from the absolute basics to basics. This hands on guide tells you everything right from logging in, basic file management, backup techniques up to basics of networking. It is what you need if you are having difficulty figuring out how to get to that resume file you saved just now. The guide explains Linux file structure and introduces to basic commands and text editors as well.

GNU/Linux Command line tools Summary

(Download)

toolsummaryOne important aspect of working in Linux is that you have to familiar with the command line. This book shows you how to use the command line in Linux to your advantage. Apart from the ins and outs of the shell, this book also introduces various commands and the situations where you would use them. There are chapters that deal with specific tasks and list various commands you can use to achieve the task. If you can study online, there is another excellent manual you can refer to.

Ubuntu Pocket Guide and Reference

(Download)

ubuntuprgUbuntu is one of the most popular distributions, new users look up to when trying out Linux. If it is Ubuntu specific information that you are after then you should definitely check out Ubuntu Pocket Guide and Reference. The guide takes you from installing and configuring Ubuntu to adding and managing software and securing your system. A must read book if you use Ubuntu.

Rute User’s Tutorial and Exposition

(Download)

ruteThis one is not for the faint hearted! There is enough Linux juice in this book to keep even the intermediate to advanced users interested. The book begins humbly by presenting the basic commands and tools, however before you know it, you are learning everything from regular expressions to shell scripting to C programming to networking.

There is plenty of great material out there if you are trying to learn Linux, similar to these downloadable ebooks to teach yourself everything you ever wanted to know about Linux. If you have read a book or a tutorial that you found particularly useful, feel free to tell us about it in the comments below.

10 Unknown but Useful Linux Terminal Commands

The original post was here.

Before, I have posted here a few basic Linux terminal commands that I think are essential for newbies to know. I’ve also shared some deadly ones that should be avoided at all costs. This time, I’m going to show you several terminal commands that are perhaps unfamiliar to many new-to-Linux users but could be really handy when used properly.

Here’s a list of 10 rather unknown yet useful Linux terminal commands:

1. Kill a running application by its name:
      killall [app_name]

2. Display disk space usage:
      df –h

3. Locate the installation directories of a program:
      whereis [app]

4. Mount an .iso file:
      mount /path/to/file.iso /mnt/cdrom –o loop

5. Record or capture a video of your desktop:
      ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg

6. Find out the Universally Unique Identifier (UUID) of your partitions:
      ls /dev/disk/by-uuid/ -alh

7. Show the top ten running processes (sorted by memory usage):
      ps aux | sort -nrk 4 | head

8. Make an audible alarm when an IP address goes online:
      ping -i 60 -a IP_address

9. Run the last command as root:
      sudo !!

10. Make a whole directory tree with one command:
      mkdir -p tmp/a/b/c

Note: There are some problems on doing number 9 above, so you may want to try it out and let me know.

Top 18 most downloaded WordPress plugins ever

I found this information from del.icio.us today, and I think it has pretty good information to be shared. The original post is located here.

[singlepic id=203 w=150 h=100 float=left]WordPress 2.8 is about to be released. WordPress is my favourite blogging platform and my blog runs on it. It has more than 13 million users in total and the self-hosted WordPres.org has been downloaded more than 5 million times.

Plugins are a big part of the WordPress community. Over the years I have used many of the WordPress plugins. WordPress plugins help you make a better blog and get more reader interaction. There are in total 4,245 plugins and these have been downloaded 22,152,788 times.

This post is a tribute to the top 18 most downloaded WordPress plugins ever (Akismet is not included as it comes with the default WordPress installation). Each of these 18 has been downloaded a minimum of 200,000 times.

  1. All in One SEO Pack – Automatically optimizes your WordPress blog for Search Engines (Search Engine Optimization) – Downloads 1,603,368
  2. Google XML Sitemaps – Create a Google sitemaps compliant XML-Sitemap of your WordPress blog – Downloads 954,459
  3. NextGEN Gallery – A full integrated Image Gallery plugin for WordPress with a Flash slideshow option – Downloads 715,819
  4. WordPress.com Stats – You can have simple, concise stats with no additional load on your server by plugging into WordPress.com’s stat system – Downloads 712,71
  5. WP Super Cache – A very fast caching engine for WordPress that produces static html files – Downloads 492,637
  6. Contact Form 7 – Just another contact form plugin. Simple but flexible – Downloads 393,916
  7. WordPress Automatic upgrade – Allows a user to automatically upgrade the WordPress installation to the latest one – Downloads 288,600
  8. Sociable – Automatically adds links to your favorite social bookmarking sites to your posts, pages and RSS feed – Downloads 284,117
  9. Viper’s Video Quicktags – Allows easy and XHTML valid posting of videos from various websites such as YouTube, DailyMotion, Vimeo, and more – Downloads 254,807
  10. Simple Tags – The successor of Simple Tagging Plugin and is THE perfect tool to perfectly manage your WP tags – Downloads 254,353
  11. WP-DB-Backup – On-demand backup of your WordPress database – Downloads 250,795
  12. Google Analytics for WordPress – Adds the necessary JavaScript code to enable Google Analytics – Downloads 239,837
  13. Google Analyticator – Same as the one above, enables Google Analytics tracking – Downloads 229,970
  14. Add to Any: Share/Bookmark/Email Button – Helps readers share, save, bookmark, and email your posts and pages using any service, such as Facebook, Twitter, Digg, Delicious and over 100 more – Downloads 226,056
  15. WP-Polls – Adds an AJAX poll system to your WordPress blog. You can also easily add a poll into your WordPress’s blog post / page – Downloads 222,196
  16. Sidebar Widgets – Adds “Sidebar Widgets” panel under Presentation menu – Downloads 221,024
  17. podPress – A dream plugin for podcasters using WordPress – Downloads 207,491
  18. WP-PageNavi – Adds a more advanced paging navigation your WordPress blog – Downloads 204,005

“Wordpress Automatic upgrade” and “Sidebar Widgets” are the classics which are no longer needed as they are a part of WordPress now.

From the top 18 plugins I currently only use Google XML Sitemaps, WP Super Cache and Contact Form 7 on my blog. All in one SEO Pack and Google Analytics are also very important but my Thesis theme has these functions built-in.

What do you think about the wisdom of the crowds in case of WordPress plugins? Are these the best plugins? Do you still use any of them?

Note: As for me, I use 9 of these plugins, including NextGEN Gallery, All-in-one SEO, WP-SuperCache and Sociable. In addition to the above list, I also use cforms II plugin for creating feedback forms.

Update (14 Jul 2010) : I have deactivated Sociable, and use three new plugins: Tweetmeme, WP Google-Buzz, and FaceBook Share. Those are pretty much the ones people are using to share links anyway these days. 🙂