| 1 | Upgrading from 0.3 or higher |
| 2 | ============================ |
| 3 | |
| 4 | If you are upgrading from versions 0.3 or higher of SquirrelMail, you can |
| 5 | use this guide to make the transition a bit smoother. If you have been |
| 6 | using a previous version (0.1 or 0.2), it is suggested that you just start |
| 7 | from scratch and configure your settings as if it was your first install. |
| 8 | |
| 9 | NOTE: The new plugin architecture required the use of some functions which |
| 10 | are not in all versions of PHP. You will need at least PHP 4.1.0. If you |
| 11 | need to upgrade please go ahead and install the latest release version of |
| 12 | PHP. |
| 13 | |
| 14 | |
| 15 | 1. Backup old install |
| 16 | ====================== |
| 17 | |
| 18 | Make a backup of your current SquirrelMail directory. If you use "cp", be |
| 19 | sure to use the "-Rp" options. -R means recursive, and -p will save the |
| 20 | permissions in the directory. |
| 21 | |
| 22 | In this example, we assume that your httpd document directory is |
| 23 | /home/httpd/html, that your SquirrelMail install is located at |
| 24 | /home/httpd/html/squirrelmail-1.2.6, and that your new SM version is 1.4.0. |
| 25 | Substitute version numbers and names as required. |
| 26 | |
| 27 | $ cd /home/httpd/html |
| 28 | $ cp -Rp squirrelmail-1.2.6 squirrelmail-1.2.6.bak |
| 29 | |
| 30 | |
| 31 | 2. Unarchive new SquirrelMail |
| 32 | ============================== |
| 33 | Make sure that you are in your httpd document directory (/home/httpd/html) |
| 34 | and then unarchive the SquirrelMail archive (whatever the filename is): |
| 35 | |
| 36 | $ tar -zxvf squirrelmail-1.4.0.tar.gz |
| 37 | |
| 38 | |
| 39 | 3. Copy important files from old install |
| 40 | ========================================= |
| 41 | The important files to copy are: |
| 42 | A. Preferences |
| 43 | B. Config details |
| 44 | C. Plugins |
| 45 | D. Themes (if you've edited or added any of them) |
| 46 | |
| 47 | A. Preferences |
| 48 | |
| 49 | First, copy your preference data over to the new directory. Usually |
| 50 | this is ok, but if you are upgrading from anything less than 1.0.5, we |
| 51 | strongly suggest you let your users reset their preferences. There |
| 52 | were important security upgrades in 1.0.5 regarding preference files. |
| 53 | |
| 54 | $ cp squirrelmail-1.2.6.bak/data/* squirrelmail-1.4.0/data |
| 55 | |
| 56 | B. Config details |
| 57 | |
| 58 | If at all possible, start the configuration process from scratch. It is |
| 59 | much less prone to missing configuration options than copying your old |
| 60 | configuration. Ideally, you should just run conf.pl to reconfigure |
| 61 | SquirrelMail. If you decide to copy your old config.php over, we strongly |
| 62 | recommend that you run conf.pl to make sure things are correct and then save |
| 63 | the config file. |
| 64 | |
| 65 | $ cp squirrelmail-1.2.6.bak/config/config.php squirrelmail-1.4.0/config |
| 66 | |
| 67 | C. Copy plugins |
| 68 | |
| 69 | Like SquirrelMail, plugins are frequently updated for improvements, as well |
| 70 | as to make them compatible with new SquirrelMail releases. It is suggested |
| 71 | that you download new versions of your plugins at the same time you download |
| 72 | your SquirrelMail install, and that you install your plugins fresh (it's |
| 73 | easy, don't panic!). |
| 74 | |
| 75 | You should not try replacing plugins that are already included in SquirrelMail |
| 76 | package. Download latest versions of plugins that are not included in new |
| 77 | SquirrelMail package or copy them from older SquirrelMail install. |
| 78 | |
| 79 | D. Copy themes |
| 80 | |
| 81 | If you've created or modified themes, you should copy just those to the new |
| 82 | SquirrelMail themes directory. To just copy them all over to the new |
| 83 | SquirrelMail installation, you can run one command. |
| 84 | |
| 85 | $ cp -ui squirrelmail-1.2.6.bak/themes/* squirrelmail-1.4.0/themes/ |
| 86 | |
| 87 | When -u flag is used, command copies only missing and newer files. |
| 88 | When -i flag is used, command asks for confirmation before replacing |
| 89 | existing files. |
| 90 | |
| 91 | |
| 92 | 4. Change permissions |
| 93 | ====================== |
| 94 | The web server must have write permission to the data directory. In this |
| 95 | example, we assume that user "nobody" and group "nobody" are the web server |
| 96 | as is often the case with Apache. |
| 97 | |
| 98 | $ cd squirrelmail-1.4.0 |
| 99 | $ chown -R nobody:nobody data |
| 100 | |
| 101 | See INSTALL for alternate userid/groupid pairs. Additionally, if "chown |
| 102 | user:group" doesn't work, you can use "chown user" and "chgrp group" |
| 103 | instead. See the man pages for these commands for more information. |
| 104 | |
| 105 | |
| 106 | 5. Run conf.pl |
| 107 | =============== |
| 108 | Run config/conf.pl to see the new configuration options available with the |
| 109 | new version, as well as to verify that all of your old options are set |
| 110 | properly. |
| 111 | |
| 112 | Always save your options, also if you haven't changed anything. |
| 113 | This will ensure that any problems with conf.pl that might have been solved |
| 114 | are effective to your installation. |
| 115 | |
| 116 | |
| 117 | 6. DONE! |
| 118 | ========= |
| 119 | That should be all! The most important part is copying your users' |
| 120 | preference files back into the new data directory. This will insure that |
| 121 | your users will have their old preferences. Remember to do so with caution, |
| 122 | especially if you are upgrading from a version before 1.0.5 to version 1.0.5 |
| 123 | or later. |