This post is intended as a step-by-step guide for intermediate skill level users who wish to install WordPress in a LAMP environment (Linux OS, Apache web server, MySQL database, PHP programming language). This post assumes you have all the necessary skills to handle what is asked in each step.
For an experienced user, such as a computer programmer or web designer, this will be a five minute WordPress install. That’s a fairly easy install. Less experienced users are encouraged to take their time and slow down a bit as they proceed. An easy installation is no excuse for making an unnecessary mistake.
So, on to the show . . .
Step 1. Begin installation
Once you have FTPed all your files to the web server, you will get the screen below if you visit your website’s root directory.
Before you proceed, you need to set you root directory file permissions to full write (“777″). Most users will prefer to do this using their FTP client, although advanced users will recognize they can handle this via command line.
Only leave this directory at 777 permissions long enough to allow WP to write the config.php file. After you have completed the install, set the permissions back to 755 (taking away from permissions from group and global users). If you are going to use permalinks (links that read as http://www.whatever.com/whateverpage instead of http://www.whatever.com/?p=1), you will need to leave permissions at full write long enough to set the permalinks method in the WordPress Admin.
Once you have handled the permissions, you may click the button to start the install.
Step 2. Create the database in PHPmyAdmin
With a separate browser window, login in to your server’s PHPmyAdmin system. You will see something approximately like the screen below:
Go to the “Create new database” field and enter the preferred name for you DB. Click the “Create” button to proceed.
Once you have done this, click the Home icon in the upper left to go to the main PHPmyAdmin page.
Step 3. Create a MySQL database user for your WordPress site
Find and click the link for “Priveleges”, as seen in the screen shot above.
Find and click “Add a New User”.
This will bring you to this screen . . .
Please keep track of what you enter for these fields, as you will be needing that information in the next step of your WordPress install.
Enter your preferred user name in the “User name” field.
Unless you are an advanced user who has a clear need for some type of external access to the MySQL database, click on the dropdown menu nest to “Host” and select “Localhost”.
Using the “Localhost” setting will tell MySQL to ignore requests that come from outside the web server environment itself. Unless you have an external application connecting directly to the MySQL DB, there is no reason to use any other setting. Localhost provides the most secure setting for your WordPress installation.
Only use a different setting if you are a knowledgeable MySQL user and have a clear reason for configuring it otherwise.
In the password field, make a point of selecting a fairly strong password. Mixed case letters and numbers using no full words represents the most optimal password choice.
Leave all the permissions settings alone for now and click on the “Go” button.
Step 4. Set permissions for your MySQL database user
Go down to the “Database-specific privileges” section. Where it says “Add privileges on the following database” click the dropdown menu where it says says “Use text text field” and change this to the name of the database you just created.
That will bring you to . . .
Check the following options:
Do not check any additional options unless you are a knowledgeable MySQL user and you have a clear reason for doing so. Excessive permissions are a security risk should that user be compromised. It is best practice to allow the WordPRess installation no more permissions than are necessary to do its job.
Step 5. Enter all your MySQL info into the WordPress install
Let’s go back to the browser window with your WordPress install. There you will see this window:
Enter the information you were asked to keep track of in Step 3. Click submit when done.
Step 6. Configure your WordPress install
You will now be asked to setup the basic info for your WordPress site and the username and password you will use to administer it. See below:
As with the database password, make a point of selecting a fairly strong password. Mixed case letters and numbers using no full words represents the most optimal password choice.
It may increase security to change the admin username. The default name of “admin” is heavily over-used and will be the clear first guess of any automated attack seeking to compromise your WP system.
Click the “Install WordPress” button and let it do its magic. This will bring you to this screen . . .
At this point you have a barebones, live WordPress site. Click on the login button to proceed with administering your WordPress website.
Enter the admin user name and password from earlier in Step 6. Click login, which will bring your to the start page for your WordPress website.
Step 7. The WordPress admin, first-time
Once you are logged in, you will see the page below:
Click on the “Posts” link in the left-hand navigation bar. This will display this page:
The first thing you will likely want to do is clean out the initial “Hello world!” post.
To delete this post, hover over the name of the post. This will trigger the appearance of links with options for handling that post. If you wish to simply edit the initial post, click “Edit”. To remove it completely, click on “Trash”.
Once you wish to make your first brand new post, click on the “Add New” link at the top of the Posts page.
Once you are done making this first post, click the publish button in the right-hand navigation bar. This will cause your post to now appear on the live site.
To view your live site, click on the site title found in the upper-left hand part of all the admin screens.
You now have a live site with a posted article on it.
At this point, your live site will look something like this:
Odds are fairly high you do not want to use the default theme that comes with WordPress. However, we’ll treat themes as a more advanced installation issue, which you can find in the section on theming your WordPress site.
Step 8. Limiting discussion
One thing you will learn quickly with a WordPress site is that handling discussion is critical. Particularly, spam comments are a major issue with any successful WordPress blog or site.
It’s important at the end of your initial install to set limits on commenting and to decided how you wish to handle comment moderation.
For the sake of simplicity, security and reducing excess clutter, consider the default settings show below:
The big thing is to make sure you check the box next to “A comment is held for moderation”. If this box is unchecked every comment made with appear automatically without waiting for your approval. This will attract aggressive automated spam bots. The end result will be a website plastered with spam. Don’t allow this to happen.
The other options depend heavily on your preference of anonymous discussion. If you prefer to limit anonymous discussion, make sure to check the box next to “Users must be registered and logged in to comment”.
I’m partial to allowing moderated anonymous postings. As a frequent blog poster myself, I don’t like always having to register to post on a blog. And I avoid sites with Facebook commenting altogether as, like many user, I don’t want my Facebook wall littered with postings from blogs from all over the web. I discourage sites from doing Facebook commenting, although at some point in the future I will add an article showing how to integrate Facebook comments should that be something you desire.
Once you have the comments system wrangled, you’re done. You will probably want to take a look at the page on installing WordPress themes. But, even without changing the theme of your website, you now have a working WordPress install.
If you’re not looking to use WordPress as a blog, but instead as a content management system (CMS) for a more static, normal website, please check out the brief article on configuring WordPress as a CMS-only website.
Additional articles will be added to this site to address more advanced installation, configuration and maintenance issues. Please be sure to check the links on the left-hand side to discover more information about running your WordPress installation.