How to extend Ubuntu file system after resizing AWS EBS Volume

Sometimes, imply increase the size of an EBS volume in EC2 Management console doesn’t expand the actual storage size in Ubuntu system. You need to further configure your OS to apply the size change.

Check if you need to resize the partition and the filesystem

lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  21G  0 disk 
└─xvda1 202:1    0  20G  0 part /

Run lsblk command to list the attached devices if the partition size are not equal, you need to resize the partition

df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            996M   12K  996M   1% /dev
tmpfs           201M  340K  200M   1% /run
/dev/xvda1       20G   11G  8.2G  57% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none           1001M     0 1001M   0% /run/shm
none            100M     0  100M   0% /run/user

Use df -h command to see if the filesystem need the resizing

Resizing the partition

sudo growpart /dev/xvda 1
CHANGED: partition=1 start=16065 old: size=41913585 end=41929650 new: size=44018100,end=44034165

lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  21G  0 disk 
└─xvda1 202:1    0  21G  0 part /

Use sudo growpart command to expand the partition. Verify the result by running lsblk command.

sudo resize2fs /dev/xvda1
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 2
The filesystem on /dev/xvda1 is now 5502262 blocks long.

df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            996M   12K  996M   1% /dev
tmpfs           201M  340K  200M   1% /run
/dev/xvda1       21G   11G  9.1G  54% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none           1001M     0 1001M   0% /run/shm
none            100M     0  100M   0% /run/user

Use sudo resize2fs command to expand the filesystem. Verify the result by running df -h command.

Resources: Extending a Linux File System after Resizing the Volume

Installing Let’s Encrypt on Ubuntu 16.04 with Apache server

sudo apt-get install python-letsencrypt-apache

Resource: How To Secure Apache with Let’s Encrypt on Ubuntu 16.04
Resource: How to install and use Let’s Encrypt on a Ubuntu Server for SSL security

Make PHP Mail() work in AWS EC2 – Ubuntu 14.04

AWS IP addresses can be problematic for setting an email server in an EC2 instance…even with right setup email sent from the IP address can be marked as spam.

So what to do with setting up SMTP for your web applications? One alternative is to use AWS SES service. I decided not to use SES, however, because 1) each email address or domain needs to be approved and 2) there is cost associated with number of email sent out. These aren’t too bad of the restrictions but I wanted something that JUST work without configuring every time I build a website.

I went with MSMTP to use my gmail account to send email message by default. I can also overwrite the smtp setting per linux account. So if I were to host sites that are not mine, they can use their own smtp setup.
Continue reading “Make PHP Mail() work in AWS EC2 – Ubuntu 14.04”

Chromebook basic tweaks and tips for Crouton

Here are the first set of basic applications that I installed in my Ubuntu environment. All the applications (including Ubuntu OS) took about 2 GB of disk space.  If you are NOT planning to use Ubuntu on regular basis ,and just wanted to install essential applications that are not available in Chrome OS, the default 16GB of disk space is more than enough to install all for the following applications.
Continue reading “Chromebook basic tweaks and tips for Crouton”