Upgrading is moving to a more recent version of SMF by getting a fresh set of all necessary files. It is necessary when moving from an earlier major version to a more recent one (SMF 1.1.x to SMF 2.0.x, for example). If you want a clean start with the same version you have now, take a look at How to upload a fresh set of files.
If you are moving from an older version of SMF (for example 1.1.1) to a newer version in the same series (for example 1.1.2) and you want to avoid uninstalling your mods, you may consider patching. If you want to install a forum from scratch, please see the instructions on installing SMF.
Upgrading an SMF forum can be done in six quick and simple steps:
Download The Upgrade Archive
The latest SMF large upgrade package can be found on the "Download" page of our website.
First, you should download the appropriate package. The Large upgrade is the one required for upgrading. Usually, .zip files are the file type that most forum administrators find the easiest to use. Most operating systems already have tools to extract .zip archives installed.
Please note that when using the large upgrade, all the mods that you have installed will have their edits to files removed. |
Back up Your Forum
Before starting the upgrade process, a backup should be taken. This includes, specifically, the database as it contains all the members, posts, and other items in the forum. This protects the forum from accidental damage and any issues from upgrading. Although extensive testing is always carried out, sometimes unforeseen issues develop. Therefore, having a backup is crucial. The upgrading tool can backup all database tables before it runs, but the files are not backed up and the best practice is to have a full backup available.
For more details on backing up your forum, please see the backup page.
Back up Your Files
Using an ftp client access your forum directory and download all the files and directories present in there.
Extract The SMF Archive and Upload The Files to Your Website
The SMF upgrade archive contains all of the files that need to be uploaded to the same location where the current forum is located, and overwrite all of the existing files with new files.
You will need to use either FTP or the tools in in your hosting account's control panel (for more information on the control panel supplied by your hosting service, please see the documentation provided by your hosting service.)
Set File and Directory Permissions
File and directory permissions control who can see your files and use your directories. They can control whether you will be able to install mods to your forum. On Linux and other Unix-like servers the chmod command is used to designate permissions. On most servers, a setting of 755 for directories and 644 for files will work. If this does not work on your hosting service, you may need 777 or 775 for directories, and 666 or 664 for files. Some hosts do not allow using 777 for directories or 666 for files -- using such high values will cause Internal Server Errors, 500 erors, or other errors. If the permission on your files or directories does not make them writable, the SMF upgrader will report the problem -- if it can detect it.
Note: If a Windows server is being used rather than a Linux server, then you will need to contact your host to change the file/directory permissions.
Setting File Permissions with the Upgrader
In many cases, the SMF upgrader can handle this for you. If you want to give this a try, skip this step for now, and wait until you come to the appropriate point in the upgrader. The upgrader might need to ask you for FTP login details to get the job done, so be sure to make a note of them. If you run into any problems setting file permissions with the upgrader, you can use the instructions below for setting file permissions with FTP to handle it yourself.
Setting File Permissions with FTP
Using a control panel or FTP client, file permissions can be changed quickly and easily. Usually, FTP programs will allow permissions to be changed by right-clicking files/directories and selecting "Properties", "Attributes" or "Permissions". The desired numerical value can be entered, or if provided, check boxes can be changed.
Run the Upgrading Tool
The final step in upgrading SMF, is to run the upgrading tool. Navigate with your browser to the upgrade.php file (it can be found in the directory where SMF is located) and run the upgrade, for example: www.yourdomain.com/forum/upgrade.php.
Upgrade Settings
- Backup database with the prefix "backup_"
- Selecting this option will get the upgrade tool to copy all data in the database before upgrading within the original database.
- Maintenance Mode
- Selecting this option will place the forum into maintenance mode while upgrading rather than showing errors, this is highly recommended.
- Output extra debugging information.
- The upgrade tool can give detailed information while performing an upgrade by selecting this option, it will aid the SMF Support Team in solving any errors if they occur while upgrading.
Finishing the Upgrade Process
Once all parts of the upgrade have completed, check the box to remove the upgrade files from the server. If this does not work, they will need to be deleted via FTP. All upgrade files should be removed from the server once the upgrade process is complete. These files are upgrade.php and the .sql files whose name starts with 'upgrade'. They are a major security risk if they are left on a server unattended. Once SMF has been upgraded, they are no longer needed.
If you were already using SMF 2.0 prior to the upgrade, and had mods installed, you may also want to use Fix_Packages.php to remove any hooks that the mods had installed, in order to avoid issues from partially erased mod installations.
Upgrading Using the Command Line
It is also possible to upgrade to a more recent version of SMF using the Command Line Interface (CLI). This is particular useful if you have experienced errors trying to upgrade your forum using the method outlines above, as the CLI is more effective in providing an error code, which is helpful in identifying any issues that are preventing the upgrade from being completed.
To upgrade using this method, go to a command line prompt, navigate to the folder where your settings.php and upgrade.php files are, and issue the following command:
Code:
php upgrade.php
There are some options, which you can query using --help. You will see something like this:
Code:
$ php upgrade.php --help
SMF Command-line Upgrader
Usage: /path/to/php -f upgrade.php -- [OPTION]...
--language=LANG Reset the forum's language to LANG.
--no-maintenance Don't put the forum into maintenance mode.
--debug Output debugging information.
--backup Create backups of tables with "backup_" prefix.
Note that sometimes your host offers multiple versions of php, so you need to specify the correct version when running the command. You might need to ask your host what the proper path to use is. If this is the case, your command line would end up looking something like this:
Code:
/opt/php56/bin/php upgrade.php