Backup using cPanel X
cPanel is a popular control panel used by many web host. The backup feature can be used to backup your MySql database. Do not generate a full backup, as these are strictly for archival purposes and cannot be restored via cPanel. Look for ‘Download a MySQL Database Backup’ and click the name of the database. A *.gz file will be downloaded to your local drive.
There is no need to unzip this file to restore it. Using the same cPanel program, browse to the gz file and upload it. Once the upload is complete, the bottom of the browser will indicate dump complete. If you are uploading to a new host, you will need to recreate the database user along with the matching password. If you change the password, make the corresponding change in the wp-config.php file.
Back up WordPress
Before you get started, it’s a good idea to back up your website. This means if there are any issues you can easily restore your website. Complete instructions to make a backup can be found in the WordPress Backups section of the Codex.
Ready to Update
Now that you’ve checked that you’re ready to update, you’ve turned off your plugins and you’ve got your backup, it’s time to get started.
There are two methods for updating – the easiest is the Automatic Update, which will work for most people. If it doesn’t work, or you just prefer to be more hands-on, you can follow the manual update process.
Current versions of WordPress (2.7+) feature an Automatic Update. You can launch the automatic Update by clicking the link in the new version banner (if it’s there) or by going to the Tools -> Upgrade (or Update for version 3) menu. Once you are on the “Update WordPress” page, click the button “Update Automatically” to start the process off. You shouldn’t need to do anything else and, once it’s finished, you will be up-to-date.
For Automatic Update to work, at least two criteria must be satisfied:
(a) file ownership: all of your WordPress files must be owned by the user under which your web server executes. In other words, the owner of your WordPress files must match the user under which your web server executes. The web server user (named “apache”, “web”, “www”, “nobody”, or some such) is not necessarily the owner of your WordPress files. Typically, WordPress files are owned by the ftp user which uploaded the original files. If there is no match between the owner of your WordPress files and the user under which your web server executes, you will receive a dialog box asking for “connection information”, and you will find that no matter what you enter in that dialog box, you won’t be able to update automatically.
(b) file permissions: all of your WordPress files must be either owner writable by, or group writable by, the user under which your Apache server executes.
On shared hosts, WordPress files should specifically NOT be owned by the web server. If more then one user owns different files in the install (because of edits made by deleting and re-uploading of files via different accounts, for example), the file permissions need to be group writable (for example, 775 and 664 rather then the default 755 and 644). File permissions (in general) should be adjusted as appropriate for the server environment (the shared host RackSpace CloudSites for example recommends 700 and 600 for a single ftp user, or 770 and 660 for multiple ftp users). See the file permission section for more (some files and folders require stricter permissions).
If you have customized a standard theme (Twenty Twelve, etc.), you should not use the automatic upgrade, as it will overwrite your changes – you should use a manual update instead.
If you see a “failed update” nag message, delete the file .maintenance from your WordPress directory using FTP. This will remove the “failed update” nag message.
If the automatic upgrade doesn’t work for you, don’t panic! Just try a manual update.
These are the short instructions, if you want more check out the extended upgrade instructions. If you experience problems with the Three Step Update, you may want to review the more detailed upgrade instructions
For these instructions, it is assumed that your blog’s URL is
What is phpMyAdmin?
An administrator’s tool of sorts, phpMyAdmin is a PHP script meant for giving users the ability to interact with their MySQL databases. WordPress stores all of its information in the MySQL database and interacts with the database to generate information within your WordPress site. A “raw” view of the data, tables and fields stored in the MySQL database is accessible through phpMyAdmin.
What is it good for?
The phpMyAdmin program is handy for performing mantainance operations on tables, backing up information, and editing things directly in the event that WordPress is not working. Occasionally, in the Support Forums, someone will post a SQL query of some benefit or other that can be run using phpMyAdmin. Although many of the same tasks can be performed on the MySQL command line, doing so is not an option for many people.
Where can I get it?
Often host control panels, such as cPanel and Plesk, have phpMyAdmin pre-installed, so there is nothing special you have to do to use it. It is usually linked from the database page. Ask your host if this is available.
You can download phpMyAdmin yourself and install it from the main phpMyAdmin project page.
With great power comes great responsibility. phpMyAdmin allows you to interact with the database directly: it also lets you mess up the database directly. There is no “undo” or “undelete” in your database. Always exercise caution when working with the database.
Filezilla may be used to manage your WordPress site by uploading and downloading files and images. This article will guide you through the process of installing and using Filezilla to manage your WordPress powered blog hosted on the server.
For more information about FileZilla, view the list of features at the project site.
Why would I want to download FileZilla?
It’s fast, stable, easy to use, and free. FTP is a standard way to upload or download files between your local system and your web server, and FileZilla is an solid client for everyday FTP needs.
Setting Up the Options
You will need the following details regarding the FTP account on your server:
- Your website ftp address (usually ftp://example.com if your URL is http://example.com)
- Your ftp username
- Your ftp password
If you do not already have an FTP account on your server, use your cPanel or website administration tool to set one up — it will have all the information needed. If in doubt, ask your host for directions or help regarding an FTP account for your use to access your webspace.
In the top left of the Initial Screen (Figure 1), click Site Manager, and the screen you last saw (the FTP details screen, Figure 3) will pop into view. This time though, click the Connect button on the bottom.
If all is well, then in the top window of Figure 1, you will have seen a series of messages, and in the large window, you will see a listing of the files will appear.
There are two ways of getting files onto your site, and once there, changing them.
- By using the file manager provided in your host’s control panel. Popular file managers: cPanel, DirectAdmin, Plesk
- By using an FTP or SFTP client. This guide will show you how to use FileZilla.
FTP or “File Transfer Protocol” has been the most widely used transfer protocol for over thirty years, but it does not offer a secure connection. SFTP or “Secure File Transfer Protocol” transfers your files and your password over a secured connection, and should therefore be used instead of FTP whenever possible. Most hosting providers offer support for SFTP connections, though you may have to contact them to enable SFTP on your account.
Why use FileZilla? Because, like WordPress, it is released under the GPL. So, it is not just free, it is staying that way too. FileZilla is also a stable client that works on all flavors of Windows.
Need an FTP or SFTP client for your Mac? Try Cyberduck, which is also free and released under the GPL.
The following pages will show you how to setup and use Filezilla:
- Setting up FileZilla for Your Website
- How to Upload Files and Folders
- Setting Permissions
- Making Hidden Files Visible
Want to try a different FTP or SFTP client? Find more on Wikipedia.
The requirements have changed as of WordPress 3.2. The minimum requirements for WordPress 3.1 are PHP 4.3 and MySQL 4.1.2.
That’s really it. We recommend Apache or Nginx as the most robust and featureful server for running WordPress, but any server that supports PHP and MySQL will do. That said, we can’t test every possible environment and each of the hosts on our hosting page supports the above and more with no problems.
Not required, but recommended for better security
Hosting is more secure when PHP applications, like WordPress, are run using your account’s username instead of the server’s default shared username. The most common way nowadays for hosting companies to do this is using suPHP. Just ask your potential host if they run suPHP or something similar.
In WordPress, there is more than one way to set your password. In normal circumstances, you can do it through the WordPress interface. If you forget your password, WordPress has a built in recovery mechanism that uses email.
But on some hosts, especially when email isn’t working right, sometimes you have to take different steps to reset your password.
Here’s a list of different ways to reset a password. Any one of them will work, and you only need one to succeed. Which method you will use depends on what type of access you still have to your website.
WARNING: Before editing this page. Please, do not edit this Codex Page with the settings for your own server as you are giving the world access to your website’s MySQL password, and will not make your install work. Thank.
As part of the WordPress installation, you must modify the wp-config.php file to define the WordPress configuration settings required to access your MySQL database.
This file, wp-config.php, does not exist in a downloaded copy of WordPress; you need to create it. The wp-config-sample.php file is provided as an example to work from. Save it as wp-config.php before editing. Advanced settings and examples are provided below.
To change the wp-config.php file for your installation, you will need this information:
Database Name used by WordPress
Database Username Username used to access Database
Database Password Password used by Username to access Database
Database Host The hostname of your Database Server. A port number, Unix socket file path or pipe may be needed as well. If your hosting provider installed WordPress for you, get the information from them. If you manage your own web server or hosting account, you will have this information as a result of creating the database and user.
WordPress is well-known for its ease of installation. Under most circumstances, installing WordPress is a very simple process and takes less than five minutes to complete. Many web hosts now offer tools (e.g. Fantastico) to automatically install WordPress for you. However, if you wish to install WordPress yourself, the following guide will help. Now with Automatic Upgrade, upgrading is even easier.
The following installation guide will help you, whether you go for the Famous 5 Minute Installation, or require the more detailed installation guide.
Permission Scheme for WordPress
Permissions will be different from host to host, so this guide only details general principles. It cannot cover all cases. This guide applies to servers running a standard setup (note, for shared hosting using “suexec” methods, see below).
Typically, all files should be owned by your user (ftp) account on your web server, and should be writable by that account. On shared hosts, files should never be owned by the webserver process itself (sometimes this is www, or apache, or nobody user).
Any file that needs write access from WordPress should be owned or group-owned by the user account used by the WordPress (which may be different than the server account). For example, you may have a user account that lets you FTP files back and forth to your server, but your server itself may run using a separate user, in a separate usergroup, such as dhapache or nobody. If WordPress is running as the FTP account, that account needs to have write access, i.e., be the owner of the files, or belong to a group that has write access. In the latter case, that would mean permissions are set more permissively than default (for example, 775 rather than 755 for folders, and 664 instead of 644).
The file and folder permissions of WordPress should be the same for most users, depending on the type of installation you performed and the umask settings of your system environment at the time of install.
Typically, all core WordPress files should be writable only by your user account (or the httpd account, if different). (Sometimes though, multiple ftp accounts are used to manage an install, and if all ftp users are known and trusted, i.e., not a shared host, then assigning group writable may be appropriate. Ask your server admin for more info.) However, if you utilize mod_rewrite Permalinks or other .htaccess features you should make sure that WordPress can also write to your
If you want to use the built-in theme editor, all files need to be group writable. Try using it before modifying file permissions, it should work. (This may be true if different users uploaded the WordPress package and the Plugin or Theme. This wouldn’t be a problem for Plugin and Themes installed via the admin. When uploading files with different ftp users group writable is needed. On shared hosting, make sure the group is exclusive to users you trust… the apache user shouldn’t be in the group and shouldn’t own files.)
Some plugins require the /wp-content/ folder be made writeable, but in such cases they will let you know during installation. In some cases, this may require assigning 755 permissions. The same is true for
/wp-content/cache/ and maybe
/wp-content/uploads/ (if you’re using MultiSite you may also need to do this for
To upload (or delete) files and folders to your web host, you will need an FTP application. One of many free options that are at your disposal is FileZilla. Though written using screenshots from a Windows XP machine, using FileZilla, the following instructions carry over to just about every FTP client with a GUI (Graphical User Interface). You may want to read how to Set up FileZilla for your server, before you read the following.
To install WordPress double-click the one that is web-root directory for webpages on your server. This is usually named htdocs, public_html, mainwebsite_html, www, web, or something very similar. The other folders are not of consequence in installing WordPress.
You should now see listing of files and folders that are contained inside your server’s root folder. Just how many there are depends on what and how much you have on your website.
The point of this exercise is to upload WordPress, so let us continue down that road:
NOTE: The name you choose will be where your WordPress weblog will appear, and although it can be changed later, it’s much better to avoid that by choosing what you want now. For example, if your website has the URL http://example.com and you want your weblog to be located at http://example.com/blog, then name the new folder blog.
Before you begin to upload WordPress, it is essential to have downloaded WordPress, and unzipped it, on your local computer. When you unzip the downloaded .zip file, a folder called wordpress will be created. Please note the location of this folder in your computer. You may also want to prepare the downloaded files for installation, by reading Installing WordPress and completing the relevant steps, such as editing wp-config-sample.php.