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
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
#auto wlan2
#iface wlan2 inet static
#wpa-ssid SSID
#wpa-psk PASSPHRASEORKEY
#address 192.168.0.3
#netmask 255.255.255.0
#network 192.168.0.0
#broadcast 192.168.0.255
#gateway 192.168.0.1

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 8.8.8.8
nameserver 8.8.4.4
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 203.204.205.206
sudo ufw allow from 192.168.0.1/24
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    203.204.205.206
[ 5] 2222/tcp                   ALLOW IN    Anywhere
[ 6] 10000:11000/udp            ALLOW IN    Anywhere
[ 7] Anywhere                   ALLOW IN    192.168.0.0/24

Configure noip (dyndns) with no-ip.org account
sudo apt-get install noip2
Enter no-ip.org username
Enter no-ip.org 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 203.101.203.103
Account yournoiporgusername
configured for:
        host  yournoiporghostname.no-ip.org
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 ntp.ubuntu.com
sudo vi /etc/ntp.conf
add more servers such as
server 0.fr.pool.ntp.org
server 1.fr.pool.ntp.org
server 2.fr.pool.ntp.org
server 3.fr.pool.ntp.org


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
#!/bin/sh
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

Useful website performance and load testing tools

http://tsung.erlang-projects.org/ http://httpd.apache.org/docs/2.0/programs/ab.html http://phantomjs.org/ https://developers.google.com/speed/pagespeed/ http://servermonitoringhq.com/blog/how_to_quickly_stress_test_a_web_server https://code.google.com/p/httperf/ http://loadimpact.com/ http://www.paessler.com/webstress http://loaduiweb.org/ http://en.wikipedia.org/wiki/Web_server_benchmarking http://en.wikipedia.org/wiki/Load_testing http://www.loadui.org/ http://www.loadtestingtool.com/index.shtml http://www.appdynamics.com/blog/devops/load-testing-tools-explained-the-server-side/

Copy files and folders using SCP with spaces in path

Copying data from one system to other with file or folder names that contain spaces in path can be achieved using this guide. In this case I am copying data from Macbook to Windows 10 computer. In order to copy the data easily it is better to use bash commands. Windows computer can support WSL (Windows subsystem for Linux) and you can run one of few linux distributions to use shell commands. I have Ubuntu set up within my Windows 10 using WSL. If you do not have WSL, you can set it up using my guide here . The copy can be performed in two ways: 1) Using SCP Source (MacOs) path: /home/Users/username/Documents/data extract from 2020/ First of all you add escape sequence to the path so it will become:  /home/Users/me/Documents/data\ extract\ from\ 2020/ . While this works on local system for SCP you'll have to double the escape sequences by replacing \ with \\, as below. Figure out your source computer IP address using "ifconfig" command. Now using scp command on target syst

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  https://truecrypt.ch/downloads/  or  https://www.truecrypt71a.com/downloads/ . 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