Finding a Web Host and Installing WordPress

WordPress Varieties

  • WordPress.com — a version of WordPress that is hosted for free at the WordPress.com website. When you sign up for a WordPress.com account, you don’t have to worry about installing WordPress. You just sign up, and you’re given a login to an account that has WordPress already set up for you. You can pay extra to get a dedicated domain name, so that it doesn’t look like: http://askwpgirl.wordpress.com. However, installing plugins (those wonderful applications that extend the functionality of your WordPress application) is not be possible, and you’re limited as to how much you can modify your WordPress theme. The upside is that it is completely and utterly FREE (aside from paying for a dedicated domain name if you want to get rid of the wordpress.com in your URL), and you don’t have to do any real set up other than pick a theme (which determines how your site looks) and start blogging away!
  • Self-Hosted WordPress — you can install the WordPress application on your own domain (e.g. http://askwpgirl.com) and have complete control over ALL of your content, not to mention having your own domain name. To install the self-hosted version of WordPress, you will need to:
  1. Register a domain name (see Registering a Domain Name below). GoDaddy.com provides pretty good pricing for domain names.
  2. Sign up for web hosting (see Finding a WordPress Friendly Web Host below).
  3. Point your domain name to the web host (see Modifying Name Servers below).
  4. Install WordPress (manually or using a one-click install button).

Step 1 – Registering a Domain Name

This part is easy. The hard part is finding a domain name that you like and is AVAILABLE! I usually register my domain names through GoDaddy.com, because the prices are reasonable ($10/year). The place you buy the domain name from is called your “Domain Registrar.” There is a benefit of registering your domain name with the SAME company that will be your web host because then you have only 1 bill to pay each year AND you don’t have to mess around with telling the Registrar who your web host is. However, you should check the prices carefully, because some web hosting companies will charge $10 the first year and then $35 for each subsequent year. Also, you can and should purchase 5-10 years of domain registration at a time to avoid inadvertently losing your domain name because you forgot to renew, so you want to get a good price on that. It also helps with search engine optimization to not do annual renewals of your domain name.

You can certainly make life easier on yourself by registering your domain at the same place where you purchase your web hosting, in other words, with BlueHost and other WordPress-friendly hosts, you can certainly purchase your domain name and web hosting all in one fell swoop and be able to skip to step 2 below and skip step 3 entirely!

The Domain Registrar’s job is to tell the world: 1) WHO owns the website name and 2) WHERE people can find the website content. In this respect, the Registrar is little more than a directory that you have to pay $10/year to be a part of to maintain ownership of your domain name. As a directory, the registrar does not necessarily provide a PLACE for your website to live, it just provides you the name. That’s it. You then have to pick a house (aka HOST) for your website and tell the Registrar who that host is, so people who want to visit you know which of the millions of web servers in the whole wide world is hosting your site. Again some registrars, like GoDaddy, also provide web hosting, so shop around to find the best price for the domain and hosting.

Step 2 – Finding a WordPress Friendly Web Host

There are some minimum requirements for hosting WordPress (from http://wordpress.org/about/requirements/):

  • PHP version 4.3 or greater
  • MySQL version 4.1.2 or greater
  • Apache mod_rewrite module (for clean URLs known as Permalinks)
  • Linux operating system (technically, WordPress can run on Windows, but you may encounter problems with Permalinks and some plugins working, so it’s a lot less headache to just go with Linux and a web host who does a lot of WordPress hosting)
  • Note: some plugins may require higher PHP or MySQL versions.

WordPress.org has a list of recommended web hosts at http://wordpress.org/hosting/. I personally prefer BlueHost. (Note: I receive an affiliate commission for hosting accounts purchased from my site from both Blue Host and Host Gator – both of which I’ve experienced good service.)

Blue Host 1-Click WordPress InstallBlueHost has a WordPress Auto-Install and makes WordPress updates available within 24 hours! They provide unlimited disk storage, unlimited monthly data transfer, host unlimited domains on 1 account, 1 free domain name for as long as you host with BlueHost, 2500 POP / WebMail addresses, 50 MySQL databases, free control panel, free Fantastico, free SimpleScripts, 24/7 network monitoring, 99% uptime guarantee, mirrored storage backups, no hidden fees, voted best support in 2004, 2005, 2006, 2007, and 2008!

Finding a host that specifically supports WordPress is important. Some host support WordPress but don’t necessary do a good job of it. The hosts I have had good experience with are BlueHost, HostMonster (same company as BlueHost), Host Gator, DreamHost, and Laughing Squid. They are all provide what’s called “shared hosting” which has its drawbacks in terms of security but can’t be beat for the price. I have had not great experiences with a couple other very well known hosting companies that advertise a LOT on the Internet and say they support WordPress but really do a lousy job of providing sites that don’t grind to a halt due to slow database connectivity. So stick with the list above!

Step 3 – Modifying the DNS (Domain Name Servers)

So, now you have a domain name and a web host. If your domain name registrar and your web host are one in the same, you are ready to install WordPress and set up your website. But, if you registered your domain name at GoDaddy.com for example and then set up your Web Hosting with Blue Host, you will need tell the registrar who your web host is. This is done as follows:

  1. Call or visit your web hosts website and find out the names of their DNS (Domain Nameservers) are. You will receive two address that look something like: ns1.bluehost.com and ns2.bluehost.com. You can usually find this information in the Support area. Just search on DNS or nameservers, or give tech support a quick call. If they are good web host, this should very easy to find out. Often, you get the namesever names in your Welcome email.
  2. Login to the Domain Registrar’s website (the place where you purchased the domain name) and go to the area where you manage your domain registration and change what is called the DNS or Nameservers. The nameservers tell the world wide web who your web host is. Change the nameservers to be the names you received from your web host in step 1 above.
  3. It will take anywhere from 2-24 hours for the changes to take effect. Once you are able to see the welcome or placholder page for your domain name at the new web host, you can install WordPress. More posts to come on that process!!!

Step 4 – Install WordPress via the Web Host’s One-Click Install

All of the web hosts listed above have a one-click install application to install WordPress.When installing WordPress, be sure to install it in the root directory of the site (rather than a subdirectory) if you want the WordPress site to display from your main site URL.

It is possible and sometimes preferable to install WordPress in a subdirectory and then redirect it to the root directory later (or never) (see Moving WordPress from Subdirectory to Root), but if you’re only going to be using WordPress on your site and have no other applications running other than WordPress, then you may as well go ahead and install it in the root.

When you do install WordPress, be sure to use an admin username that is not “admin” for security purposes and use a long/strong password.

Here are some online instructions you can refer to. (Note: If you are taking my Create a Website in a Night class at Boulder Digital Arts, you do not need to install WordPress before class. You only need to get your hosting account set up following Steps 1-3 above.)

  • Install WordPress on Host Gator
  • Install WordPress on BlueHost
  • Install WordPress on HostMonster
  • Install WordPress on DreamHost – Be sure to click the Custom Installation button (not the Simple Installation). The Custom Installation installs WordPress on your hosting account, the Simple Installation lets you use a version of WordPress on DreamHost’s servers like WordPress.com, which doesn’t have all the options as the full version of WordPress.
  • Install WordPress on Laughing Squid – it doesn’t appear that Laughing Squid has a one-click install for WordPress, but they do provide detailed instructions on how to manually install – this is not an optimum choice for novice web users as you’ll need to download and set up an FTP program to do the installation
  • Install WordPress on GoDaddy – GoDaddy is not my favorite WordPress host, but I do host several WP sites with them with mixed results. Some client’s sites have been exceedingly slow, some are fine.
  • Pingback: How do I move WordPress from a subdirectory to the root directory? | Free WordPress Website Help | Ask WP Girl | Boulder, Colorado

  • Pingback: Hosting and Installing WordPress | Boulder Digital Arts Blog

  • Angela

    Test comments.

  • Karan

    Hello WPGirl, one question – If I install wp on root (with fantastico) will it delete anything which exist there – files or forlder or my old website?

  • Anonymous

    Hi Karan – Fantistico is likely to overwrite all of the WordPress files in the root directory. I don’t know that it will delete everything there, but it will overwrite all the WP files. So, if you have a current WP site in the root directory, you should back up the wp-content folder and the wp-config.php file. I really don’t like Fantistico, because it leaves behind files that make your site more vulnerable to hackers and I don’t like the way it upgrades sites. I usually install WP manually rather than use Fantistico. Here’s a good blogpost from WP SecurityLock on issues with Fantistico: http://www.wpsecuritylock.com/wordpress-security-risks-using-auto-installers-like-fantastico/

  • http://twitter.com/ajwmedia Adrienne | AJW Media

    How do you install WP when you have your own server, and you don’t have fantasico any longer? My site is bigger so I had to leave a shared hoster… I need step by steps on how to create a database, sql, set up wordpress, etc. It’s a nightmare without fantasico! cry! I will donate if  you help me! I have a few sites to create! Also I need t blow out Joolma and add WP in it’s place. I need to create one from scratch… 

  • Anonymous

    WordPress.org has great instructions on how to manually install WordPress. You can find them here:

    Read this page and then follow the Famous 5 Minute install instructions: http://codex.wordpress.org/Installing_WordPress

    It’s also important that certain things are enabled on the server, such as:

    Apache server

    PHP 5.2.4 or greater
    MySQL 5.0 or greater
    The mod_rewrite Apache module

    1) PHP’s exec() function.
    2) Permission to run Linux’s `zip` command.
    3) The directory containing the `zip` command is included in the PATH environment variable available to the process executing the command passed to the exec() function

    For WordPress to function properly, you’ll need to change the PHP mode to SuPHP instead of DSO. This should be a very simple server configuration you can make via your server’s control panel.

    Some notes on SuPHP:

    SuPHP forces all PHP scripts to run as the user. If suPHP is enabled in the server:

    1. PHP scripts executes under your user/group level.
    2. Files or directories no longer need to have 777 permissions(only needs 755 permission for folders and 644 for php files). In fact, having 777 permissions on your scripts or the directories they reside in will not run and will instead cause a 500 internal server error when attempting to execute them to protect you from someone abusing your scripts.
    3. Your scripts and directories can have a maximum of 755 permissions.
    4. Files and directories also need to be owned by your user/group.
    5. Using .htaccess with php_value entries within it will cause a 500 internal server error when attempting to access the scripts. All php values should be removed from the .htaccess files to avoid the 500 internal server error. Creating a php.ini file to manipulate the php settings will solve this issue. The php.ini file is a configuration file that the server looks at to see what options have been turned on, off or set to a number different from the defaults that we have set for the server.

  • Ian

    Hi WPGirl,
    I’ve just installed my first wordpress site and it all seems to be working ok except when I visit the site from the wp-admin dashboard my site thinks I’m not logged in, and when I enter my login credentials i get a 404 page not found error. Obviously I’ve missed something but I don’t know what. Any ideas ?

  • Anonymous

    Weird. How did you install the site? Where did you install the site? Usually, people login via mysite.com/wp-admin. If you installed it in a subdirectory, you would log in via mysite.com/subdirectory/wp-admin. If by “dashboard thinks I’m not logged in” you mean that the little bar at the top with the admin options does not display at the top of the pages, then you need to go to Users in the Dashboard and edit your user to display the Toolbar when viewing the site.

  • Ian

    Yes weird indeed. I did install to a subdir and all was fine (eventually) & I could login via http://www…../wp-admin, but in my theme there is a user menu which, based on isUserLoggedIn, shows either (LogIn, SignUp) or (MyProfile, Logout). So when I visit the site from the Dashboard my user menu shows (Login, SignUp) even though I’m logged in as admin. This was working fine when I was developing locally. Then when I hit log in i get 404 error, and even if I try to access login via http://www…../wp-login I also get 404. Anyway I have now moved all files to the root folder and it seems to be behaving better now. Thanks for the quick response though.

  • Anonymous

    Oh, so you MIGRATED a site? If that’s the case, you should login to the phpMyAdmin via your web hosting control panel and be sure the home and site_url in the wp_options table are set to the new URL for the site which would be http://sitename.com/subdirectory. If you need the username/password for your database when you try to login via phpMyAdmin, then you can get that from the wp-config.php file. Also, if you migrated the site, obviously, you would have needed to also export your local database and import the database to the hosting account. Not sure what steps you’ve taken here, you would have to clearly write out every step you took. Users tend to leave out a lot and assume the problem is related to something it’s not at all related to.

  • Ian

    Yes I did migrate from my local machine.
    I already did as you say, restored my local db to the newly created one, amended wp_options appropriately, amended wp-config.php appropriately, copied index.php to the root and amended require(‘./wp-blog-header.php’); with a prefix of my subfolder name. Also amended index.php in subfolder to ‘Silence is golden’. Copied all my themes, plugins and data under wp-content. So dunno. Anyway, I have since removed the whole installation and re-installed in my public_html folder. All is well now except if I log into my site, when I log out I get a message saying ‘You are attempting to log out of . Do you really want to log out ?’ This was not happening on my local site. Any idea what might be causing this  ?

  • Anonymous

    Ah! Yes, so many things can be strange when you migrate from your local server. It sounds like you did all the important things: change the wp-config.php file to use the database on your hosting account, export the database on the local computer and import it into the database on the hosting account (did you do that?), change the wp_options, copy all the WP files, then, manually edit the .htaccess file, and finally, login and run the Search and Replace plugin to get rid of all refs to your local url to use the new url.

    I am going to write a blog post on this process, because to make it a piece of cake, I ALWWAYS use the BackupBuddy plugin http://askwpgirl.com/go/backupbuddy.php. BackupBuddy backs up your ENTIRE WP install including files and db. You download this zip file plus the migrate script called importbuddy.php. Upload both these files to the new host’s public_html folder, create a new BLANK database at the web host and take note of settings, then go to the new url mydomain.com/importbuddy.php and BackupBuddy will do the rest of the work for you.

    I am available for hire for this process if you need. It usually takes 30-60 minutes with my getting all your login credentials, etc.

  • Ian

    Thanks, but it’s all up and running now. Sounds like a good idea to blog this process The only issue I have now is the  log out problem. Been searching around for an answer and it seems I’m not the only one who has had this problem. I’ll keep searching I guess.

  • Anonymous

    Oh, I didn’t know you had it all working. That’s cool. For the log out problem, try to delete your browser cookies. It will force you to re-login, but I think that will do the trick!

  • Ian

    Mmm afraid not. It is a WordPress Failure Notice. Don’t understand this as it was working fine on my local install.

  • Anonymous

    Yes, I’ve experienced the same thing before, and I’m trying to wrack my brain about what caused it. A few things to check/try that would be helpful no matter what:

    1 – reset your encyrption cookies in the wp-config.php because it might have perceived that you were still logged in. There’s a URL in the wp-config file:

    https://api.wordpress.org/secret-key/1.1/salt/

    Go to that and then replace what you get there for the area of your wp-config file that says this:

    define(‘AUTH_KEY’, ‘put your unique phrase here’);
    define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
    define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
    define(‘NONCE_KEY’, ‘put your unique phrase here’);
    define(‘AUTH_SALT’, ‘put your unique phrase here’);
    define(‘SECURE_AUTH_SALT’, ‘put your unique phrase here’);
    define(‘LOGGED_IN_SALT’, ‘put your unique phrase here’);
    define(‘NONCE_SALT’, ‘put your unique phrase here’);

    2 – Open your wp-config.php file and make sure that it is connecting to the correct database on the hosting account and not on your local computer.

    3 – Sometimes conflicting plugins can cause weird failures and errors, and you can rule this out by renaming your plugins folder in your FTP application “plugins-old.” Sometimes after migrating plugins that were active are activated on the live server not quite correctly. Then login to the site, go to the Plugins error, it will show all the plugins as missing and therefore de-activated, then try to log out.

    4 – Makes sure all the WordPress files copied correctly to the live server.

    Please let me know what you find!

  • Ian

    Hi, eventually found the solution which is so simple and obvious I don’t know how I missed it. I installed Wrodpress on the server via Softaculous & then copied my theme and plugins across. It seems in the installation in General Settings while it had set Site Address to http://www.mysite.co.uk, it had set WordPress Address to http://mysite.co.uk – Adding the missing www. to the WordPress Address has fixed the problem. Thanks for your interest and help in all this.

  • Anonymous

    Hi Ian,

    Thanks for sharing that! Yes, it’s important that those two URLs are the same. This is why I have an FAQ on moving WordPress that takes note of those fields. I’ll be sure to make a special note that the URLs need to match with the www. or not www. Glad you figured it out. Usually these problems are simple like that — a little typo or iconsistency. Sometimes just “talking” about it makes you look harder at the settings you’ve made.

    Cheers,

    Angela