user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
68fbd6609072d08ebbabc9a520b7f5de7c00c987 blob 3238 bytes (raw)

 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>
debug log:

solving 68fbd66 ...
found 68fbd66 in https://public-inbox.org/meta/20180227163609.23ed8aa3@lwn.net/
found 3758e8d in https://80x24.org/public-inbox.git
preparing index
index prepared:
100644 3758e8dad3a07a8c9a97dcd0e5014311c0128ee2	INSTALL

applying [1/1] https://public-inbox.org/meta/20180227163609.23ed8aa3@lwn.net/
diff --git a/INSTALL b/INSTALL
index 3758e8d..68fbd66 100644

1:42: trailing whitespace.
Beyond that, there is a long list of Perl modules required, starting with: 
Checking patch INSTALL...
Applied patch INSTALL cleanly.
warning: 1 line adds whitespace errors.

index at:
100644 68fbd6609072d08ebbabc9a520b7f5de7c00c987	INSTALL

Code repositories for project(s) associated with this inbox:

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).