WordPress.org

Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

FAQ Installation

Back to FAQ

Contents

Installation

How do I Install WordPress?

See also:

What is the Famous 5-Minute Installation?

See also:

How do I Find a Good Host for My WordPress Website?

See also:

How do I Install Using cPanel / cPanel X?

See also:

How do I Configure the wp-config.php File?

See also:

What are the Requirements for Installing WordPress?

See also:

How do I get WordPress to Use My Language?

See also:

Do I Need to Create a Database?

WordPress requires access to a MySQL database or MariaDB database to store information. So you need a database.

You can create a new database if:

  1. You have not already created one on the server
  2. Your generous host offers you more than one database, and you wish to have a separate database for the website you are setting up.

It is not essential to create a new database for each WordPress installation.

  • If you are using the same database for multiple WordPress installations, take care to edit the wp-config.php file ensuring that each installation has a unique database prefix.
  • If you are setting up a new database for a new website, edit wp-config.php, and be sure to get the database name, and other details correct.

See also:

What is the 403 Error I Get when Trying to See My Website?

Symptoms: You cannot seem to login after using the right username and password, into your admin account. You get an error message like:

 You are not authorized to view this page
 You might not have permission to view this
 directory or page using the credentials you 
 supplied. If you believe you should be able 
 to view this directory or page, please try 
 to contact the Web site by using any e-mail 
 address or phone number that may be listed 
 on the personal.fredsmith.com home page. 
 You can click Search to look for information
 on the Internet. HTTP Error 403 - Forbidden''

Solution: If your account is hosted on a Windows server, it could be a problem with the Directory Indexes. The default configuration of the server is to load index.htm, index.html, default.htm, default.html, default.asp files.

WordPress is done in PHP so the default page is index.php. Now, this is not part of the default configuration so we need to add it. To do this, you need to click on Web Options in the Control Panel. Then scroll down to the Directory Indexes section to add index.php to the Directory Indexes.

If necessary, contact your web host for support in this matter.

Can I Rename the WordPress Folder?

If you have not already installed WordPress, you can rename the folder with the WordPress files, before, or even after uploading the files.

If you have already installed WordPress, and you want to rename the folder, login to the weblog as the administrator and change the following settings in Settings > General:

  • WordPress Address (URL):
  • Site Address (URL):

Once you have done this, you can rename the directory or folder with the WordPress files in it.

See also:

How Can I Reset My Password?

See also:

Why is My Upload Directory “C:apachehtdocswordpress”?

When you specified the upload path, you used backslashes.

Use forward slashes “/” to specify the path to the directory.

Can I Install WordPress on Windows 2000?

Do NOT use MySQL database version 4.1.7 if you are trying to get WordPress installed using a Windows platform. Read this post originally made to the forums:

"To all those having problems installing WordPress on your own Windows 2000 (and other Win OS versions) workstation - and maybe some host servers, too: Do not use MySQL 4.1.7 - it is the problem if you get "Error establishing a database connection!". It does not seem compatible with the other components. Use MYSQL 4.0.22 instead.

Thanks to the Reply by ADAMANT in response to the POST of Nov 6, 2004 02:21:29 by ANTOINE, the WordPress installation really did become only 5 minutes, after two days of frustration:

I started with Windows 2000, PHP 4.3.9, Apache 1.3.33 and MySQL 4.1.7. I spent two days checking my wp-config.php literally 100 times; making changes; troubleshooting my database, using every known name for my host (localhost, 127.0.0.1, <IP address>, computer name, etc...) to no avail. I kept getting:

"Error establishing a database connection!" ...

I knew it wasn't my config. So thanks to ADAMANT's suggestion, I uninstalled MySQL 4.1.7 and downloaded and installed MySQL 4.0.22 from mysql.org. After installing and configuring the new (old) MySQL, which took approximately 7 minutes (very easy), I ran the install.php once again and YES!! it actually took less than 5 minutes for the WordPress install.

NOTE: the Apache web site says NOT to use Apache 2 in production. So, after all my wasted time with the latest MySQL, I suggest the following to those who can control their environment:

PHP 4.3.9, Apache 1.3.33 and MySQL 4.0.22. On Windows at least, they all work well together."



Steven

UPDATE: MySQL 4.1.7 uses a new password encryption system that is incompatible with prior methods. If you want to get WordPress working with a 4.1.7 database, you need to make sure your user password is set as an old-style password (password-old instead of password, if you're using mysqladmin). -- Nabil

ADDITIONAL: As stated above by Nabil, you can force Post 4.1.7 MySQL systems to use the old password lengths. From the MySQL command line interface, as a user that can manipulate the mysql tables (most likely root):

USE mysql;
SET PASSWORD FOR 'wordpressuser'@'localhost' = OLD_PASSWORD('somePassword444');
FLUSH PRIVILEGES;

As the normal password methods will result in the new style password function being used. Another hack would be to run the mysql service with --old-passwords, but I've seen the above password method work under 4.1.19 and 4.1.20 on an XP install - Grey

Note: The above are actual user comments, and may be subjective in their content. It is hoped that it will be of help to some users who face the specific problems that are addressed by this question.

Advanced Installation

How do I install WordPress with the files in different directories?

This also answers the questions:

  • How can I have my blog in one folder but my index at root?
  • How can I have people see my blog at www.example.com but keep all the files in www.example.com/wordpress?
  • How do I install WordPress in a different directory than where the index.php resides?

See also:

How can I hide my blog from people?

Whether you are testing a new version of WordPress, setting up a new blog or have some other reason to limit access, the following information may help you keep unwanted visitors out.

Apache

There is no guaranteed way to do this. You can use the .htaccess file (which also contains your permalink code) to check for certain IP addresses and prevent them from viewing your site. This will only stop the IP address, not the person, so if they have access to an allowed IP address, they can get to your page. One tutorial for this is located at Clockwatchers.com

An .htaccess file can also be used to prevent others from "hot-linking" to your images (bandwidth theft) or to set up a password protected blog.

Apache Basic Authentication

To require a password to access your site using .htaccess and .htpasswd.

Tools that help you create the files necessary to password protect your site: Htpasswd generator, htaccess Tools and Clockwatchers.com .htaccess And .htpasswd Tools

Note: When your site is accessed the password is encoded weakly using Base64 and can be easily intercepted and decoded.

Windows IIS Basic Authentication

To require a password if your site is hosted on IIS, you can deselect Allow Anonymous Access and select Basic Authentication. You'll also need to have a username with a password.

Note: When your site is accessed the password is encoded weakly using Base64 and can be easily intercepted and decoded.

See also:

Search Engines: Spiders and Bots

Search Engines will index your site and cache your content. If you do not want this to happen, use a file called robots.txt. More details can be found at Google.com, Affilorama.com and elsewhere on the web.

How can I solve login problems?

See also:

How can I get WordPress working when I'm behind a reverse proxy?

In some setups, it's necessary to use something other than the HTTP_HOST header to generate URLs. Reverse proxies take the original request and send it to one of a group of servers. To do so, it overwrites the HTTP_HOST with the internal server's domain. When that domain is not publicly accessible, at best your images might not load correctly, at worst, you'll be stuck in a redirect loop. To fix this, figure out which header has the right domain name and add a line to your wp-config.php file that overwrites HTTP_HOST with the correct hostname.

If you need to use SERVER_NAME, add this line to wp-config.php:

$_SERVER['HTTP_HOST'] = $_SERVER['SERVER_NAME'];

If you need to use HTTP_X_FORWARDED_HOST, add this line to wp-config.php:

$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];

See: this email thread for more on this fix.

FTP

How do I FTP?

See also:

How do I use FileZilla?

See also:

How do I upload the files and folders?

See also:

How do I CHMOD files?

See also:

MySQL or MariaDB

Do I really need MySQL/MariaDB?

You certainly need the MySQL or MariaDB database servers to power your WordPress blog. In fact, WordPress only supports the MySQL and MariaDB database servers. Listed are the PHP and MySQL/MariaDB requirements:

  • WordPress server requirements for Version 3.2+:

» Requirements for Older Versions

Can I use a database other than MySQL/MariaDB?

Other databases are not supported at the moment.

There are several other excellent database storage engines, such as PostgreSQL and SQLite that WordPress is interested in supporting in the future. Supporting multiple databases is trickier than it sounds and is not under active development, although there are plenty of architectural discussions about the best approach to take. Approaches for increasing the number of supported databases are discussed at Using Alternative Databases. There is a PostgreSQL port of WordPress available called WordPress-Pg.

Why does WordPress use MySQL/MariaDB?

MySQL and MariaDB are extremely fast. It is also the most widely available database server in the world. Open-source and free, MySQL and MariaDB are supported by thousands of low-cost Linux (and Windows!) hosts, which means a very low barrier to entry for anyone wanting to start a WordPress (or database-driven) website. MySQL's documentation is useful, cogent and thorough. (Note: it may be intimidating if you are new to all this.) Add to all that the fact that users are able to directly manipulate MySQL and MariaDB with phpMyAdmin, developed expressly for that purpose, and it is obvious that MySQL and MariaDB are the best choice.

PHP

What is phpMyAdmin?

phpMyAdmin is a tool written in PHP intended to handle the administration of MySQL/MariaDB over the Web.

See also:

Do I need to know PHP to use WordPress ?

No. The only time you would modify your WordPress blog with PHP would be when integrating some of the plugins. In most cases clear instructions are given within a text file that accompanies the plugin. Other than that, you will not be changing any of the PHP files.

See also:

Will WordPress run in PHP Safe Mode?

Most definitely! There are no known issues with any version of WordPress when PHP is running in Safe Mode.

Do I really need PHP?

You certainly need PHP (version 5.2.4 or newer) to power your WordPress blog. PHP is the scripting language that drives all of WordPress, and without PHP, your server will not be able to interpret the pages that create your weblog.

How do I find out which version of PHP I have?

To get information about your server, you can use the phpinfo() function. This will also give you information about your Apache and PHP version and mod_rewrite.

See also:

Importing

How can I import posts from my current weblog which uses a different blogging tool?

See also:

How do I import from b2?

See also:

How do I import from Movable Type MT?

See also:

How do I import from Blogger?

See also:

How do I import from Text Pattern?

See also:

How do I import from a generic RSS Feed?

See also:

How do I import from other blogging software?

See also:

Upgrading

What version of WordPress do I have?

There are several methods to find out what version of WordPress you are using:

  • In your wp-includes folder of your WordPress installation, open the version.php file with any text editor. It will tell you the version number of your installation.
  • In the WordPress Administration Panels, on any panel look at the bottom of the screen and the version number will be visible.
  • Some Themes include the version number in the footer template. Or you can add it yourself:
<?php bloginfo('version'); ?>

What should I do when I want to upgrade WordPress to the latest version?

See also:

How do I back up my database?

See also:

How do I restore my database?

See also:

After running upgrade.php get the message "It doesn't look like you've installed WP yet. Try running install.php."

After running the WordPress Upgrade, and clicking on the "Have fun . ." link, it says, "It doesn't look like you've installed WP yet. Try running install.php." The problem may be that there is not a user with administrative capabilities.

To fix that, use phpMyAdmin to manually give a user those capabilities:

  1. First find the ID of the user you want to make administrator by looking in the wp_user table.
  2. In the wp_usermeta table, for that ID, find the related user_id, and where the meta_key is wp_capabilites, change the meta_value to a:1:{s:13:"administrator";b:1;}.
  3. In that same table, for that user_id, where the meta_key is wp_user_level, change the meta_value to a 10.

Please note that the prefix on those tables and those two meta_keys utilize your database prefix. So if your database prefix is mywp_ then the two tables will be mywp_user and mywp_usermeta and the the two meta_keys will be mywp_capabilities and mywp_user_level.

See also:

How do you force a database upgrade?

Under certain situations, it may be necessary to cause a database to pass through the upgrade process again. To do that, you need to lower the db_version value in the wp_options table that corresponds to the version you want to upgrade from. For instance, if you want to force the database upgrade that happens from 2.0.11 to 2.3 you would change your db_version to 3441. To force an upgrade from 2.5 to 2.8, change that value to 7558.

'''db_version''' for WordPress releases:
4.4.2  = 35700
4.4.1  = 35700
4.4    = 35700
4.3.1  = 33055
4.3    = 33055
4.2.5  = 31532
4.2.4  = 31532
4.2.3  = 31532
4.2.2  = 31532
4.2.1  = 31532
4.2    = 31532
4.1.2  = 30133
4.1.1  = 30133
4.1    = 30133
4.0.1  = 29630
4.0    = 29630
3.9.3  = 27916
3.9.2  = 27916
3.9.1  = 27916
3.9    = 27916
3.8.5  = 26691
3.8.4  = 26691
3.8.3  = 26691
3.8.2  = 26691
3.8.1  = 26691
3.8    = 26691
3.7.5  = 25824
3.7.4  = 25824
3.7.3  = 25824
3.7.2  = 25824
3.7.1  = 25824
3.7    = 25824
3.6.1  = 22448
3.6    = 22448
3.5.2  = 22442
3.5.1  = 22441
3.5    = 22441
3.4.2  = 21707
3.4.1  = 21115
3.4    = 20596
3.3.3  = 19470
3.3.2  = 19470
3.3.1  = 19470
3.3    = 19470
3.2.1  = 18226
3.2    = 18226
3.1.4  = 17516
3.1.3  = 17516
3.1.2  = 17516
3.1.1  = 17516
3.1    = 17056
3.0.5  = 15477
3.0.4  = 15477
3.0.3  = 15477
3.0.2  = 15477
3.0.1  = 15477
3.0    = 15260
2.9.2  = 12329
2.9.1  = 12329
2.9    = 12329
2.8.6  = 11548
2.8.5  = 11548
2.8.4  = 11548
2.8.3  = 11548
2.8.2  = 11548
2.8.1  = 11548
2.8    = 11548
2.7.1  = 9872
2.7    = 9872
2.6.5  = 8204
2.6.3  = 8204
2.6.2  = 8204
2.6.1  = 8204
2.6    = 8201
2.5.1  = 7796
2.5    = 7558
2.3.3  = 6124
2.3.2  = 6124
2.3.1  = 6124
2.3    = 6124
2.2.3  = 5183
2.2.x  = 5183
2.2    = 5183
2.1.3  = 4773
2.1.x  = 4773
2.1    = 4772
2.0.11 = 3441
2.0.x  = 3441
2.0    = 3441
1.5.x  = 2541
1.x    = 2540

Note: Use phpMyAdmin to change that value, or use wp-admin/options.php.

Once the db_version is changed, when logging into your blog a link to upgrade the database will be offered.

Do I need to deactivate plugins before using the core update option?

In the past one of the upgrade procedures called for deactivating all plugins, but with the core upgrade process released with Version 2.7 you do not need to deactive the plugins. Here's Ryan Boren's explanation as to why:

During the upgrade, your blog is put in maintenance mode and loading is halted at the beginning of wp-settings.php. Nothing really runs, including plugins. The only thing allowed to run is the DB upgrade, which takes care of making sure plugins are not loaded. You don't need to deactivate plugins unless you like turning them back on one-by-one after upgrading to isolate any breakage they might cause.

The core upgrade is not working, what can I do?

If the core upgrade, for example upgrading from 2.7 to 2.71, is not working, one of these solutions might help:

  1. If the upgrade seems in an endless loop and you are using Memcache object cache backend, upgrade Memcache (see Trac Ticket 8407).
  2. If upgrading fails due to a restrictive suexec (e.g. some Italian hosts) then try the FS_CHMOD_DIR and FS_CHMOD_FILE in wp-config.php see Trac Ticket 8478).


Back to FAQ