Skip to main content

Ubuntu 11.04 Standard Install and Basic post install configuration

Install Ubuntu 11.04
Simply use the CD, DVD or USB to install vanilla Ubuntu Linux install.

Setup Static Network Interface configuration
Uninstall Network Manager so that your network does not rely on your desktop login.
sudo apt-get remove --purge network-manager*
cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
#auto wlan2
#iface wlan2 inet static
#wpa-ssid SSID

Setup DNS or Nameservers for dns resolution
Network Manager automatically tries to populate nameservers upon initial configuration so if you uninstalled network manager dns entries may still exist in config file. Modify /etc/resolv.conf to update your nameservers that I usualy use Google's open DNS nameservers.
vi /etc/resolv.conf
nameserver x.x.x.x

sudo /etc/init.d/networking restart

Install and Configure SSH Server
sudo apt-get install openssh-server
sudo sudo vi /etc/ssh/sshd_config
Modify Port to listen on a port different than usual port 22.
Port 2222
Restart SSH Server
sudo /etc/init.d/ssh restart
Test SSH connectivity on required port
ssh localhost -p 2222

Update your repositories and Upgrade packages to latest versions
sudo apt-get update && sudo apt-get upgrade -y

Install and configure VNC Server for remote X Windows connectivity
sudo apt-get install vnc4server fluxbox
vncserver :1
Enter password for VNC session
vi ~/.vnc/xstartup
Modify default Window manager to fluxbox for better performance
fluxbox &
#x-window-manager &
Now restart vncserver
vncserver -kill :1 && vncserver :1

Connect from your Linux or Windows remote desktop
vncviewer x.x.x.x:1

Install and configure Uncomplicated Firewall
sudo apt-get install ufw gufw
sudo ufw enable
sudo ufw logging medium
sudo ufw allow 80/tcp
sudo ufw allow 53   
sudo ufw allow 8080
sudo ufw allow from
sudo ufw allow from
sudo ufw allow 2222/tcp
sudo ufw allow 10000:11000/udp

Uncomment following line from /etc/rsyslog.d/20-ufw.conf to enable logging
# & ~

View firewall status and rules
sudo ufw status numbered
Status: active

    To                         Action      From
    --                         ------      ----
[ 1] 80/tcp                     ALLOW IN    Anywhere
[ 2] 53                         ALLOW IN    Anywhere
[ 3] 8080                       ALLOW IN    Anywhere
[ 4] Anywhere                   ALLOW IN
[ 5] 2222/tcp                   ALLOW IN    Anywhere
[ 6] 10000:11000/udp            ALLOW IN    Anywhere
[ 7] Anywhere                   ALLOW IN

Configure noip (dyndns) with account
sudo apt-get install noip2
Enter username
Enter password
Enter Interval - select default 30 minutes
List of hosts or groups - leave it blank unless you have multiple hosts
Network Device Name - again can be left blank for single hosts
Disable NAT - No unless you have machine with real public IP address on the internet. 

Check no-ip update status 
$ sudo noip2 -S
1 noip2 process active.

Process 26486, started as noip2, (version 2.1.9)
Using configuration from /var/lib/noip2/noip2.conf
Last IP Address set
Account yournoiporgusername
configured for:
Updating every 30 minutes via /dev/eth1 with NAT enabled.

Configure Network Time Protocol (NTP) and Timezone details
Configure Timezone
sudo dpkg-reconfigure tzdata
Select Area such as Europe
Selct Timezone such as London

Install NTP Date package and configure ntp
sudo apt-get install ntpdate ntp
sudo ntpdate
sudo vi /etc/ntp.conf
add more servers such as

Restart NTP service
sudo /etc/init.d/ntp restart

Configure a Daily cron job to update system, index filesystem and reboot
sudo touch /etc/cron.daily/mydailycron
sudo chmod 755 /etc/cron.daily/mydailycron
sudo vi /etc/cron.daily/mydailycron
echo "`date` - Daily cron - Updating file indexes using updatedb." >> /var/log/mycron.log
/usr/bin/updatedb & >> /var/log/mycron.log
echo "`date` - Daily cron - Updating repositories using apt-get update." >> /var/log/mycron.log
/usr/bin/apt-get update >> /var/log/mycron.log 
echo "`date` - Daily cron - Upgrading packages using apt-get upgrade." >> /var/log/mycron.log
/usr/bin/apt-get upgrade >> /var/log/mycron.log
echo "`date` - Daily cron - Rebooting server using shutdown now -r" >> /var/log/mycron.log
/sbin/shutdown now -r >> /var/log/mycron.log

Other useful pacakges that I usually install and may need
sudo apt-get install vncviewer fwanalog php5-cli curl libcurl3 libcurl3-dev php5-curl flashplugin-installer wine msttcorefonts

sudo apt-get install sun-java6-jre
sudo apt-get install asterisk

Popular posts from this blog

TrueCrypt on macOS X Mojave 10.14

If you have updated your macOS recently to Mojave otherwise known as verison 10.14 you may not be able to install the last version of Truecrypt in order to access your old volumes encrypted with Truecrypt software. This article will guide you to get this working on your MacOS v10.14 (Mjoave) . Download the package from  or . Find downloaded package using Finder in your HDD/Users/username/Downloads folder and will look like  TrueCrypt 7.1a Mac OS X.dmg . Open file location in Finder and open or double click on  TrueCrypt 7.1a Mac OS X.dmg . This will mount Truecrypt 7.1a and will have Truecrypt 7.1a.mpkg in it. Drag the package T rueCrypt 7.1a.mpkg and drop in your Downloads folder. From Locations in Finder you can eject your TrueCrypt mount. Now go to your Downloads location, find the file  TrueCrypt 7.1a.mpkg , right click and select Show Package Contents . Find the file Contents/distribution.di

Running VNC Server as a Service on Ubuntu

Method 1: VNC Server as a Service on Ubuntu desktop similar to Redhat sysconfig sudo apt-get install vncserver sudo mkdir -p /etc/sysconfig sudo touch /etc/sysconfig/vncservers sudo vi /etc/sysconfig/vncservers # Add following VNC Server instances where username and arguments are defined for each session. VNCSERVERS=" 1:user1 2:user2 3:user3 " VNCSERVERARGS[1]=" -geometry 1280x992 -depth 16 " VNCSERVERARGS[2]=" -geometry 800x600 -depth 8 " VNCSERVERARGS[3]=" -geometry 980x720 " sudo vi /etc/init.d/vncserver # Add below to the service script #!/bin/bash # # chkconfig: - 91 35 # description: Starts and stops vncserver. \ # used to provide remote X administration services. # Source function library. # . /etc/init.d/functions # Source networking configuration. # . /etc/sysconfig/network # Check that networking is up. # [ ${NETWORKING} = "no" ] && exit 0 unset VNCSERVERARGS VNC

Tools you need before you start using Terraform for orchestration infrastructure in cloud

Terraform one of the famous open source tool used for planning, deploying and maintaining infrastructure as a code and the beauty of this tool is that it works across various cloud service providers. Even though I personally like the AWS Cloudformation, it is AWS only and most probably it will always remain limited to Amazon Web Services. It has few advantages over other tools when using with AWS and will be the first to have new AWS features incorporated before other tools and APIs catch up. However if you are not limiting yourself to AWS only or have hybrid environment you may want to use a 3rd party tool compatible for all cloud infrastructures. Terraform being one of them is youngest client only tool and this article will help you setting up your desktop environment and give you understanding of how it works before you can start to code. Prerequisites: Computer running Windows, Linux, Solaris or MacOS operating system. Downloads: Download Terraform directly from the crea