Upgrading an old LJ Installation to DW Codebase - Steps

From Dreamwidth Notes
Jump to: navigation, search

LJ to DW conversion steps

  • Create dj user.
  • Downloaded bootstrap.pl
  • apt-get install mercurial
  • perl bootstrap.pl
  • Edited etc/config-local.pl
  • Edited etc/config-private.pl
  • Looked over etc/config.pl
  • Ran checkconfig.pl
  • apt-get install libclass-accessor-perl libclass-autouse-perl libclass-trigger-perl libgnupg-interface-perl libhtml-template-perl perlmagick libmail-gnupg-perl
  • apt-get install apache2-mpm-prefork libapache2-mod-perl2 libapache2-mod-apreq2 libapache2-request-perl
  • a2enmod apreq
  • a2disite default
  • added /etc/apache2/conf.d/stage
/etc/apache/conf.d/stage:
User dj
Group dj
UseCanonicalName off

StartServers 1
MaxSpareServers 2
MinSpareServers 1

DocumentRoot /home/dj/htdocs

PerlSetEnv  LJHOME /home/dj
PerlPassEnv LJHOME

PerlRequire  /home/dj/cgi-bin/modperl.pl
  • Installed via CPAN Captcha::reCAPTCHA,HTML::Tiny
  • ran update-db.pl -r --cluster=all
  • Had to go in, and manually delete the table 'subs' (it was empty), and recreate the table from the update-db-general.pl file.
  • ran update-db.pl -r --cluster=all again.
  • wait wait wait for huge log2 table conversion
  • ran update-db.pl -r --cluster=1 and --cluster=2 for good measure
  • ./update-db.pl -p -r

Working on a 64 -> 32 patch since Amazon AWS charges like 4 times more for a 64 bit instance vs a 32 bit instance. Got the blessing from the DW staff (thank you) to proceed with patch as to not make DW only dependent on high-end hosting.


  • Created TheSchwartz database and config files illustrated in TheSchwartz_Setup
  • Copied over the new DJ look file to cgi-bin/bml/scheme and also moved the css and images into htdocs/img
  • Edited lang-local in bin/upgrading to see if I can import a text dump of en_DJ that I had on a dev server from time long past. Turns out that most of the DJ translation strings will have to be redone, but thats a minor issue.
  • In MySQL, copied (on each cluster) the contents of friendgroup2 -> trust_groups so we retain friend groups.