Archive for the 'Hosting' Category

Cleverkite 1 Year Review

Not much has changed since my initial 1 month review, the service they provide is still great. The only drawback is that they have a new line of cloud VPS and have put their old line in legacy status (which means me), so they aren’t going to be improving much on the system I’m on. While it makes me sad that I won’t be experiencing the new OpenVZ RAM management for a while, the VPS itself has been one of the most stable I’ve ever had.

I haven’t needed to contact support much in the past year, but when I have I always get a reasonably quick and friendly response. I can’t remember the last time the VPS was down, but I think there were a few restarts that I wasn’t aware of since my uptime reset. I’ll be renewing my VPS for another year (I pay annually, that’s how much I trust these guys) and hopefully the same great service will follow me into the next year, when I’ll write a 2 year review that’ll probably be exactly the same as this review.

Ultimate Hosting Server – Virtualmin on Debian Squeeze

I like to provide hosting to friends and such, so having a control panel for them is very important. However, at the same time, I’m too cheap to buy a DirectAdmin or cPanel license. After a lot of researching and trying different panels, it’s my personal opinion that Virtualmin is the best free hosting control panel out there at the moment. Although it isn’t as flashy and aesthetically pleasing as commercial control panels, it provides many of the same features (except really good script installers) and I feel that it even gives more control to both the admin and the users. Plus, it doesn’t dictate the versions or setups of the software, so you can basically roll with anything you want.

I chose to use Debian over CentOS since Debian has more up to date packages and I’m more experienced with Debian. CentOS is really good for stability, but I’m going to be hosting my own content and friend’s content so it won’t be anything that’s really mission critical.

In this tutorial, I’ll be teaching you how to install a VPS or dedicated server with Virtualmin running Apache2 with MPM worker, PHP5 on FCGI, MySQL5, RoR with RVM, and Varnish. I believe this setup to be very good on performance and resources, but you’ll need a VPS with at least 1GB RAM. 512MB is really pushing it and you probably wouldn’t be able to run Varnish at the start, and a very limited number of websites.

It’s highly recommended that you start this guide with a fresh install of Debian Squeeze. Installing Virtualmin on an existing system with a web stack will probably cause a lot of problems.

Once you’ve installed, update the system:

apt-get update

I like to aptitude instead of apt-get, so this command is optional:

apt-get install aptitude

From now on I’ll be using aptitude, but you can substitute it for apt-get if you want. Next, install Virtualmin by downloading and running the script:

wget http://software.virtualmin.com/gpl/scripts/install.sh

sh install.sh

It’ll prompt you about installing Virtualmin and just press ‘y’ and enter, then it’ll install. The install itself will take a while so go get some coffee or watch a show while it installs. After it’s done, you can login to your site from the web panel located at https://your-hostname:10000, or put your IP if you didn’t configure your hostname yet.

You won’t need to login yet since we’re going to be installing and configuring some more stuff server-side, but go ahead and login if you want. After Virtualmin is nice and cozy on your server, go ahead and install some important tools that you’ll need not only for this tutorial, but later on for anything else you’ll want to build or compile:

aptitude install build-essential autoconf automake

Apache2 will come with prefork as the default, so we’ll be uninstalling the prefork module and installing the mpm module. This can easily be done with the following command:

aptitude install apache2-mpm-worker

This should prompt you about uninstalling prefork, and just agree to the solution. Since mod_php is only for prefork, you’ll need to use fcgi now to serve PHP. PHP CGI should already be installed but in case it’s not, one of these commands should do the trick:

aptitude install php5-cgi

or

aptitude install php-cgi

You need the actions module enabled in Apache and it should be enabled by default, but in case it’s not, here’s the command:

a2enmod actions

After that’s done, go into /etc/apache2/conf.d/ and add a new file called php-cgi.conf or whatever you want, then add the following into this new file:

ScriptAlias /local-bin /usr/bin
AddHandler application/x-httpd-php5 php
Action application/x-httpd-php5 /local-bin/php-cgi

Save and exit, then restart apache with

service apache2 restart

Next, you’ll install RVM system wide install by running this command as root, or using sudo. IT’S VERY IMPORTANT THAT YOU RUN THIS AS ROOT OR SUDO! If not, it will install the user version of RVM instead of the system wide, but if that’s what you want, then go ahead:

bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

Now go into /etc/profile (file) and add the following:

[[ -s "/usr/local/bin/rvm" ]] && . "/usr/local/bin/rvm"  # Load RVM into a shell session *as a function*

NOTE!: You might need to add the line above to each individual user’s .bash_profile or whatever equivalent your shell has.

RVM should be installed now. Install Ruby Enterprise Edition with RVM by running these commands:

aptitude install

rvm install ree

We want REE to be the default interpretor, so the following command will do that:

rvm –default use ree

Almost done! All we have to do is install varnish. Run these commands to install Varnish:

sudo curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -

sudo echo “deb http://repo.varnish-cache.org/debian/ $(lsb_release -s -c) varnish-2.1″ >> /etc/apt/sources.list

aptitude update

aptitude install varnish

Now open the /etc/default/varnish file and find the uncommented DAEMON_OPS line. You’ll see 6081; change it to 80. A few lines below, look for “default.vcl”. Change it to something else, I used virt.vcl. Save and exit. Now create a new file in /etc/varnish/ named after what you changed default.vcl to, so for me I made a file /etc/varnish/virt.vcl. Paste the following contents:

## Redirect requests to Apache, running on port 8000 on localhost
backend apache {
        .host = "127.0.0.1";
        .port = "8000";
}
## Fetch
sub vcl_fetch {
		## Remove the X-Forwarded-For header if it exists.
        remove req.http.X-Forwarded-For;

		## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.
        set    req.http.X-Forwarded-For = req.http.rlnclientipaddr;
		## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver
        if (req.url ~ "^/w00tw00t") {
                error 403 "Not permitted";
        }
		## Deliver the content
        return(deliver);
}

## Deliver
sub vcl_deliver {
		## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.
              ## Since we're not caching (yet), why bother telling people we use it?
        remove resp.http.X-Varnish;
        remove resp.http.Via;
        remove resp.http.Age;

		## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.
        remove resp.http.X-Powered-By;
}

You can change the port to whatever you want, I used 8080. However, you must remember this port since we’re going to have to change some Apache configs to listen on that new port since Varnish will be listening on port 80. Save and exit. Open up /etc/apache2/ports.conf and find where 80 is, and change it to the port in the previous file. For me it was 8080, so I changed all 80 to 8080. Save and exit. Next, run this command:

aptitude install libapache2-mod-rpaf

Then restart Apache with

service apache2 restart

Now that everything is installed, we still need configure a few things, such as RVM. The system wide install of RVM requires users to be in a group called “rvm” in order to use it, so go ahead and log into the Virtualmin control panel which is usually located at https://hostname:10000, where hostname is your hostname. After you login, look at the side menu and find “Server Settings”, and click on it. This will open a new menu, and find the second item called “Server Templates” and click on it.  The server templates are very useful for customizing your Virtualmin experience, so remember it! Now, you should see 2 templates already made for you: “Default Settings”, and “Settings For Sub-Servers”. Click on “Default Settings”. You should now see a page with a drop down menu near the top. Click the drop down menu and find the second item called “Administration User”. This should take to you a new page. If it doesn’t, click the “Change” button with “Administration User” selected in the drop down menu. Now, look for the item “Add domain owners to secondary group” and select “Selected group”. A new window should open up displaying all the groups. Find “rvm” and select it, then click the “Save” button.

Now you’re done! Everything should be working correctly assuming you didn’t mess up somewhere. Enjoy your new server! If I missed anything anywhere, please don’t hesitate to comment!

References:

http://www.howtoforge.com/putting-varnish-in-front-of-apache-on-ubuntu-debian

http://library.linode.com/web-servers/apache/php-cgi/debian-5-lenny

VPSLatch 1 Month Review

VPSLatch.net is a managed cPanel VPS provider. They differentiate themselves from other VPS providers by providing their services at very unbelievably cheap prices. Many (including myself) would think it’s too good to be true, and that you’d get what you pay for. For a few months, VPSLatch was getting a lot of negative reviews and I told myself that I wouldn’t sign up with them due to all the problems that their customers faced. Some of these included the following:

  • very sketchy behavior and possibly lying and cover up
  • very slow I/O speeds
  • canned ticket responses that said they would look into it, with actual resolutions taking a long time

However, a month or two after the negative reviews died down, VPSLatch was giving a promotion for 50% off for life on all their packages. VPSLatch claimed that they did a lot to reduce I/O speeds and made changes to their support department so that most issues would be resolved within the first ticket response. They also were giving Fantastico for free. After chatting with their sales, I found out that I could get all my money back if I didn’t like their services due to their 30 day money back guarantee. However, I had to order without cPanel because if I did cancel early, they wouldn’t refund the licensing cost and the license cost actually costs more than the monthly price so I wouldn’t get anything back.

I ordred their cheapest package just to try things out. Setup was relatively instant since they provide instant setup and cPanel licensing given that you don’t set off any fraud alarms. I installed Virtualmin first just to test the VPS and see if the speed was slow, and surprisingly it wasn’t. The VPS was pretty fast and I didn’t notice any issues. I decided to try out the support to see if they really did resolve issues in the first ticket response. Long story short, they do. I was really surprised at how professional, friendly, and knowledgeable their support staff was. All my inquiries were solved in a very timely manner and the actual responses were very fast, within the hour I sent the request, usually a lot sooner.

For lazy people, here’s a summary: VPSLatch was getting a lot of negative reviews, but after a while they claimed they had cleaned up their act. I signed up with them due to a very good promotion they had going on, and they did indeed clean up their act.

Performance: 9/10

Support: 10/10

Price: 10/10

Overall: 9.5/10

For the price I’m paying for a 512MB OpenVZ VPS with cPanel and full management (which is $12.50 a month), this is an unbelievable deal and really is too good to be true. However, I have had no problems and no recorded downtimes with them and at the moment, I am very happy with my VPSLatch VPS.

CleverKite 1 month review

CleverKite.com is a new VPS hosting startup created by Orien Wu. He’s a little younger than I am (about 1-2 years) but don’t let his age fool you. He is a Community Liaison or something at WHT, and he worked for Site5 before starting CleverKite. Anyways, I’m usually very, very cautious when dealing with new companies, but Orien’s reputation made me feel safer so I took the plunge.

I ordered the lowest plan and the VPS was set up very quickly, within the hour that I ordered. CleverKite has their own type of support that they call “Clever Support”, which is basically managed but they do not guarantee any fixes. This troubled me at first, but not too much since I’m used to managing my own servers even though I’m no Linux guru. I decided to try out their support and within a few tickets I was highly impressed.

Orien and his team not only know what they’re talking about, but their replies were so fast that it kind of scared me. Also, I got fast responses at all times of the day from morning until 2AM. How can they respond to and solve my tickets so fast? I personally think they’re using some sort of black magic, but whatever it is, it’s great. Also, Orien himself is VERY customer oriented. His responses are professional and friendly, and best of all, he actually LISTENS to clients. I gave a few suggestions about supporting 64bit OS and Arch Linux, and within a few days he had fulfilled both those requests.

The VPS itself is very fast and responsive. Wielding 16 cores, it easily handles anything I throw at it. This site and a few of my other projects are hosted on the VPS, and everything has been top notch so far. Within this month I haven’t had a single downtime, so things are looking good. I haven’t run any benchmarks on it, but if anyone wants to recommend a good benchmarking tool I’d be happy to post some results.

For those of you too lazy to read everything, here’s a summary: CleverKite is a new company but they bring the professionalism, performance, and support of an experienced and well-aged company. Their VPS are very fast and they don’t oversell. Support is friendly, fast, and effective.

Price: 10/10

Support: 10/10

Performance: 10/10

Total: 10/10