LiveJournal requires several Perl modules to be installed. Installing these modules requires a fully working perl and C development environment (including a C compiler and make tool).
Some modules such as GD and Compress::Zlib require certain C libraries to be pre-installed on your machine in order to work. Please read the author-provided README files for each module before proceeding further.
Table 6.1. Required Modules
DBI | libdbi-perl |
DBD::mysql | libdbd-mysql-perl |
Digest::MD5 | libdigest-md5-perl |
Digest::SHA1 | libdigest-sha1-perl |
Image::Size | libimage-size-perl |
MIME::Lite | libmime-lite-perl |
MIME::Words | libmime-perl |
Compress::Zlib | libcompress-zlib-perl |
MIME::Base64 | libmime-base64-perl |
URI::URL | liburi-perl |
HTML::Tagset | libhtml-tagset-perl |
HTML::Parser | libhtml-parser-perl |
LWP::Simple | libwww-perl |
LWP::UserAgent | libwww-perl |
GD | libgd-perl |
Mail::Address | libmailtools-perl |
Unicode::MapUTF8 | libunicode-maputf8-perl |
Storable | libstorable-perl |
Time::HiRes | libtime-hires-perl |
IO::WrapTie |
Optional modules
Debian Install. If you're using Debian the following command should retrieve and build every required module:
# apt-get install libdbi-perl libdbd-mysql-perl libdigest-md5-perl \ libdigest-sha1-perl libimage-size-perl libmime-lite-perl \ libmime-perl libcompress-zlib-perl libmime-base64-perl \ liburi-perl libhtml-tagset-perl libhtml-parser-perl \ libwww-perl libwww-perl libgd-perl \ libmailtools-perl libunicode-maputf8-perl libstorable-perl \ libtime-hires-perl
And likewise for the optional modules:
# apt-get install libnet-perl libgd-graph-perl libproc-process-perl \ librpc-xml-perl libsoap-lite-perl libxml-rss-perl \ libstring-crc32-perl
Using CPAN. Otherwise you'll want to use CPAN to install the modules by performing the following steps:
From the root prompt on your server, invoke the CPAN shell:
# perl -MCPAN -e shell
Once the Perl interpreter has loaded (and been configured), you can install modules by issuing the command install MODULENAME.
The first thing you should do is upgrade your CPAN:
cpan> install Bundle::CPAN
Once it's done, type:
cpan> reload cpan
Now, enter the following command to retrieve all of the required modules:
cpan> install DBI cpan> install DBD::mysql cpan> install Digest::MD5 cpan> install Digest::SHA1 cpan> install Image::Size cpan> install MIME::Lite cpan> install MIME::Words cpan> install Compress::Zlib cpan> install MIME::Base64 cpan> install URI::URL cpan> install HTML::Tagset cpan> install HTML::Parser cpan> install LWP::Simple cpan> install LWP::UserAgent cpan> install GD cpan> install Mail::Address cpan> install Unicode::MapUTF8 cpan> install Storable cpan> install Time::HiRes cpan> install IO::WrapTie
And likewise for the optional modules:
cpan> install Net::SMTP cpan> install GD::Graph cpan> install Proc::ProcessTable cpan> install RPC::XML cpan> install SOAP::Lite cpan> install XML::RSS cpan> install String::CRC32
There used to be a few custom LJ:: modules that needed installing. Those no longer need to be installed on the system, as LJ uses them right out of /cgi-bin/* instead. If by chance you have those old LJ modules installed, it's best to go remove them since Perl will prefer system-level ones over the (newer) local ones.
To ensure that you have installed the necessary modules, be sure to run the included tool: $LJHOME/bin/checkconfig.pl. If checkconfig.pl doesn't detect all of the required modules, it will tell you which ones you are missing. Note that this tool will fail after checking for modules, because it will also check for a database connection, which hasn't been set up yet. This will be fixed later when we add options to checkconfig.pl to detect for specific sections of installation.