]> Sergey Matveev's repositories - public-inbox.git/blob - INSTALL
INSTALL: document more optional dependencies
[public-inbox.git] / INSTALL
1 public-inbox (server-side) installation
2 ---------------------------------------
3
4 This is for folks who want to setup their own public-inbox instance.
5 Clients should see https://ssoma.public-inbox.org/INSTALL.html instead
6 if they want to import mail into their personal inboxes.
7
8 TODO: this still needs to be documented better,
9 also see the scripts/ and sa_config/ directories in the source tree
10
11 It should also be possible to use public-inbox with only IMAP
12 (or even POP(!)) access to a mailbox.
13
14 standard MakeMaker installation (Perl)
15 --------------------------------------
16
17         perl Makefile.PL
18         make
19         make test
20         make install # root permissions may be needed
21
22 Requirements
23 ------------
24
25 * git
26 * Perl and several modules:    (Debian package name)
27   - Date::Parse                libtimedate-perl
28   - Email::MIME                libemail-mime-perl
29   - Email::MIME::ContentType   libemail-mime-contenttype-perl
30   - Encode::MIME::Header       perl
31
32 Optional components:
33
34 * MTA - postfix is recommended (for public-inbox-mda)
35 * SpamAssassin (spamc/spamd)   (for public-inbox-watch/public-inbox-mda)
36
37 Optional Perl modules:
38
39   - Plack[1]                   libplack-perl
40   - URI::Escape[1]             liburi-perl
41   - Search::Xapian[2][3]       libsearch-xapian-perl
42   - IO::Compress::Gzip[3]      perl-modules (or libio-compress-perl)
43   - DBI[3]                     libdbi-perl
44   - DBD::SQLite[2][3]          libdbd-sqlite3-perl
45   - Danga::Socket[4]           libdanga-socket-perl
46   - Net::Server[5]             libnet-server-perl
47   - Filesys::Notify::Simple[6] libfilesys-notify-simple-perl
48   - Inline::C[7]               libinline-c-perl
49   - Plack::Middleware::ReverseProxy[8] libplack-middleware-reverseproxy-perl
50   - Plack::Middleware::Deflater[8] libplack-middleware-deflater-perl
51
52 [1] - Optional, needed for serving/generating Atom and HTML pages
53 [2] - Optional, only required for NNTP server
54 [3] - Optional, needed for gzipped mbox support over HTTP
55 [4] - Optional, needed for bundled HTTP and NNTP servers
56 [5] - Optional, needed for standalone daemonization of HTTP+NNTP servers
57 [6] - Optional, needed for public-inbox-watch Maildir watcher
58 [7] - Optional, allows speeds up spawning on Linux (see public-inbox-daemon(8))
59 [8] - Optional, recommended for PSGI interface
60
61 When installing Search::Xapian, make sure the underlying Xapian
62 installation is not affected by an index corruption bug:
63
64         https://bugs.debian.org/808610
65
66 For Debian 8.x (jessie), this means using Debian 8.5 or later.
67
68 public-inbox will never store unregeneratable data in Xapian
69 or any other search database we might use; Xapian corruption
70 will not destroy critical data.
71
72 Optional Perl modules (for developers):
73
74   - XML::Feed[9]               libxml-feed-perl
75   - IPC::Run[10]               libipc-run-perl
76
77 [9] - Optional, for testing Atom feeds
78 [10] - Optional, for some tests (we hope to drop this dependency someday)
79
80 Copyright
81 ---------
82
83 Copyright 2013-2018 all contributors <meta@public-inbox.org>
84 License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>