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
| | public-inbox (server-side) installation
---------------------------------------
This is for folks who want to setup their own public-inbox instance.
Clients should see https://ssoma.public-inbox.org/INSTALL.html instead
if they want to import mail into their personal inboxes.
TODO: this still needs to be documented better,
also see the scripts/ and sa_config/ directories in the source tree
Requirements
------------
public-inbox requires a number of other packages to access its full
functionality. The core tools are, of course:
* Git
* Perl
* Sqlite
To accept incoming mail into a public inbox, you'll likely want:
* MTA - postfix is recommended (for public-inbox-mda)
* SpamAssassin (spamc/spamd) (for public-inbox-watch/public-inbox-mda)
Beyond that, there is a long list of Perl modules required, starting with:
* Date::Parse
* Email::MIME
* Email::MIME::ContentType
* Encode::MIME::Header
On Debian systems, these modules can be had with the libtimedate-perl,
libemail-mime-perl, and libemail-mime-contenttype-perl packages. On Fedora
and similar, install perl-Time-ParseDate and perl-Email-MIME.
Optional Perl modules:
- Plack[1] libplack-perl
- URI::Escape[1] liburi-perl
- Search::Xapian[2][3] libsearch-xapian-perl
- IO::Compress::Gzip[3] perl-modules (or libio-compress-perl)
- DBI[3] libdbi-perl
- DBD::SQLite[2][3] libdbd-sqlite3-perl
- Danga::Socket[4] libdanga-socket-perl
- Net::Server[5] libnet-server-perl
- Filesys::Notify::Simple[6] libfilesys-notify-simple-perl
On Fedora systems the modules you'll want are perl-Plack, perl-Plack-Test,
perl-Plack-Middleware-ReverseProxy, perl-Plack-Middleware-Deflater,
perl-URI, perl-Search-Xapian, perl-PerlIO-gzip, perl-DBI, perl-DBD-SQLite,
perl-Danga-Socket, perl-Net-Server. You'll probably also end up wanting
perl-Test-HTTP-Server-Simple, perl-Devel-Peek, perl-IPC-Run, and
perl-Filesys-Notify-Simple.
[1] - Optional, needed for serving/generating Atom and HTML pages
[2] - Optional, only required for NNTP server
[3] - Optional, needed for gzipped mbox support over HTTP
[4] - Optional, needed for bundled HTTP and NNTP servers
[5] - Optional, needed for standalone daemonization of HTTP+NNTP servers
[6] - Optional, needed for public-inbox-watch Maildir watcher
standard MakeMaker installation (Perl)
--------------------------------------
Once the dependencies are installed, you should be able to build and
install the system (into /usr/local) with:
perl Makefile.PL
make
make test
make install # root permissions may be needed
When installing Search::Xapian, make sure the underlying Xapian
installation is not affected by an index corruption bug:
https://bugs.debian.org/808610
For Debian 8.x (jessie), this means using Debian 8.5 or later.
public-inbox will never store unregeneratable data in Xapian
or any other search database we might use; Xapian corruption
will not destroy critical data.
See public-inbox-overview for the next steps once the installation is
complete.
Copyright
---------
Copyright 2013-2018 all contributors <meta@public-inbox.org>
License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
|