Category Archives: Linux

SSL Setup on Nginx Server

To add https support on your website you need to follow these steps:

Get the SSL certificate

There are various vendors from which you can buy SSL certificate. If you want to generate self signed SSL certificate instead of buying it, please execute below command:

Add -nodes in the above command if you do not want to set any passphrase for your private key.

Copy certificate to right location

Once the certificate is generated copy it to /etc/ssl/ folder on your server.

Update virtual host file

Open your virtual host config file ( /etc/nginx/sites-enabled/your_site.conf):

Deploy your Website Changes using Git

It is really a bad idea to deploy website using FTP and replacing old files with new one. Let me explain you the deployment using git which makes the life easy.

Before starting we need SSH client and Git to be installed on our local machine. I am assuming you already have installed these applications. So lets begin the interesting stuff.

We need to install Git on the remote server, so SSH to the server and issue following command:

Now we need to create a bare Git repository which should located outside the webroot. We can keep it in our home directory or create a separate folder in the home folder for bare Git repositories.

Lets create out Git repository

Now we are going to create a hook which will move latest changes in the webroot. Create a file hooks/post-receive and paste following code it it:

Update the GIT_WORK_TREE path with your webroot path. Make this file executable:

Server setup is done.

On your local machine you just need to add a remote branch to push your changes.

Your latest code is deployed to the server.


Share network drive on rdesktop

If you want to share clipboard and map your local drive as server’s network drive, you can do this using rdesktop.

Once you get connected your home directory will be available on the server as network drive.

Backup MySQL Databases

If you are running a database driven website then your data sitting in MySQL database id most important for you. In most of shared hosting there is no provision for scheduled backup of databases. So I have written a script to take backup of all databases associated with the account.

How to install latest node.js on Ubuntu

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

In most linux distributions Node.js is available in a repository which can be accessed via a package manager such as apt-get or aptitude.

However in the repository of the latest Ubuntu 12.10 the nodejs package has the version number 0.6.19 while the current version is 0.8.16 as of this writing. Unfortunately many nodes — that’s how node.js applications are called — are constantly under development and often depend on a newer version.

To install latest version of node you need to execute following commands: