Control Windows 10 Migration Push from Microsoft

Microsoft is pestering its Windows users by constantly displaying the “Migrate to Windows 10” icon in the taskbar.  It is even presenting the Windows 10 migration as an Optional “upgrade” in Windows Update module.  Attempts to opt-out/hide the “Optional upgrade” is not being registered by Windows and the “upgrade” still appears.

If you are one of those users who are annoyed by how hard Microsoft is trying to get you migrated from your current working OS version to Windows 10, you are not out of luck.

Install the GWX Control Panel tool from http://ultimateoutsider.com/downloads/ .  This tool allows to completely control the “Migrate to Windows 10 nag” from Microsoft and helps you regain your peace of mind.

GWX Control Panel

Control Windows 10 Migration Push from Microsoft

Working with GitHub on Ubuntu

Git Installation in Ubuntu | Cloning a Repository from GitHub

Follow instructions at this link to install Git on your Ubuntu machine and to create SSH key pairs and create SSH link with your GitHub account.  It also shows how a repository could be cloned onto a directory location in Ubuntu.  To work with branches in your git repository, refer to instructions at this link.

Install vim editor to work with files in the Git repository.

 

Working with GitHub on Ubuntu

WordPress on an Apache Server

Setting Up WordPress on an Apache Server on Ubuntu

Install the Ubuntu Operating System on your Computer’s Hard Disk physically or using a Virtualization Software.

Install the LAMP (Linux, Apache, MySQL and PHP) stack bundle by following instructions at this link.

Install WordPress Content Management System (CMS) in Ubuntu leveraging on the LAMP stack by following instructions at this link.  Before going into the “Configure Pretty Permalinks for WordPress” section in the link, the server need to be allocated a domain name or IP address which always points to the server.

A dynamic DNS service could be used to achieve the same.  One such provider is: https://www.noip.com .  You can create a free account with them and add about three hosts to a subdomain of your choosing to the domains they offer.

Make sure that the public IP address of the computer where your apache is installed is added to the host list. 

No-IP_HostName_to_DomainName_Config

Enable IP Address Reservation at the NAT Router for the machine on which the Apache Server is installed, so that it gets a reserved internal address after any reboot.

NAT_Router_Address_Reservation

Configure your NAT router so that requests that are received at port 80 (HTTP) / 443 (HTTPS) / 8245 (No-IP DUC Port) are forwarded to the internal IP address of the machine where the Apache server is installed.

NAT_Router_Port_Forwarding

Install the Linux Dynamic DNS Update Client (DUC) by following the instructions at this link.

To ensure that the No-IP DUC is running at startup and closing when the system is being shutdown, a script should be created and placed at /etc/init.d/

The contents of the script should be as shown below:

 

Please refer to instructions at this link.  It mentions further on how to test the above script, adding the correct permissions and invoking the script for multi user loads by adding the scirpt call to /etc/rc.local script file.

Continue with instructions at this link and complete instructions under the section “Configure Pretty Permalinks for WordPress”, after using the domain name acquired through No-IP as the ServerName.

In order to enable WordPress updates, without setting up FTP/SSH accounts in the server, add the below statement into /var/www/html/wp-config.php

You may refer to this link for detailed screenshots and instructions.

Making WordPress accessible from the Internet

Most ISPs block traffic to common ports (port 22, 23, 80,, etc) of the IP address allocated to their customers as a security measure against attacks.

If the HTTP port (80) is blocked by your ISP, then your WordPress site would not be reachable over the Internet, but only within your LAN (Internal network).

Internet_Access_Before_Redirection

In order to make the WordPress site available over the Internet, the NAT Router, WordPress and apache web server configurations should be modified to enable web communication over a non-standard port (example: 8080 instead of 80).

Change the NAT Router configuration to forward web requests over port 8080 to be redirected to the internal IP address of the server installation.

NAT_Router_Non-Standard_Port_Forwarding

At the WordPress site, go to Dashboard > Settings > General.  Change the WordPress Address (URL) and Site Address (URL) to point to your_site_address:8080.  

WordPress_Dashboard_URL_Configuration

Save the URL configuration change in the Settings page.

Within the Ubuntu OS, perform the below configurations with apache:

Configurations should be modified to be as shown below:

port_listen_conf

Change configurations to be as shown below:

virtualhost_port_conf

Restart apache server.

Now you should be able to reach the WordPress site by using the URL your_site_url:8080 (example: www.example.com:8080) !!!

Internet_Access_Port_Redirected

 

Enabling SSL through a Self-Signed Certificate for the WordPress Installation

Open the WordPress Dashboard -> Settings -> General.  Modify the WordPress Address (URL) and Site Address (URL) values to indicate https://your_site_address

WordPress_Dashboard_URL_Configuration_HTTPS

Check to ensure that .htaccess overrides are allowed for folder locations where the WordPress files are installed.  This is required to enable Permalinks to fuction.  The below code should be present in  your /etc/apache2/apache2.conf file.

Finally, follow instructions at this link to generate a self-signed SSL certificate, enable SSL apache modules and set SSL apache configurations.

Now, your entire site should be accessible over HTTPS !!!

Other References

Install Ubuntu 14.04 LTS in VMware Workstation: https://www.youtube.com/watch?v=w9gtQEPtnI8

http://www.ubuntu.com/download/desktop

https://mobiarch.wordpress.com/2014/05/16/creating-an-init-script-in-ubuntu-14-04/

http://www.noip.com/support/knowledgebase/what-port-does-the-dynamic-update-client-use/

http://codex.wordpress.org/Using_Permalinks

WordPress on an Apache Server

Network Configuration for Home Virtual Lab Setup

Virtualization Software

Virtualization Software which can be installed on top of your existing Operating System (OS) helps to create multiple Virtual OSes on top of the Host OS.  Each instance of the Virtual OS is called a Virtual Machine (VM).  VMs and the Host OS could be connected to each other and even to the Internet through different Networking Configurations.  The most popular Virtualization Software are VMWare and VirtualBox.  

Installing an Operating System as a Virtual Machine

Download an ISO image of the OS to be installed or pop in the Installation CD.  Follow the instructions for the Virtualization Software to create a VM with the new OS.  Install the OS from the ISO image or installation CD.

Network Configuration

Networking Configurations  are the most important part of correctly interconnecting different VMs with the Host OS and with other machines in the outside work (in the LAN or over the Internet).  In a VMWare Workstation context, go to Edit > Virtual Network Editor.  Administrator privileges may be required to carry out the edit.

Create three different Virtual Networks – (i) Connected to the Host OS only; (ii) Connected to the LAN/Internet by using NAT (Network Address Translation) using the Host OS's IP; (iii) Connected to the LAN/Internet by a separate IP acquired through the Network Adapter of the Host OS (Bridged Network).

Virtual_Networks_1

Once the Virtual Networks have been setup, new VMs could be added to the Virtual Networks according to their connectivity needs.  Right click on VM > Choose "Settings" > Click "Network Adapter" > Choose "Custom: Specific virtual network".

VM_Network_Settings_1

You can join all your VMs to your Host OS and other Computers in the Network.  This makes the setup of Virtual Lab for Home much easier!!!

 

References

http://lifehacker.com/5714966/five-best-virtual-machine-applications 

www.vmware.com/products/workstation

www.virtualbox.org/wiki/Downloads

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1007250 

Network Configuration for Home Virtual Lab Setup