Installing WordPress on NearlyFreeSpeech.net

NOTE/DISCLAIMER: This post is adapted from the WordPress instructions here. Please read that first as it has the most thorough instructions. The information below is adapted specifically for NFSN.

I wanted to post what worked for me for installing WordPress as I had a hard time finding instructions out there, and I was a bit confused at first by the NearlyFreeSpeech.net interface. First off, if you aren’t familiar with NearlyFreeSpeech.net (NFSN), it is a hosting company that offers ultra-cheap hosting solutions. I’ve found it to be not as user friendly as the bigger hosting providers, but you can start hosting a site for less than $1.

This is mostly based on the WordPress installation instructions found here: http://codex.wordpress.org/Installing_WordPress, with some  clarifications for those using NearlyFreeSpeech.net.

How to Install WordPress on NearlyFreeSpeech.net:

1. First, and probably obviously, you need to correctly set-up your hosting so yourdomain.com resolves to your NFSN account
2. Download the wordpress installation package here
3. Log-in to your NFSN account and go to the appropriate website. Now, we need to create the process & database:

  • Start by clicking the mysql tab and choose the option to “Create A New MySQL Process”
  • The name of the process needs to be something unique that no one else has used; I used the same name as my website URL. NOTE: Don’t add “.db” to the end, it will do that automatically
  • Once it is created it will start automatically (usually within a couple minutes). Next, go into the process you created by clicking its name. Click “Create a Database” on the right side.
  • Here, you need to name the database something wordpress-specific. I just named it “wordpress”. The User Name & Password must be the same as your hosting account credentials.

4. Now that the database and process are created, we need to create a new wordpress user and assign appropriate permissions.

  1. You should still be in the correct page for your database. Click “PHPMyAdmin” on the right-side of the page. If you don’t see it, click the green “mysql” link at the top. Log-in with your admin user name and password. It also asks for your Server Name when you log-in to phpMyAdmin. This is the same as the SQL Process name you created above (the unique one), with the .db at the end. For example: randomwindowstips.db
  2. Once logged-in, click Privileges.
    • Click Add a new User.
    • Chose a username for WordPress (‘wordpress‘ is good) and enter it in the User name field. (Be sure Use text field: is selected from the dropdown.)
    • Leave the default for the “Host” line (should say Any Host). (If it forces you to put something in the text box to the right, put in a percent symbol ‘%‘)
    • Choose a difficult-to-guess password (ideally containing a combination of upper- and lower-case letters, numbers, and symbols), and enter it in the Password field. (Be sure Use text field: is selected from the dropdown.) Re-enter the password in the Re-type field. I suggest you make this password different than your admin password. If you want you can let it generate a random password for you.
    • Write down the username and password you chose.
    • Leave all options under Global privileges at their defaults.
    • Click Go.
  3. Return to the Privileges screen and click the Check privileges icon on the user you’ve just created for WordPress. NOTE: For me, this says “Edit Privileges” and is on the very right, to the right of “Grant”. In the Database-specific privileges section, select the database you’ve just created for WordPress under the Add privileges to the following database dropdown. The page will refresh with privileges for that database. Click Check All to select all privileges, and click Go.

5. Congratulations! Your database is now ready to use. Now let’s go to the final steps. The next step is to prepare the config file with the database info you created above.

  • Next, unzip the file you downloaded earlier to your desktop or somewhere on your computer. Find the file wp-config-sample.php and re-name it to wp-config.php. Now, open the file in a basic text editor (such as Wordpad–NOT a word processor like MS Word).
  • You now need to make a few changes. The code you will be looking to change is as follows:
    // ** MySQL settings ** //
    define('DB_NAME', 'putyourdbnamehere');    // The name of the database
    define('DB_USER', 'usernamehere');     // Your MySQL username
    define('DB_PASSWORD', 'yourpasswordhere'); // ...and password
    define('DB_HOST', 'localhost');    // 99% chance you won't need to change this value
    define('DB_CHARSET', 'utf8');
    define('DB_COLLATE', '');
    // Change SECRET_KEY to a unique phrase.  You won't have to remember it later,
    // so make it long and complicated.  You can visit https://www.grc.com/passwords.htm
    // to get a phrase generated for you, or just make something up.
    define('SECRET_KEY', 'put your unique phrase here'); // Change this to a unique phrase.
  • DB_NAME
    The name of the database you created for your WordPress above . This is probably ‘wordpress’. NOT the name of the process.
    DB_USER
    The username you created for WordPress and assigned permissions for.
    DB_PASSWORD
    The password you chose for the WordPress username .
    DB_HOST
    The hostname you created above–this IS the name of the process you created. In the NFSN dashboard, under the ‘mysql’ tab, it is what is listed under “DSN or hostname”. It includes the .db. So, for example, you would list ‘randomwindowstips.db’
  • SECRET_KEY

    Now, you have to replace the generic text with a secret key. The easiest way is to use the the online generator.

    Example:

    define('AUTH_KEY', ':dr+%/5V4sAUG-gg%aS*v;&xGhd%{YKC^Z7KKGh j>k[.Nf$y7iGKdJ3c*[Kr5Bg');
    define('SECURE_AUTH_KEY', 'TufWOuA _.t>#+hA?^|3RfGTm>@*+S=8\"\'+\"}]<m#+}V)p:Qi?jXLq,<h\\`39m_(');
    define('LOGGED_IN_KEY', 'S~AACm4h1;T^\"qW3_8Zv!Ji=y|)~5i63JI |Al[(<YS<2V^$T])=8Xh2a:b:}U_E');
    define('NONCE_KEY', 'k1+EOc-&w?hG8j84>6L9v\"6C89NH?ui{*3\\(t09mumL/fFP_!K$JCEkLuy ={x{0');

6. Now, you simply need to upload the ‘wordpress’ directory to your server using an FTP client. Decide where on your web site you’d like your blog to appear:

7. Use your browser to install WordPress:

The rest is easy! I hope this helps. Feel free to let me know if you have any questions or clarifications.