Setup of ubuntu server or ubuntu desktop on VirtualBox

Setup of ubuntu server or ubuntu desktop on VirtualBox

This tutorial will guide you to install and configure things like ubuntu 14.04, virtualbox, putty, apache, php, mysql, tweaking apache and php. Also give a brief intro to server administration panel called webmin.
Download & Install VirtualBox and download Ubuntu 14.04.
Once you have downloaded VirtualBox and Ubuntu click “Insert Guest Additions CD Image” and install it. It will enable features like shared clipboard,
Open terminal in Ubuntu and check ifconfig for valid IP. If you don’t find it in a adaptor. open interface file and add adaptor.

sudo nano /etc/network/interfaces

Add lines in file

auto eth1
iface eth1 inet dhcp

If you are running ubuntu 16.04, add these lines

auto enp0s8
iface enp0s8 inet dhcp

Run the command in terminal to install ssh and aptitude. Remote access can only be possible via ssh.

apt-get update
apt-get upgrade
sudo apt-get install ssh openssh-server openssh-client aptitude

Download Putty to access ubuntu server shell via windows machine by entering IP in putty.
Install apache, php, mysql, pear library,

sudo apt-get install apache2 libapache2-mod-php5 php5 php5-cli php5-dev php5-curl php5-gd php5-mysql php-pear build-essential libapache2-mod-php5 mysql-server libssh2-1-dev libssh2-php php5-xcache;

For ubuntu 16.04

sudo apt-get install apache2
sudo apt-get install mysql-server mysql-client
sudo apt-get install curl
sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql php-gd
sudo apt-get install php-imagick
sudo apt-get update
sudo service apache2 restart

Install Mcrypt library for php7

sudo apt-get install php-mcrypt
sudo phpenmod mcrypt
sudo /etc/init.d/apache2 restart

Install Monitoring tools

sudo apt-get install htop saidar iotop nano htop

Install Webmin for server management

mkdir /opt/webmin; cd /opt/webmin;
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.670.tar.gz;
tar -zxpf webmin-1.670.tar.gz; cd webmin-1.670;
sudo ./setup.sh;

Login via IP or domain with port mentioned while installation of webmin. Eg: Once you are logged in.
Update webmin, if you get error of “Net::SSLeay” run these commands to install ssleay

sudo apt-get install libnet-ssleay-perl
sudo apt-get install libcrypt-ssleay-perl
sudo apt-get install libssl-dev

We will create a new user because in near future we would be disabling root user for ssh.

sudo adduser newuser

Or you can add a user with sudo privileges by this command and skip the below visudo step.

sudo adduser <username> sudo

Give the user admin privileges and disable root user for ssh. Type command in terminal.


Add the line for the user you want to give admin privileges.

newuser ALL=(ALL:ALL) ALL

Go to webmin admin panel -> Server -> SSH Server -> Authentication -> Allow login by root? NO
You can check HostName of server.  Go to webmin admin panel ->  Networking -> Network Configuration -> Hostname and DNS Client -> Hostname = gumby
Apache configuration changes
Go to webmin admin panel -> Others -> PHP Configuration -> Edit Configuration Manually or edit file /etc/php5/apache2/php.ini
Change the following parameters

short_open_tag = On
expose_php = Off
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
post_max_size = 128M
upload_max_filesize = 128M
session.gc_probability = 1

Restart Apache to see the affect. Please run the following command to restart apache

sudo /etc/init.d/apache2 restart

Go to webmin admin panel -> Servers -> Apache Webserver -> Global Configuration -> Configure Apache Modules or run the following command to enable modules

sudo a2enmod module_name

Run the following command to disbale the module

sudo a2dismod module_name

Now i would be installing recomened modules

sudo a2enmod expires;
sudo a2enmod headers;
sudo a2enmod rewrite;

Change the directives of www virtual host

DocumentRoot /var/www/
<Directory /var/www/>
 allow from all
 Options +Indexes
 AllowOverride ALL

Give permissions to web server main directory

sudo chmod 777 /var/www/

Assign www-data user to web server main directory and root user group rights

sudo chown -R www-data:zalam /var/www/

Restart Apache to see the affect.

Share this post