-Upgrading from 0.3 or higher
+Upgrading from 0.3 or higher
============================
If you are upgrading from versions 0.3 or higher of SquirrelMail, you can
from scratch and configure your settings as if it was your first install.
NOTE: The new plugin architecture required the use of some functions which
-are not in all versions of PHP4. You will need at least PHP4 beta2. If you
+are not in all versions of PHP. You will need at least PHP 4.1.0. If you
need to upgrade please go ahead and install the latest release version of
-PHP4.
+PHP.
-1. Backups
-===========
+
+1. Backup old install
+======================
Make a backup of your current SquirrelMail directory. If you use "cp", be
sure to use the "-Rp" options. -R means recursive, and -p will save the
-permissions in the directory. In this example, we assume that your httpd
-document directory is /home/httpd/html.
+permissions in the directory.
+
+In this example, we assume that your httpd document directory is
+/home/httpd/html, that your SquirrelMail install is located at
+/home/httpd/html/squirrelmail-1.2.6, and that your new SM version is 1.4.0.
+Substitute version numbers and names as required.
$ cd /home/httpd/html
- $ cp -Rp squirrelmail-0.4 squirrelmail-0.4.bak
+ $ cp -Rp squirrelmail-1.2.6 squirrelmail-1.2.6.bak
+
+
+2. Unarchive new SquirrelMail
+==============================
+Make sure that you are in your httpd document directory (/home/httpd/html)
+and then unarchive the SquirrelMail archive (whatever the filename is):
+
+ $ tar -zxvf squirrelmail-1.4.0.tar.gz
+
+
+3. Copy important files from old install
+=========================================
+The important files to copy are:
+ A. Preferences
+ B. Config details
+ C. Plugins
+ D. Themes (if you've edited or added any of them)
+
+A. Preferences
+First, copy your preference data over to the new directory. Usually
+this is ok, but if you are upgrading from anything less than 1.0.5, we
+strongly suggest you let your users reset their preferences. There
+were important security upgrades in 1.0.5 regarding preference files.
-2. Unarchives Squirrelmail-0.5.tar.gz
-======================================
-Make sure that you're in your httpd document directory (/home/httpd/html)
-and then unarchive the squirrelmail archive (whatever the filename is):
+ $ cp squirrelmail-1.2.6.bak/data/* squirrelmail-1.4.0/data
- $ tar -zxvf squirrelmail-0.5.tar.gz
+B. Config details
+If at all possible, start the configuration process from scratch. It is
+much less prone to missing configuration options than copying your old
+configuration. Ideally, you should just run conf.pl to reconfigure
+SquirrelMail. If you decide to copy your old config.php over, we strongly
+recommend that you run conf.pl to make sure things are correct and then save
+the config file.
-3. Copy backups in place
-=========================
-Here is the main part. There are two parts to this step: copy preferences,
-and copy config details. The preference files are backwards compatible, so
-it is fine to copy the old user preferences into the new directory.
-However, the configuration file has changed quite a bit, so you will want to
-be sure to run the configure script (conf.pl) to set up any new config
-details.
+ $ cp squirrelmail-1.2.6.bak/config/config.php squirrelmail-1.4.0/config
-First, copy the files in place:
-
- $ cp squirrelmail-0.4.bak/data/* squirrelmail-0.5/data
- $ cp squirrelmail-0.4.bak/config/config.php squirrelmail-0.5/config
+C. Copy plugins
-Note that if at all possible, start the configuration process from scratch.
-It is less prone to missing configuration options than copying your old
-configuration. The ideal solution would be to copy your users' preference
-files, and then run conf.pl to re-configure SquirrelMail (without using the
-old config file). If you do copy the config.php file, you will want to run
-conf.pl and check for new options.
+Like SquirrelMail, plugins are frequently updated for improvements, as well
+as to make them compatible with new SquirrelMail releases. It is suggested
+that you download new versions of your plugins at the same time you download
+your SquirrelMail install, and that you install your plugins fresh (it's
+easy, don't panic!).
+
+You should not try replacing plugins that are already included in SquirrelMail
+package. Download latest versions of plugins that are not included in new
+SquirrelMail package or copy them from older SquirrelMail install.
+
+D. Copy themes
+
+If you've created or modified themes, you should copy just those to the new
+SquirrelMail themes directory. To just copy them all over to the new
+SquirrelMail installation, you can run one command.
+
+ $ cp -ui squirrelmail-1.2.6.bak/themes/* squirrelmail-1.4.0/themes/
+
+When -u flag is used, command copies only missing and newer files.
+When -i flag is used, command asks for confirmation before replacing
+existing files.
4. Change permissions
example, we assume that user "nobody" and group "nobody" are the web server
as is often the case with Apache.
- $ cd squirrelmail-0.5
- $ chown -R nobody.nobody data
+ $ cd squirrelmail-1.4.0
+ $ chown -R nobody:nobody data
+
+See INSTALL for alternate userid/groupid pairs. Additionally, if "chown
+user:group" doesn't work, you can use "chown user" and "chgrp group"
+instead. See the man pages for these commands for more information.
+
+
+5. Run conf.pl
+===============
+Run config/conf.pl to see the new configuration options available with the
+new version, as well as to verify that all of your old options are set
+properly.
+
+Always save your options, also if you haven't changed anything.
+This will ensure that any problems with conf.pl that might have been solved
+are effective to your installation.
-5. DONE!
+6. DONE!
=========
That should be all! The most important part is copying your users'
preference files back into the new data directory. This will insure that
-your users will have their old preferences.
+your users will have their old preferences. Remember to do so with caution,
+especially if you are upgrading from a version before 1.0.5 to version 1.0.5
+or later.