1. Install extra required packages and modules

You need to install some extra Perl modules and system components for supplemental software such as Perlbal and MogileFS. These are not needed by the core LiveJournal software, and are not checked for by the LiveJournal configuration checking tool (checkconfig.pl).

# cd $LJHOME
# apt-get install memcached openssl postfix

Installing memcached

Many Linux installations have memcached packages available. If you are using Debian, you can install it as above.

If you prefer to install and set it up yourself, please see the Danga Interactive[o] website for installation advice. For convenience, the server and client API code is automatically checked out from the SVN repository into your LiveJournal cvs subdirectories: /memcached/server and memcached/api/perl, respectively.

The Cache::Memcached module on CPAN is just the client side. This often confuses people. You also need to make sure you are running the server component (provides the memcached daemon).

As before, installing installing binary packages of modules provided through your Linux distribution is probably easiest. Modules for which no binary package is available can be obtained through CPAN, as discussed at Section 2, “Installing Perl Modules”.

BSD::Resource Required for Perlbal. libbsd-resource-perl
Cache::Memcached memcached client API module libcache-memcached-perl
Crypt::SSLeay Required for SSL support. libnet-ssleay-perl
Data::Queue::Persistent Required for persistent queues for MogileFS.  
DateTime::TimeZone Required for S2 timezone support. libdatetime-timezone-perl
Danga::Socket Required for Perlbal, and MogileFS daemons. libdanga-socket-perl
IO::AIO (version 1.6 or greater) libio-aio-perl
IO::Socket::SSL (version 0.97 or greater) libio-socket-ssl-perl
JSON::Any Required for TheSchwartz server/workers libjson-any-perl
JSON Required for TheSchwartz server/workers libjson-perl
Net::SSLeay Required for SSL support. libnet-ssleay-perl
Net::Netmask Required for Perlbal reverse-proxying. libnet-netmask-perl
Sys::Syscall Required for Perlbal. libsys-syscall-perl
Text::SimpleTable Required for TheSchwartz job submission reports. libtext-simpletable-perl

Perlbal / Gearman can optionally use Devel::Gladiator, and Devel::Cycle for memory tracking and debugging. If you wish to install these, they are available through the SVN repository: http://code.sixapart.com/svn/Devel-Gladiator/ and CPAN (or libdevel-cycle-perl on Debian), respectively.