]> Sergey Matveev's repositories - public-inbox.git/blobdiff - INSTALL
wwwstream: flesh out clone instructions for v2
[public-inbox.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 1c7370ecf4505f41e40f52474ab28ef06ae61d4d..11d844cf1c9e8c3b4de293d5de158f19fa9b16bc 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,6 +1,16 @@
-Note: this still needs to be documented better,
+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
 
+It should also be possible to use public-inbox with only IMAP
+(or even POP(!)) access to a mailbox.
+
 standard MakeMaker installation (Perl)
 --------------------------------------
 
@@ -9,33 +19,66 @@ standard MakeMaker installation (Perl)
        make test
        make install # root permissions may be needed
 
-Requirements (server MDA)
--------------------------
+Requirements
+------------
+
 * git
-* ssoma - http://ssoma.public-inbox.org/README
-* SpamAssassin (spamc/spamd)
-* MTA - postfix is recommended
 * Perl and several modules:    (Debian package name)
-  - CGI                        perl-modules[1]
   - Date::Parse                libtimedate-perl
-  - Email::Address             libemail-address-perl
-  - Email::Filter              libemail-filter-perl
   - Email::MIME                libemail-mime-perl
   - Email::MIME::ContentType   libemail-mime-contenttype-perl
   - Encode::MIME::Header       perl
-  - File::Path::Expand         libfile-path-expand-perl
-  - IPC::Open2                 perl
-  - IPC::Run                   libipc-run-perl
-  - Mail::Thread (2.5+)        libmail-thread-perl
-  - URI::Escape                liburi-perl
-  - XML::Atom::SimpleFeed      libxml-atom-simplefeed-perl
-
-[1] - Only required for serving/generating Atom and HTML pages.
-      Keep in mind this will be split into a separate Debian package
-      when CGI.pm is dropped from the Perl standard library.
-      Plack/PSGI, FastCGI, and mod_perl2 will all be supported.
+
+Optional components:
+
+* MTA - postfix is recommended (for public-inbox-mda)
+* SpamAssassin (spamc/spamd)   (for public-inbox-watch/public-inbox-mda)
+
+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
+  - Inline::C[7]               libinline-c-perl
+  - Plack::Middleware::ReverseProxy[8] libplack-middleware-reverseproxy-perl
+  - Plack::Middleware::Deflater[8] libplack-middleware-deflater-perl
+
+[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
+[7] - Optional, allows speeds up spawning on Linux (see public-inbox-daemon(8))
+[8] - Optional, recommended for PSGI interface
+
+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.
+
+Optional Perl modules (for developers):
+
+  - XML::Feed[9]               libxml-feed-perl
+  - IPC::Run[10]               libipc-run-perl
+
+[9] - Optional, for testing Atom feeds
+[10] - Optional, for some tests (we hope to drop this dependency someday)
 
 Copyright
 ---------
-Copyright 2013, Eric Wong <normalperson@yhbt.net> and all contributors.
-License: AGPLv3 or later <http://www.gnu.org/licenses/agpl-3.0.txt>
+
+Copyright 2013-2018 all contributors <meta@public-inbox.org>
+License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>