Tag Archives: CMS

Setting up a Self-Hosted WordPress Site with Turnkey Linux WordPress

How to create a free self hosted WP Site without any knowledge of Linux, PHP or complicated Installation.

Setting up a home based WordPress Server without the hazzle

Turnkey Linux WordPress
Turnkey Linux WordPress running inside VirtualBox

of having to install it on Linux can be easier then you might expect. This article describes an absolute free solution with a no-hazzle and simple Installation.

In this article we will use a pre-installed Virtual Machine which can run on any PC or Laptop running from your home. We will download a so-called Virtual Appliance (turnkey linux wordpress) and run it from a free hypervizor.

In order to do this, you don’t need any technical knowledge whatsoever. Basic networking knowledge is nice to have but I will give you the information to get started immediately in this article.

What you need
  • A PC or Laptop. Faster is better but it’s not an absolute requirement. (You can always decide to upgrade your system later).
  • A fixed IP address. You probably already have this, unless you connect to the Internet using a Dial Up Modem (A modem which makes beeping and buzzing sounds when connecting to the Internet – Luckily these are from the nineties and are extinguished for the largest parts so you probably don’t need to worry about this. You need to make sure your provider has given you a router. This can either be the Cable modem itself or the ADSL router. It’s usually a small case with connections for Ethernet cables.
  • Your fixed IP address. You can find this by pointing your browser to http://whatsmyip.com/
  • A fast connection. Although not absolutely required, the faster is the better. 300 Mb connection will do just fine but you can start with a lower speed as well and upgrade when necessary.
  • A domain name.I recommend to use freenom.org. The only service who actually gives Domain Names away for free. You are limited to .tk, .ml, .ga, .cf and .gq. Ideal for testing purposes. For the usual domains (.com, .net, .org, .tv and .info) the prices are the lowest on the market. They start at 1 US $ per year. After the first year the price will go up to 15 $.
  • A hypervizor. This is a program which can run our Virtual Appliance. You can buy one like VMWare Desktop or Fusion or download a free (and Open Source) one like Oracle Virtual Box. Windows users may want to download the free VMWare Player, which performs slightly better than the VirtualBox.
  •  The turnkey linux wordpress Virtual Appliance. At present you can choose from two suppliers; Bitnami and Turnkey Linux. I tried them both and found the Turnkey Linux by far the best so in this tutorial we’ll continue with Turnkey Linux WordPress.
Why WordPress?

WordPress isn’t the only Content Management System (CMS) available. There are many more. WP is however the most widely used. Currently 31% of the web uses WordPress, from hobby blogs to the biggest news sites online. These include Disney, CNN as well as dozens of others. For a complete overview see the WordPress Showcase. These are big names of big companies! (Adobe, CNN, Disney, New York Times, TechCrunch and many more). So why would you do with less?

Networking basics you need to know

I already mentioned this before. Now we’re going to start, you should know the following about Networking and the Internet (if you know this already just read over it quickly or skip this):

  • LAN – This is your Local Network or the Network you have at your home. The devices inside your Network can be either PC’s, Laptops, Mobile devices (Phones or Tablets, smart watches, Smart TV’s) or any combination of these. Virtual Machines (like our WordPress Virtual Appliance) are also Local Machines). Your LAN uses special IP addresses for internal use. These are usually in the range 192.168.x.x or 10.0.x.x. These IP addresses are reserved on the Internet as ‘private addresses’
  • WAN – This is in our case the Internet.
  • NAT – Since more machines in your LAN share only one ‘real’ IP address (your fixed IP address, provided by your ISP, the network needs a mechanism to be able for your local Machines to receive network traffic from the Internet, a system should be in place which knows where the network traffic must be sent to when it’s required by one of your local machines.
  • Router – This is the small device your provider gave you. Basically it connects your LAN to the WAN. Your router has 2 IP address. One for your static Internet IP and one in your local IP range.
  • DHCP – Dynamic Host Configuration Protocol. This is part of your router. It keeps track of the IP-Addresses in your LAN and automatically configures the network settings of all your local machines. The DHCP server keeps a ‘pool’ of IP-Addresses for the network it’s responsible for.
  • DNS – Domain Name Server is a Database of Internet names and their IP adresses. Each domain  on the Internet has it’s own set of IP-Addresses and one DNS server which is responsible for keeping the hostnames for all hosts in the domain. DNS servers don’t know about the IP-addresses outside their domain but can quickly look them up from other DNS servers.  DNS-servers work in a hierarchy. Each DNS can have Master- and Slaves. They can replicate data between each other by Zone-transfers. At the top are the ROOT DNS servers, which are responsible for the top domains (.com, .net, .edu, etc.). Through replication between masters and slaves together with a smart caching system, the DNS system can find all IP addresses worldwide in a fraction of a second. DNS is a backbone of the modern Internet!

 

Installing VirtualBox

VirtualBox installation doesn’t differ from other Applications you ever installed on your Computer. It’s available for Windows, Mac and Linux. Make sure you download the right version for your Operating System, including the architecture (32- or 64 bits).

Configuring VirtualBox

Let’s start with some terminology so you can better understand what I’m talking about:

  • The software needed to run the Virtual Machine is called a hypervizor.We will be using VirtualBox which is a type 2 hyper vizor. ThIs type runs on an OS on the Desktop like any other program.
  • The ‘real’ Computer (bare metal) is called the host. The Virtual machine will be called guest.
  •  The guest has it’s own Hard Disk (where it’s OS and Software is stored on. On the host this appears as a file. We call it an image. There are also images of CD-ROM’s or DVD’s. These usually are .ISO (Windows and Linux) or DMG (Mac). Both can be mounted in the guest and show up as virtual devices.
  • The host can run multiple guests simultaneously. You can install any Operating System you want on your guest. Windows, MacOS, Linux, BSD, Android, or whatever you can think of. It’s even possible to install other VirtualBox’es inside a guest. The limit is only determined by the Host’s recourses (RAM, Disk-Storage and processor(s) power (Processors and Processing speed). Your installation media you can either use real CD-ROMs or DVD’s or ISO images. You configure this from within VirtualBox.

The guest’s network adapter is virtual as well and since we will create a real Internet Server it needs some special attention. Normally every device in your LAN gets it’s IP-Address automatically from the Router using a system called DHCP. Our WordPress Web Server is an exception. It needs a fixed IP address in the same region as all other machines in your LAN. You shouldn’t have to worry about that now. It will automatically be set during the setup of the WordPress Appliance. For VirtualBox it’s only important that you set the Networking to ‘Bridged’. If you select something else, this tutorial won’t work!

Installing the VirtualBox tools

This step isn’t really necessary but it makes the VirtualBox faster and more responsive, especially when you are running a GUI based OS (like Windows, Mac OS, Gnome or KDE for Linux. The Tools allow you to move your mouse pointer outside the VirtualBox window and quickly switch between guest  and host Applications.

To install the tools:

  • Mount the Installer Image.
  • Start the Installer as you’re used to (depending on the Guest OS).
Downloading and importing the turnkey linux wordpress Appliance

Download the latest WordPress version (currently 15) from the  Turnkey Linux Website. There are several formats to choose from. Use the OVF. It’s a standard for Virtual Machines. Since our WordPress Virtual Appliance is actually a Virtual Machine, the OVF is your right choice. The OVF is not directly usable as a Virtual HardDisk. It must first be imported into VirtualBox before it can be used.

If you use a VMWare product such as Desktop, Player or Fusion (for Mac) you can probably skip the step of importing by downloading the .vmdk version. This is the native format for VMWare hypervizors.

Starting and configuring the WordPress Virtual Appliance.

This part consists of the following steps:

  • First you need to configure DHCP for your LAN to make sure you have  one or more free IP addresses in your LAN which can be used as static IP addresses. Follow the steps under DHCP Configuration.
  • The setup wizard should come up when the Guest first boots up. If not, choose ‘Send CTRL-ALT-DELETE’ from the main Menu in VirtualBox.
  • The OS (Debian 8 Jessie) will boot and present with the wizard.
  • On the question if you want networking to be Static or Dynamic, select Static.
  • On the question to enter a static IP Address, enter the local static address you reserved for your WordPress server.
  • The next questions will ask you to enter usernames and passwords for the WordPress Administrator, the Server Administrator and the MySQL Administrator. In total you enter 3 usernames and 3 passwords.
  • Finally you need to forward your static IP address to the Internet. Follow the steps under ‘Forwarding your Virtual Appliance port to the Internet’.
DHCP Configuration

The DHCP Server for your LAN is built-in your router. To configure your router you must know it’s IP Address. This is usually the lowest in your range. If your range is 192.168.x.x than your router’s IP will be 192.168.0.1. If you can’t find it, read the manual or ask your ISP.

Here are the steps to configure DHCP on your router:

  • Open a browser and enter http://<router IP address>/ (In my case this was http://192.168.0.1/
  • Enter the username and password. If you don’t know these, consult the manual of your router or ask your ISP. (In my case it was Admin/Admin).
  • Note that you don’t have to worry about security since private address ranges are reserved and can only be used from inside your LAN.
  • After you logged in, locate the DHCP section. (This is often under Advanced or Advanced settings).
  • In the DHCP settings you will find something like the address pool or range Start and End Adresses. If the end-address ends with a number larger than the number of machines you actually have (including Phones. Tablets and (smart) TV’s or other smart devices), change the end-address to the actual number of devices and for safety add 25 extra to the end address.
  • Now all Adresses from the end to 254 are available to use as fixed IP addresses in your LAN.
  • Reboot your router. (Switch off the power for one minute and switch it on again).
  • Reboot all your machines.
  • You’re done.
Forwarding your Virtual Appliance port to the Internet
  • Login your router as described under DHCP Configuration.
  • Under advanced go to port forwarding.
  • Enter your static LAN address and port 80.
  • Reboot the router as described under DHCP Configuration.
  • Optimize your site for speed.
  • Your all done! Happy blogging and Site building!