কিভাবে জিও-ডিএনএস ব্যবহার করে ওয়েব কনটেন্ট দ্রুত সার্ভ করবেন

ওয়েবসাইটের কনটেন্ট দ্রুত ভিজিটর দের কাছে সার্ভ করার জন্য বা লোকালাইজড কনটেন্ট সহজে দেখানোর জন্য জিও-ডিএনএস হতে পারে একটা চমৎকার পদ্ধতি। জিও ডিনএস ব্যবহারের মাধ্যমে আপনি ভিজিটরের লোকেশনের উপর ভিত্তি করে ওয়েবসাইট ভিজিটরের কাছাকাছি এলাকায় অবস্থিত কোন সার্ভার থেকে লোড করাতে পারেন। ধরুন আপনি আপনার সার্ভার হোস্ট করেছেন ইউএসএ তে। এখন ইউএস এর ভিজিটর রা … Continue reading কিভাবে জিও-ডিএনএস ব্যবহার করে ওয়েব কনটেন্ট দ্রুত সার্ভ করবেন

ভ্যাগর‍্যান্ট দিয়ে নিজের ইচ্ছামত ভার্চুয়াল সার্ভার কনফিগার ও ব্যবহার করা

আমরা যারা বিভিন্ন ডেভেলপমেন্ট এনভায়রনমেন্ট নিয়ে কাজ করি তাদের অনেক সময়েই এমন টুল ইনস্টল করা লাগে যেটা একটার সাথে আরেকটা কনফ্লিক্ট করে। পিএইচপিএর জন্য টিউন করা একটা মেশিনে আবার রুবি বা পাইথন সেটআপ করে ওয়েবসার্ভার কনফিগার করতে গেলে অনেক সময় এটা কাজ করা বন্ধ করে দিতে পারে বা ওটার কোন একটা লাইব্রেরীর সাথে এর কোন … Continue reading ভ্যাগর‍্যান্ট দিয়ে নিজের ইচ্ছামত ভার্চুয়াল সার্ভার কনফিগার ও ব্যবহার করা

Automated Rsync – without compromising security

Rsync is one of the most popular tools to synchronize data between two computers, and used mostly in taking backups using this sync feature. It’s easy to use and only uploads the changed files when a sync is necessary, so it’s effective in saving bandwidth and time too. To run rsync, you need root or a properly privileged user which can access that specific path in the remote machine. And to setup this privilege, you can either use a should-never-be-used root account or an user chrooted using a jail shell. But if, by any chance, current machine is compromised then remote machine is compromised too. Because anyone can connect to your remote machine using those credentials from the current machine. To avoid plain text credentials (or the credentials written in a shell script), people usually use ssh keys to establish a connection between two machines. Still, your remote machine is unsecured if anything goes wrong in the current machine from where you’re taking the backup.

So a fullproof solution is to use ssh keys and properly chroot the remote user so that it can only access the backup files and nothing else. However, setting up a jailed shell is a not-for-everyone type task and takes time and experience to accomplish properly. So here is a quick work around that you can implement in your remote machine to prevent the connecting user from doing anything malicious but only tasks those are needed to perform the rsync backup. Let’s see how we can do that

Before continuing, let’s name our two machines. The one which should be backed up, lets name that Workstation. And the one which is storing the backups is BackupServer. Also for now, let’s assume that you are backing up complete “/var/www” folder in the WorkStation.

Step 1: Create SSH key in the BackupServer
Log into the BackupServer and run the following command in ssh terminal. But remember, if you already have a key in ~/.ssh/id_rsa.pub then IGNORE IGNORE IGNORE this step.

[sourcecode language=”shell”]
ssh-keygen -t rsa
[/sourcecode]

It will prompt for a passphrase, REMEMBER to just hit the enter without typing anything.

Step 2: Display and Copy the SSH key from BackupServer
Run the following command to display the ssh public key in the terminal, and then copy it.
Continue reading “Automated Rsync – without compromising security”

My $4/year continuous deployment server using webhook and rsync

Anthony Smith is running an interesting project called Low End Spirit where he sells low end servers for $4/year and these servers comes with 128Mb ram and one core of Xeon X3440 cpu @2.53GHz and 500GB bandwidth. And most interesting thing is that they comes with 5 IPv6 addresses in multiple locations. LowEndSpirit is pretty … Continue reading My $4/year continuous deployment server using webhook and rsync

Installing gearmand, libgearman and pecl gearman extension for php from source in Debian 6 & 7

I had a pretty rough evening today. No, not because the waiter forgot to add sugar in my tea, but because it was so boring to go through the trial and errors of installing gearman daemon and pecl gearman extension for php. First I tried with the pretty-obvious-awe-fucking-some way. [sourcecode language=”shell”] apt-get update apt-get install … Continue reading Installing gearmand, libgearman and pecl gearman extension for php from source in Debian 6 & 7

problems uploading large files in php5-fpm and nginx – and solution to that

Today I had encountered a strange error while importing a 10MB XML file in a low end vps, where nginx was configured with php5-fpm and was working pretty nicely. But then, whenever I tried to import that file, after 25% upload the connection drops and page goes blank. It was strange and drove me nuts … Continue reading problems uploading large files in php5-fpm and nginx – and solution to that