forked from hypermail-project/hypermail
-
Notifications
You must be signed in to change notification settings - Fork 1
/
INSTALL
172 lines (123 loc) · 6.54 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
Quick summary:
./configure
make
make install
See the Upgrading section at the end for changes that might affect users
of older versions.
==========================
SECURITY WARNING: Do not put hypermail's output anyplace where a web
server might have server side includes (SSI) enabled, unless you are sure
you know what you are doing. If in doubt, check your web server
configuration. If you are using Apache, look for an Options line
that mentions Includes or IncludesNOEXEC. The author of an email
normally has substantial control over what files hypermail creates,
particularly via attachments. Hypermail is designed to insure that
filenames don't end in .shtml and don't contain characters like / or \,
which prevent some security problems, but there are few restrictions
on what can go in a file (e.g. possibly malicious html tags - try the
"text_types = *" option or "ignore_types = $NONPLAIN" option if you want
to restrict this). You might also want to look at the attachmentlink
and unsafe_chars options to restrict attachment filenames.
Also, it is probably a bad idea to enable cgi execution on a directory
that hypermail puts files in.
Do not use the crappy cgi program called "mail".
Before Building Hypermail:
==========================
Hypermail now uses "configure" to generate the Makefiles. In the
top level directory, type "configure" to create the Makefiles.
If it does not work on your system, please let me know.
Building Hypermail:
===================
Hypermail has been normally compiled and run on Unix-based systems
in the past. Today it can be configured and built using Cygwin
software. I have either compiled and tested this code successfully
on the following platforms or others have told me of their success.
Solaris, SunOS 4.1.3, FreeBSD 2.2.5 and later,
BSDI/3.x, Linux kernel 2.0.18 and 2.0.30, Redhat 5.x and later,
NT using CygWin-b19 <http://www.cygnus.com/misc/gnu-win32>,
Irix6.2, HP-UX 10.20 and later, SCO OS 5.0.5, and TRU64/OSF1
on a DEC Alpha
Hypermail compiles on MacOSX, tested with X.2.6. Beware that
you may need to configure it to use --disable-shared and manually
execute make in src/pcre before.
For more information on Cygwin and build hypermail on a Windows-based
system, see the file docs/Install-win32.txt.
Generic Build:
1) Type "./configure". This creates the makefiles and the
config.h file needed to build the software.
If you want to install Hypermail somewhere other than in /usr/local,
run something like this instead: ./configure --prefix=$HOME
2) Type "make". This will build the software.
If it has trouble finding gdbm (e.g. if it fails with a message such as
"cannot open -lgdbm", you may need to disable gdbm with:
./configure --without-gdbm
and type "make clean" and then "make" again. (Note that without gdbm,
you can't do incremental updates using the folder_by_date option).
On some systems you may need to add "-R/usr/local/lib -L/usr/local/lib"
to the CFLAGS variable in the Makefiles, or alter your LD_LIBRARY_PATH
environment variable (Willi Kernen reports that on a 64-bit Solaris,
changing LD_LIBRARY_PATH to:
/usr/lib:/usr/local/lib:/usr/ccs/lib:/usr/ucb/lib:/usr/openwin/lib
fixed a problem).
If the make fails at this line:
ar cq libpcre.a maketables.o get.o study.o pcre.o
and the configure had said:
checking whether to build static libraries... no
then you probably should try:
./configure --disable-shared
If the make fails with a message such as:
proto.h:99: conflicting types for `strcasestr'
/usr/include/string.h:86: previous declaration of `strcasestr'
then you should try removing the line in proto.h that refers to strcasestr.
Testing Hypermail:
==================
If you wish to test the new hypermail before installing it
- chdir to tests/
- copy a mailbox you have to a local file named "testmail"
- type "sh ./testhm"
This will generate an archive under a newly created "testdir/"
directory. Check it out with your favorite browser.
When you are done testing,
- remove the testdir directory,
- remove the testmail file.
(See the README in tests/ for more information.)
Installing Hypermail:
=====================
You may need to login as root for this step.
To install just the Hypermail programs:
- chdir to the src/ directory
- Type "make install". (Or, if you prefer, just copy "hypermail" to
wherever you want it).
If you want a full install of Hypermail and its documentation, do
make install
in the main Hypermail directory (the one where you did ./configure).
If it fails with something like:
mkdir: "/usr/local/apache/htdocs/hypermail": Permission denied
then you may need to rerun ./configure giving it the directory in
which you want to install html documentation files using this option:
--with-htmldir=/var/www/htdocs
Upgrading:
==============
The body option has been disabled as of version 2.1.4 for strict
HTML 4.01 compatibility. You should replace any body command you
have in your .hmrc with a style sheet (such as a file called
hypermail.css in the archive directory), and set icss_url and
mcss_url to the url of that style sheet. If you want the appearance
that was the default before 2.1.4, your style sheet should contain this:
body {color: black; background: #ffffff}
h1.center {text-align: center}
div.center {text-align: center}
Also, if you have been using the icss_url and/or mcss_url options and
are upgrading to 2.1.4 or higher, you might want to add those statements
to your style sheet, as their style is no longer being provided by
<body ...> tags, etc. (For users not specifying an icss_url and mcss_url,
default style sheets have been put in all files to maintain that style.)
The overwrite option defaulted to On for many versions. Starting with
version 2.1.4, it defaults to off again. You may want to turn it on
again occasionally to insure that all of your archive uses the same style
(assuming you have a copy of the archive in mbox format).
::: SPECIAL NOTE:::
The cgi program called "mail" has been disabled. If you've been
using it, you should either stop using it or look carefully enough
at what it does to understand whether it is safe for you to enable
its functionality. This could be a security concern for your site.