Author Archives: George Tasioulis

About George Tasioulis

Co-founder at CNS, sysadmin, photo enthusiast, food lover, technology aficionado. Lives in Rhodes, Greece. Find me on: Twitter Facebook Google+ Flickr

How to: Install and Configure PPTP VPN on a cPanel server

This tutorial will show you how to easily install and configure a PPTP VPN server on a cPanel (RHEL/CentOS) server. A VPN server can be used to access geographically restricted websites if your cPanel server is located in a non-restricted country. Also you can use it to encrypt your data connection between your computer and cPanel server if for example you’re connected to a public WiFi hotspot and want to visit your web-banking account. Continue reading

VPS.NET Japan cloud test failure – Success!

[blackbirdpie url=”″]

Today at around 06:30 EDT, VPS.NET engineers did a test failure at their recently launched Japan cloud and it went really well!
No downtime, no data loss, nothing. Exactly as it should work. Kudos to the VPS.NET team! I really hope that they have found the perfect solution for their SANs and that they will begin rolling-out the new technology to their other SANs soon.

Below is the output of sar, about an hour and a half after the test. The lines that indicate that something was going on (i.e. the test failure) are highlighted.

root@dev:~# sar
Linux 2.6.32-5-xen-amd64 (dev) 	09/22/2011 	_x86_64_	(3 CPU)

04:35:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
04:45:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
04:55:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
05:05:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
05:15:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
05:25:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
05:35:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
05:45:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
05:55:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
06:05:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
06:15:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
06:25:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
06:35:01 AM     all      0.02      0.00      0.02      0.01      0.00     99.95
06:45:01 AM     all      0.07      0.00      0.04      0.24      0.00     99.66
06:55:01 AM     all      0.07      0.00      0.03      6.35      0.00     93.55
07:05:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
07:15:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
07:25:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
07:35:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
07:45:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
07:55:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
08:05:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
08:15:01 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
Average:        all      0.00      0.00      0.00      0.13      0.00     99.86
root@dev:~# uptime
 08:16:20 up 8 days,  4:35,  1 user,  load average: 0.00, 0.00, 0.00

Using netselect-apt to find the fastest Debian mirror

Setting up a VPS.NET server in Tokyo today was the first time I worked on a box in Asia and because USA and EU Debian mirrors where ~300ms away (and I was getting like 30-40KB/sec), I had to search for a local Japan Debian mirror.
First I thought I’d just got to the Debian mirrors list, find the URL for the Japan mirror and apply it to my sources.list file.
But again I was getting max 0,8-1MB/sec which still was very slow for my expectations (Japan is amongst the Top 3 of countries with the highest Internet connections speeds).

The solution was: netselect-apt

I just did a

root@dev:~# apt-get install netselect-apt
root@dev:~# netselect-apt squeeze

and a few seconds later I got

The fastest server seems to be:

Writing sources.list.

Then I just copied the sources.list netselect-apt created to my /etc/apt/ folder and ran apt-get update again.


So what does netselect-apt do actually? First it downloads a list of all the worldwide mirrors from the official Debian website using wget. Then it pings each and every server to see which one is nearer to the physical location of your server. Finally it writes a sources.list file in the current directory. Do note however that it doesn’t speed-test every server, but only measures the latency between the mirror and your box. So to be precise you’re getting the nearest server, not the fastest. In todays networks though, with 100Mbps and 1Gbps uplinks, it’s almost certain that the nearest server will also be the fastest too.

VPS.NET Tokyo cloud launched

[blackbirdpie url=”″]

We are pleased to announce the new beta of our Japan cloud (Tokyo). We are offering old and new customers up to 9 beta nodes for free to test out the location.

Highlights include:
– The fastest, most technically advanced enterprise class SAN within all of our clouds
– Full support for Windows and Linux
– Full OnApp 2.2 support will be enabled during the beta
– Its Free!

VPS.NET just launched their Tokyo cloud today in beta. According to them, this new cloud features an all-new SAN deployment which will resolve issues like their recent (and not only) 50h downtime + customer data loss. SAN failures have been a major issue at VPS.NET during the last year and many customers who didn’t had their own backup strategy lost all their data because of file corruption after a SAN crash (hint: don’t rely on VPS.NET backups -unless R1Soft- and always have your own backup strategy!)

Continue reading

TinyMCE non-latin character support on CS-Cart

Wasn’t really that big of a deal after all 🙂

First I downloaded the updated TinyMCE package (v.3.4.4) The Tool posted on the CS-Cart forums here for my CS-Cart installation (v.2.2.1).
Then using a text editor I opened up lib/js/tinymce/tiny_mce.js for editing, searched for entity_encoding and changed it from named to raw.
You may find quite a few instances of the string entity_encoding in the file, but the correct one to change is this:

Continue reading

How To: Add Social Buttons to Squarespace

A few days ago I helped @tpsaras install social widgets to his Squarespace based foodblog Foodzine. Although Squarespace allows for a seamless implementation of social widgets, the catch here was to display them only under each post and not on the homepage.

First we had to create the necessary code for our Facebook and Twitter widgets, then add the code into HTML Snipsets via the Squarespace Website Management and finally hide the buttons from the homepage via CSS.

Continue reading

Stress testing WordPress on a single node VPS

Lately I’ve been trying to find a cheap close-to-perfect-but-not-so-difficult-to-setup solution for my personal blog. A kind of “set and forget” thing if you will.
Until now, my blog was running on a Dell Dual-Xeon /w 2GB RAM cPanel server (along with a few other sites) and was working pretty smooth. Based on pingdom’s full page test my blog needed 6-7 seconds to fully load which is kind of acceptable considering the theme, the twitter/flickr integration on the sidebar and the needed dns queries to contact facebook, google analytics and woopra servers.

Last night bestvpscloud from the VPS.NET forums pointed out to this script that installs nginx, php5, mysql, exim4 and wordpress on low-end VPS servers, and after reading the comments I got to this guy’s blog who also suggested adding the repository and upgrade to PHP 5.3.

Continue reading

How To: Reveal Hidden Passwords in Firefox

Today I wanted to replace my router and realized that I don’t remember my ISP’s username and password. Like in any router’s web interface, the ISP’s password is saved behind asterisks (or dots in case of Windows Vista/7) but there’s an easy way to reveal this password in Firefox:

Just paste the following code in your browsers address bar when you’re on the page that displays the username and password of your connection and press Enter.

Continue reading