More code cleanup
[squirrelmail.git] / UPGRADE
CommitLineData
47f9c368 1Upgrading from 0.3 or higher
2============================
3
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
10are not in all versions of PHP4. You will need at least PHP4 beta2. If you
11need to upgrade please go ahead and install the latest release version of
12PHP4.
f4057b81 13
8462c882 14
151. Backup old install
16======================
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.
21
22In this example, we assume that your httpd document directory is
23/home/httpd/html, that your SquirrelMail install is located at
4b45f6cb 24/home/httpd/html/squirrelmail-1.0.6, and that your new SM version is 1.2.0.
8462c882 25Substitute version numbers and names as required.
f4057b81 26
27 $ cd /home/httpd/html
4b45f6cb 28 $ cp -Rp squirrelmail-1.0.6 squirrelmail-1.0.6.bak
f4057b81 29
30
8462c882 312. Unarchive new SquirrelMail
32==============================
33Make sure that you are in your httpd document directory (/home/httpd/html)
34and then unarchive the SquirrelMail archive (whatever the filename is):
2b996daf 35
4b45f6cb 36 $ tar -zxvf squirrelmail-1.2.0.tar.gz
f4057b81 37
38
8462c882 393. Copy important files from old install
40=========================================
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)
46
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.
f4057b81 53
4b45f6cb 54 $ cp squirrelmail-1.0.6.bak/data/* squirrelmail-1.2.0/data
8462c882 55
56B. Config details
57
58If at all possible, start the configuration process from scratch. It is
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.
64
4b45f6cb 65 $ cp squirrelmail-1.0.6.bak/config/config.php squirrelmail-1.2.0/config
f4057b81 66
8462c882 67C. Copy plugins
68
3d8fe250 69Like SquirrelMail, plugins are frequently updated for improvements, as well
8462c882 70as to make them compatible with new SquirrelMail releases. It is suggested
71that you download a new plugins archive at the same time you download your
72SquirrelMail install, and that you install your plugins fresh (it's easy,
73don't panic!).
74
75If you prefer to just copy your old plugins over (if it's the same version
76or if you are lazy), you may do so. If you notice irregularities with the
77plugins under the new SquirrelMail, try installing new versions of the
78plugins.
79
4b45f6cb 80 $ cp -Rp squirrelmail-1.0.6.bak/plugins/* squirrelmail-1.2.0/plugins
8462c882 81
82D. Copy themes
83
84If you've created or modified themes, you should copy just those to the new
3d8fe250 85SquirrelMail themes directory. To just copy them all over to the new
8462c882 86SquirrelMail installation, you can run one command.
87
4b45f6cb 88 $ cp squirrelmail-1.0.6.bak/themes/* squirrelmail-1.2.0/themes/
8462c882 89
90(While you are at it, you should send them to us! We might add them to the
91themes in the standard install!)
f4057b81 92
93
944. Change permissions
95======================
96The web server must have write permission to the data directory. In this
97example, we assume that user "nobody" and group "nobody" are the web server
98as is often the case with Apache.
99
4b45f6cb 100 $ cd squirrelmail-1.2.0
f4057b81 101 $ chown -R nobody.nobody data
8462c882 102
103See INSTALL for alternate userid/groupid pairs. Additionally, if "chown
104user.group" doesn't work, you can use "chown user" and "chgrp group"
105instead. See the man pages for these commands for more information.
106
107
1085. Run conf.pl
109===============
110Run config/conf.pl to see the new configuration options available with the
111new version, as well as to verify that all of your old options are set
112properly.
f4057b81 113
4b45f6cb 114When you have migrated plugins from your old install to your new
115install, or even use any plugins at all, you *must* run conf.pl and do
116the following:
117
118A. Select "8" (Plugins)
119B. Select "A" (Sanitize all plugins for use with Squirrelmail 1.2)
120
121This will make sure the plugins work more efficiently (and will
122release you from any "cannot redeclare" error messages).
f4057b81 123
8462c882 1246. DONE!
f4057b81 125=========
2b996daf 126That should be all! The most important part is copying your users'
127preference files back into the new data directory. This will insure that
8462c882 128your users will have their old preferences. Remember to do so with caution,
129especially if you are upgrading from a version before 1.0.5 to version 1.0.5
130or later.