Properly construct Return-Receipt-To header
[squirrelmail.git] / UPGRADE
... / ...
CommitLineData
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.
8
9NOTE: The new plugin architecture required the use of some functions which
10are not in all versions of PHP. You will need at least PHP 4.1.0. If you
11need to upgrade please go ahead and install the latest release version of
12PHP.
13
14
151. Backup old install
16======================
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
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
24/home/httpd/html/squirrelmail-1.2.6, and that your new SM version is 1.4.0.
25Substitute 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
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):
35
36 $ tar -zxvf squirrelmail-1.4.0.tar.gz
37
38
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
48
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.
53
54 $ cp squirrelmail-1.2.6.bak/data/* squirrelmail-1.4.0/data
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
65 $ cp squirrelmail-1.2.6.bak/config/config.php squirrelmail-1.4.0/config
66
67C. Copy plugins
68
69Like SquirrelMail, plugins are frequently updated for improvements, as well
70as to make them compatible with new SquirrelMail releases. It is suggested
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!).
74
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.
78
79D. Copy themes
80
81If you've created or modified themes, you should copy just those to the new
82SquirrelMail themes directory. To just copy them all over to the new
83SquirrelMail installation, you can run one command.
84
85 $ cp -ui squirrelmail-1.2.6.bak/themes/* squirrelmail-1.4.0/themes/
86
87When -u flag is used, command copies only missing and newer files.
88When -i flag is used, command asks for confirmation before replacing
89existing files.
90
91
924. Change permissions
93======================
94The web server must have write permission to the data directory. In this
95example, we assume that user "nobody" and group "nobody" are the web server
96as is often the case with Apache.
97
98 $ cd squirrelmail-1.4.0
99 $ chown -R nobody:nobody data
100
101See INSTALL for alternate userid/groupid pairs. Additionally, if "chown
102user:group" doesn't work, you can use "chown user" and "chgrp group"
103instead. See the man pages for these commands for more information.
104
105
1065. Run conf.pl
107===============
108Run config/conf.pl to see the new configuration options available with the
109new version, as well as to verify that all of your old options are set
110properly.
111
112Always save your options, also if you haven't changed anything.
113This will ensure that any problems with conf.pl that might have been solved
114are effective to your installation.
115
116
1176. DONE!
118=========
119That should be all! The most important part is copying your users'
120preference files back into the new data directory. This will insure that
121your users will have their old preferences. Remember to do so with caution,
122especially if you are upgrading from a version before 1.0.5 to version 1.0.5
123or later.