X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=INSTALL;h=45829a80eaef552c62dcba6a2fde5c29baffab9a;hb=92dd30285b579204b242df3e12b57b926083b666;hp=9f05c3f622509ec4fc8832ea13d77a575d6fb1af;hpb=a3f00c4a7851b98b81a2fcb31d5ed131908e22de;p=public-inbox.git diff --git a/INSTALL b/INSTALL index 9f05c3f6..45829a80 100644 --- a/INSTALL +++ b/INSTALL @@ -2,7 +2,7 @@ public-inbox (server-side) installation --------------------------------------- This is for folks who want to setup their own public-inbox instance. -Clients should use normal git-clone/git-fetch, or NNTP clients +Clients should use normal git-clone/git-fetch, IMAP or NNTP clients if they want to import mail into their personal inboxes. public-inbox is developed on Debian GNU/Linux systems and will @@ -24,30 +24,20 @@ functionality. The core tools are, of course: * Git (1.8.0+, 2.6+ for writing v2 inboxes) * Perl 5.10.1+ -* DBD::SQLite (needed for NNTP, message threading, and v2 inboxes) +* DBD::SQLite (needed for IMAP, NNTP, message threading, and v2 inboxes) 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: - -* Digest::SHA typically installed with Perl - rpm: perl-Digest-SHA +Beyond that, there is one non-standard Perl module required: * URI::Escape deb: liburi-perl pkg: p5-URI rpm: perl-URI (for HTML/Atom generation) -Email::MIME will be optional as of public-inbox v1.5.0, -it may still be used in maintainer comparison tests: - -* Email::MIME deb: libemail-mime-perl - pkg: p5-Email-MIME - rpm: perl-Email-MIME - Plack and Date::Parse are optional as of public-inbox v1.3.0, but required for older releases: @@ -70,29 +60,42 @@ Numerous optional modules are likely to be useful as well: - DBD::SQLite deb: libdbd-sqlite3-perl pkg: p5-DBD-SQLite rpm: perl-DBD-SQLite - (for v2, NNTP, or gzipped mboxes) + (for v2, IMAP, NNTP, or gzipped mboxes) -- Search::Xapian deb: libsearch-xapian-perl - pkg: p5-Search-Xapian +- Search::Xapian or Xapian(.pm) deb: libsearch-xapian-perl + pkg: p5-Search-Xapian OR p5-Xapian rpm: perl-Search-Xapian - (HTTP search) + (HTTP and IMAP search) - Net::Server deb: libnet-server-perl pkg: pkg-Net-Server rpm: perl-Net-Server - (for HTTP/NNTP background daemons, + (for HTTP/IMAP/NNTP background daemons, not needed as systemd services or foreground servers) - Inline::C deb: libinline-c-perl pkg: pkg-Inline-C + rpm: perl-Inline (or perl-Inline-C) (speeds up process spawning on Linux, see public-inbox-daemon(8)) - Email::Address::XS deb: libemail-address-xs-perl pkg: pkg-Email-Address-XS (correct parsing of tricky email - addresses, phrases and comments) + addresses, phrases and comments, + required for IMAP) + +- Parse::RecDescent deb: libparse-recdescent-perl + pkg: p5-Parse-RecDescent + rpm: perl-ParseRecDescent + (optional, for public-inbox-imapd(1)) + +- BSD::Resource deb: libbsd-resource-perl + pkg: p5-BSD-Resource + rpm: perl-BSD-Resource + (optional, for PSGI limiters + see public-inbox-config(5)) - Plack::Middleware::ReverseProxy deb: libplack-middleware-reverseproxy-perl pkg: p5-Plack-Middleware-ReverseProxy @@ -108,35 +111,19 @@ Numerous optional modules are likely to be useful as well: rpm: xapian-core (optional, for public-inbox-compact(1)) -The following modules are typically pulled in by dependencies listed -above, so there is no need to explicitly install them: +- Linux::Inotify2 deb: liblinux-inotify2-perl + rpm: perl-Linux-Inotify2 + (for public-inbox-watch and -imapd on Linux) -* Encode deb: libperl5.$MINOR (or libencode-perl) - pkg: perl5 - rpm: perl-Encode - (likely installed with Perl) +The following module is typically pulled in by dependencies listed +above, so there is no need to explicitly install them: - DBI deb: libdbi-perl pkg: p5-DBI rpm: perl-DBI (pulled in by DBD::SQLite) -* Devel::Peek deb: libperl5.$MINOR (e.g. libperl5.24) - pkg: perl5 - rpm: perl-Devel-Peek - (optional for stale FD cleanup in daemons, - typically installed alongside Perl5) - -- Linux::Inotify2 deb: liblinux-inotify2-perl - rpm: perl-Linux-Inotify2 - (for public-inbox-watch on Linux) - -- IO::Compress (::Gzip) deb: perl-modules (or libio-compress-perl) - pkg: perl5 - rpm: perl-IO-Compress - (for gzipped mbox over HTTP, v2 format) - -Uncommonly needed modules: +Uncommonly needed modules (see HACKING for development-only modules): - Socket6 deb: libsocket6-perl pkg: p5-Socket6 @@ -150,20 +137,6 @@ Uncommonly needed modules: pkg: p5-Crypt-CBC (for PublicInbox::Unsubscribe (rarely used)) -Optional packages testing and development: - -- Plack::Test deb: libplack-test-perl - pkg: p5-Plack - rpm: perl-Plack-Test - -- Test::Simple deb: perl-modules-5.$MINOR - pkg: perl5 - rpm: perl-Test-Simple - -- XML::TreePP deb: libxml-treepp-perl - pkg: p5-XML-TreePP - rpm: perl-XML-TreePP - standard MakeMaker installation (Perl) -------------------------------------- @@ -193,8 +166,19 @@ will not destroy critical data. See the public-inbox-overview(7) man page for the next steps once the installation is complete. +The following required packages are part of the Perl standard +library. Debian-based distros put them in "libperl5.$MINOR" or +"perl-modules-5.$MINOR"; and FreeBSD puts them in "perl5". +RPM-based distros split them out into separate packages: + +* Digest::SHA rpm: perl-Digest-SHA +* Data::Dumper rpm: perl-Data-Dumper +* Encode rpm: perl-Encode +* IO::Compress rpm: perl-IO-Compress +* Storable rpm: perl-Storable + Copyright --------- -Copyright 2013-2020 all contributors +Copyright 2013-2021 all contributors License: AGPL-3.0+