Install VSFTPd on AWS EC2

sudo apt install vsftpd
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original
sudo nano /etc/vsftpd.conf


sudo useradd myftp
sudo passwd myftp
sudo usermod --home /var/www/ myftp

sudo addgroup ftpusers
sudo usermod -a -G ftpusers myftp
sudo usermod -a -G www-data myftp
sudo usermod -g ftpusers myftp

sudo nano /etc/vsftpd.chroot_list

sudo nano /etc/ssh/sshd_config

Match Group ftpusers
ForceCommand internal-sftp
ChrootDirectory /var/www/
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

sudo service ssh restart
sudo systemctl restart vsftpd

Set you EC2 Security Group to allow incoming tcp traffic to port 20-21, 13000-13100
Connect from you ftp client and set connection to passive mode


Shell – Check SSL Certificate

Just a few minutes after trying to check domain’s SSL Certificate expiry date with python which requires around ten lines of code, I found a shell script which doing that task in just one line, here’s the script


echo | openssl s_client -servername -connect 2>/dev/null | openssl x509 -noout -dates



echo | openssl s_client -servername -connect 2>/dev/null | openssl x509 -noout -dates

view raw
hosted with ❤ by GitHub

Python – Check SSL Certificate Expiry Date

Just playing with python 3 to make a simple utility to check my domain expiry date

# save as

import OpenSSL
import ssl, socket
import argparse

# get domain
parser = argparse.ArgumentParser()
args = parser.parse_args()
domain = args.domain

# get SSL Cert info
cert = ssl.get_server_certificate((domain, 443))
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
x509info = x509.get_notAfter()

exp_day = x509info[6:8].decode(‘utf-8’)
exp_month = x509info[4:6].decode(‘utf-8’)
exp_year = x509info[:4].decode(‘utf-8’)

exp_date = str(exp_day) + “-” + str(exp_month) + “-” + str(exp_year)

print(“SSL Certificate for domain”, domain, “will be expired on (DD-MM-YYYY)”, exp_date)

then run with the domain you want to check as the argument



jQuery : Select All Checkbox

Yahoo! Mail and GMail both has a checkbox on top of their email list which will “checked” all chekboxes when clicked. Previously I use plain old javascript like those in this link, I just try to use jQuery to do this, its only 5 lines

        this.checked =;

Android Studio Error on First Run (Windows)

After installing Android Studio on my new laptop and then running it for the first time, it throw a dialog box detailing error messages, a quick search on Google point me to this link Issue 172032: Android Studio Start failed with internal error and the “temporary solution” is simple, just edit file located in

C:\Program Files\Android\Android Studio\bin\

then add this text

and save, then try to relaunch Android Studio, it works like a charm 🙂

Note: editing file required Administrator privileges so you maybe need to launch your editor as Administrator

Debug Rewrite Rule In Apache

Sometimes we need to test rewrite rule and log to see what happen, just put this on .htaccess file

RewriteLog /tmp/rewritelog
RewriteLogLevel 9

RewriteLog directive set the path to the log file. you can also set this directive to send log to a program. For a bit more complete information about this see here

valid values for RewriteLogLevel is 0-9

0 = no logging at all
9 = logging all possible information

see here for more complete explanation

don’t forget to turn on the RewriteEngine by putting this line

RewriteEngine on