To manually upgrade BigTree on a remote server, follow these steps:
- Download the zip file for the version of BigTree you wish to upgrade to and extract it.
- Rename the "core" folder to "core-new" and upload it to the remote server in the same directory that your existing "core" folder is in.
- After the upload is finished, rename your existing "core" folder on the remote server to "core-old" and rename the "core-new" folder to "core" (these are the recommended steps to reduce downtime)
- Visit the Developer section of your site's admin to initiate any database related updates
- Delete your "core-old" folder after confirming your upgrade went well.
To manually upgrade BigTree on a local server simply replace the existing "core" folder with the "core" folder from the newer BigTree zip file and visit the Developer section of your site's admin to initiate any database related updates.
Automatic Directory Replacement
When you visit the Developer section of your admin and an update to BigTree is available you will be alerted. Initiating the update through the Developer section will first attempt to do an automatic directory replacement. If your PHP is running via suEXEC, suPHP, or FastCGI the user running BigTree is generally the same user that owns the "core" directory. This enables BigTree to automatically download the version of BigTree requested and do the directory backups and movement described in the Manual Upgrade process above. This is also possible if the "core" folder is writable by Apache (i.e. 777) but this is not recommended.
SFTP/FTP Directory Replacement
If BigTree finds that it cannot move the "core" folder on its own, it will request that you enter FTP or SFTP credentials. The connection will be local to the server, so FTP provides no less secure a connection than SFTP, but it is recommended that you serve your admin over HTTPS or connect to a private network when entering your credentials into the admin. The username and password will not be stored and are only used in the given session.
After verifying the given SFTP/FTP credentials, BigTree will attempt to figure out where its current "core" directory is relative to the root FTP path. This is generally found automatically when connecting via SFTP as it normally doesn't hide directories above the home directory but when connecting via FTP, BigTree may fail to identify its directory. In this case, you will be asked for the path of the directory in which BigTree resides.
For instance, let's say your BigTree install lives at /var/www/vhosts/examplesite.com/httpdocs/. When FTPing into your server, it dumps you at "/" which is actually /var/www/vhosts/examplesite.com/. You may be asked by BigTree to identify the directory in which it lives. In this case, it is "/httpdocs/". Even though that's not a real path on the server, BigTree needs to know what FTP will identify the path as.
After BigTree correctly identifies its core directory (with or without user assistance) it will create backups and move the new core into place. After this occurs, the database update will happen automatically and you are finished.
When upgrading via the Developer section, a /backups/ directory will be created that will contain your old core folder and a database backup. In the event that an update fails for some reason, you can move this backed up core folder back into place (dropping the new core folder) after re-importing your database. This will restore BigTree to the previous version.