Interested in serving up web content from your desktop, without having to have an dedicated IP address or passing traffic through a router brings up some pretty cool possibilities? Here's a way to do that.
It's not everyone's cup of tea, but the idea of serving up web content from your desktop, without having to have an dedicated IP address or passing traffic through a router brings up some pretty cool possibilities. Such as, you ask? What if you work in a small company where you want each of your departments to have its own site or blog, but you can't afford to host multiple sites or you don't have the skill necessary to host virtual sites? Or what if you just want to make a quick blog available from your desktop, without having to worry about routing IP addresses or signing up for more costly static IP's through your host?
Where there is a will, there is a way. One of those ways is with the new service PageKite. With this tool you can run web servers on machines without a direct connection to the Internet, such as mobile devices or computers behind restrictive firewalls. You do have to sign up for an account (which is free), at which point you name your site (such as jack.pagekite.me), and download the necessary software. But how complicated is this to set up? Let's take a look and see if this is just what the DIY IT Guy ordered.
- Since PageKite does not yet have a built-in server, you will need a working web server on the machine that is to host the site. This web server can be of any type, so long as it serves up content.
- You will need Python >= 2.2 installed on the machine to host the PageKite page.
- You will need the pagekite.py package, downloaded from the PageKite download page.
- As I mentioned earlier, you need an account on PageKite. When you sign up for this account it will ask you what you want your page to be named. That name will be the url you use to access your site.
That's it. Once you have all of that, you are ready to go.
I am going to demonstrate how to set up PageKite on a Ubuntu 10.10 desktop machine (PageKite can be installed on Linux, Windows, or Mac.) This machine already had Apache installed and running so there was no need to install the web server. With this out of the way, and your account on PageKite created, download the pagekite.py file and do the following:
- Open a terminal window.
- Change to the directory pagekite.py was saved to.
- Issue the command sudo mv pagekite.py /usr/local/bin.
- Issue the command sudo chmod 0775 /usr/local/bin/pagekite.py.
- From your account page you will also find a settings file specific to the OS you are using. Download that file.
- Create the directory /etc/pagekite with the command sudo mkdir /etc/pagekite and move the pagekite.rc file into the newly created directory.
That is all you need for the "installation" of PageKite. Now, it's time to run the service.
From that same terminal window you will issue the command:
pagekite.py --defaults -backend=http:YOURNAME:localhost:80:SECRET
Where YOURNAME is the name you used for your PageKite URL (during sign up) and SECRET is the shared secret key you will find on your account page.
Once the service is started, point your browser to the URL you created at setup and you should be able to see the web page your web server (on your desktop) is serving up. How you serve up your web page is completely up to you. You could use any given tool (such as WordPress, Drupal, etc) or you could hand-code your web site. Naturally, if you journey outside your document root you are looking at a much more complex setup. For more information on running PageKit as a backend/frontend server check out the This Documentation Page. Either way, PageKite is ready to serve up your newly created web site without having to route internal addresses, purchase a static IP address, or deal with a hosting provider.
If you are looking for more complex ways to run PageKite, issue the command pagekite.py - -help (that's two dashes) and you will be presented with a comprehensive listing of all the available options as well as examples for how to run PageKite with frontends and more.
Understand that PageKite is very new, so even the documentation leaves a bit to be desired. But in the short time I have been making use of this service, I have noticed significant strides forward to making the PageKite experience as user-friendly as possible. I have started using PageKite for machines on internal networks that I want to be able to serve up to the public, an invited audience, or for small mom and pop shops looking for a quick way to allow a few employees to use an internal web-based tool (without breaking the bank). Give this tool and try and see how you can use it within your small business.