Recommended hosting?

1

When I built my first personal website almost 10 years ago, I signed up for hosting with GoDaddy. Yes, I can hear the groans. I know.

I’ve been too lazy to switch hosting providers, mostly because I really wasn’t using it for more than my WordPress-based site. But as I am working on expanding my programming skills, I need more support.

What hosting providers would you recommend?

I am looking for these criteria, in addition to low cost, reliability and 24/7 support:

PHP 5
Perl 5
Python
Ruby / Ruby on Rails
MySQL 5 / PostgreSQL Database Server

I’ve looked at bluehost and DreamHost, but want to do my research this time around!

Thanks!

Tags: asked May 11, 2010

Leave a Reply

9 Answers

6

I've certainly done well with WebFaction* and pretty much anything that ranks well on this list is worth looking at.

Really, it depends what you need. If you're just going to run Wordpress, Bluehost or Dreamhost are probably fine. Dreamhost has the added bonus of gobs of space for static files if you just want some backup storage.

If you want to run Django or Rails apps, go with something on that list (or another provider recommended in those frameworks' respective users groups). The key is making sure you have access to the full stack, because deploying either framework generally means configuring Apache, and possibly re-installing it with extra modules (like mod_wsgi or Passenger). I've been really happy with WebFaction's support, and their one-click installs did me well when I just needed something to work.

At the far end of the spectrum is Amazon EC2 or Rackspace. If you're just mucking around, that's probably more startup work (and possibly cost) than you want to deal with right away, but something to keep in mind for down the road.

*Yes, that's an affiliate link.

  1. Another +1 for WebFaction, like you, Megan, I signed up for GoDaddy for the personal WordPress site, but added Webfaction as I started to get into Django. I’ve been extremely happy with the site itself, as well as the support/customer service.

Leave a Reply

785
6

I've been using Slicehost for a while, and am loving it. You get a sturdy VPS with the Linux distro of your choice, and can configure it however you'd like for $20/month. I got the LAMP stack for PHP and Movable Type (Perl) and also a Ruby/Rails/Sinatra stack running on the same instance. They also have a pretty big library of tutorials and a 24 hour chat room, and are super friendly and Ruby/Rails-oriented (in fact the system for provisioning slices itself is a Rails app).

  1. I’ll second that, second hand: all the people I turn to for recommendations like this seem to recommend Slicehost.

Leave a Reply

90
2

I use DreamHost: Their support and backend are great, but their servers are on the slow side.

I've also got personal experience with Linode* which is a bit of effort to setup, but is rock-solid, great for Rails, and very fast. (Also: pricier).

  • Not an affiliate link :P

Leave a Reply

50
2

I've written a couple of scrapers in PHP.

<?php

function get_closer($string,$location){  // Takes a String and a Location. Cuts the String at the End of the Location and returns the remainder.
    $location_length=strlen($location);
    $break_point=strpos($string,$location);
    $break_point=$break_point+$location_length;
    $string=substr($string,$break_point);
    return($string);
}

function get_next($string,$location,$delim){ // Takes a String and a finds the next occurance of the Location.  Cuts it there and return what is between the Location and the Delim
    $location_length=strlen($location);
    $break_point=strpos($string,$location);
    $break_point=$break_point+$location_length;
    $string=substr($string,$break_point);
    $to_return=substr($string,0,strpos($string,$delim));
    return($to_return);
}

function cutter($string,$start,$end){ //Cuts a string between 2 deliminators but does not include the deliminator.  Good when the start is unique and the end is known.  Useful with get_closer
    $start_place=strpos($string,$start)+strlen($start);
    $new_string=substr($string,$start_place);
    $end_place=strpos($new_string,$end);
    $new_string=substr($new_string,0,$end_place);
    $new_string=trim($new_string);
    return($new_string);
}

function tailfinder($string,$start,$end){  //cuts a string between 2 deliminators but uses the end as a reference.  Good when the end is unique and the start is known.  
$best_start=0;
while (strpos($string,$start)>0){
    $start_place=strpos($string,$start)+strlen($start);
    $end_place=strpos($string,$end);
    if ($start_place<$end_place){
        $best_start=$start_place;
        $string=get_closer($string,$start);
    }
    else{
        break;
    }
}
    $new_string=substr($string,0,$end_place);
    $new_string=trim($new_string);
    return($new_string);
}

function curl_login($url,$data,$proxy,$proxystatus){  ///Used to start a session on a username and password site.  Questions ask Jeremy
    $fp = fopen("cookie.txt", "w");
    fclose($fp);
    $login = curl_init();
    curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
    curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
    curl_setopt($login, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
    curl_setopt($login, CURLOPT_TIMEOUT, 40);
    curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
    if ($proxystatus == 'on') {
        curl_setopt($login, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($login, CURLOPT_HTTPPROXYTUNNEL, TRUE);
        curl_setopt($login, CURLOPT_PROXY, $proxy);
    }
    curl_setopt($login, CURLOPT_URL, $url);
    curl_setopt($login, CURLOPT_HEADER, TRUE);
    curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($login, CURLOPT_POST, TRUE);
    curl_setopt($login, CURLOPT_POSTFIELDS, $data);
    ob_start();      // prevent any output
    return curl_exec ($login); // execute the curl command
    ob_end_clean();  // stop preventing output
    curl_close ($login);
    unset($login);    
}                   

function curl_grab_page($site,$proxy,$proxystatus){ ///Used to grab information from a user login site
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    if ($proxystatus == 'on') {
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
        curl_setopt($ch, CURLOPT_PROXY, $proxy);
    }
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
    curl_setopt($ch, CURLOPT_URL, $site);
    ob_start();      // prevent any output
    return curl_exec ($ch); // execute the curl command
    ob_end_clean();  // stop preventing output
    curl_close ($ch);
}

?>

Leave a Reply

263
1

Depending on what you mean by "I need more support." it sounds like Dreamhost or Slicehost would be a good fit. If you want to tackle the sysadmin end of learning things -- installing an OS, fine tuning your hosting software or PHP configuration -- Go with Slicehost (or Linode -- diffs are nominal as far as I could tell when I was last looking.)

If what you want is a working server where you can do some PHP/MySQL development work, Dreamhost shared hosting is a great fit. No idea what their Ruby or Python support looks like, though.

Also: depends a bit on whether you mean "MySQL or Postgres" or "MySQL and Postgres."

  1. I had a very wise roommate once who said you should never learn a skill you don’t want to have to use. It was too late for me. Maybe it isn’t too late for you. Managing a server … I don’t think that is what you’re trying to do. But maybe it is?

  2. I don’t know how deep I want to delve into sysdamin stuff. Might be useful to know though.

  3. +1 on Linode, allows you to manually install and configure what you need, and has a stack install option. ~$20 a month, but you control everything.

    Very good customer support too, and an active chatroom.

  4. One point — with Slicehost, you don’t need to install the OS (you can choose from a number of preinstalled Linux distributions), but you do need to install and configure nearly everything else. I went with CentOS, but if I were to do it over, I’d probably choose a distro with more up to date packages like Ubuntu.

Leave a Reply

150
1

As a flip side comment to those recommending Dreamhost, I bought an account to use for backup space and version control a couple of years ago. I have never dealt with a less professional company in the hosting field (they overbilled by a factor of 12, then made jokes about it on their blog - they then proceeded to mess up the refunds twice, all the while joking about their incompetence. see http://consumerist.com/2008/01/dreamhost-is-very-very-sorry-for-75-million-billing-error.html ).

I've had many good experiences with Slicehost, and lots of good experiences with Rackspace Cloud (with one hiccup). They're both backed by the same company and servers, but Rackspace's pricing policy is better for those who don't use much bandwidth (and Slicehost better if you do).

markng
100

Leave a Reply

100
1

I also use DreamHost, and I've also been noticing pretty slow performance.

On the other hand, I don't expect all that much from my personal hosting, so my motivation to switch is low.

Somewhat as an aside, I'm skeptical that many people need PHP, Python, Perl, and Rails all for personal hosting. Pick one, or two at the most. While I haven't shopped around all that much, I suspect you'll find some places that excel at Rails and others which are better than the competition at Django. PHP is pretty universal, and frankly, I'd steer almost anyone interested in Perl away from it at this point unless they have a specific reason (and I was a Perl/CGI developer for about five years).

  1. That’s fair, although I’m still wishing that people would try posting code-level tech questions here. Not everything needs to be running on a public server to get help, and I think there are several HHH members who are willing to answer.

  2. The language support is mostly for teaching myself stuff. It’s easier to get help if I build on the web instead of on my local server.

Leave a Reply

351
1

Lots of good technical feedback on web hosts. Another angle to consider is country of origin. For example, what are the implications of hosting your website in the United States? Canada? U.K.? For example, DCMA takedown notices apply only to websites hosted in the U.S. No such thing if you're hosting in another country. Same is true for the Patriot Act (not to pick on U.S laws, but they make good examples). Any data held by you on your customers can be seized by the authorities when it's hosted in the U.S.

Of course, this angle may mean little depending on what you're hosting, but it's something to consider nonetheless.

dale
10

Leave a Reply

10
0

I'm throwing my support to Rackspace Cloud. It's not too bad to get a basic slice going with the packages to run any PHP-based CMSs. Full tuning for Python or Ruby is a harder. $10/mnth and lighting quick.

Leave a Reply

80
0

We haven't used shared hosting in years. Too often the shared environment places too many limits on what and how you can do.

I've heard that hostway has been good. We've got many small news clients that use BlueHost and DreamHost.

Has anyone looked at cloud based services as an alternative to shared hosting?

Leave a Reply

19
0

undoubtedly an unconconference model.. en.wikipedia.org/wiki/Unconference

Too often the real knowledge is in the audience itself and a well moderated unconference is perfect for this

AHN would participate and sponsor.

Leave a Reply

19

Your Answer

Please login to post questions.