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