Benjamin Juang (ibneko) wrote,
Benjamin Juang

Installing LiveJournal onto MacOS X 10.4.2

LiveJournal Installation onto 10.4.2

OS: MacOS X 10.4.2, all updates installed as of July 21, 2005

I. XCode (and related developer tools)
Install them. If you're running a relatively new system, it should be under /Applications/Installers. If you want to save space, you can customize and not install the documentation. That takes up the most space.

Download MySQL:
(binary MacOS X packages available.)
Install. I chose the Max version. Why not standard? I don't know.

III. Perl Modules
Open terminal, run cpan:
% sudo cpan
It'll ask for a Password, enter your admin/user password.
If this is the first time you're running cpan, it'll walk you through a configuration session. Defaults will be marked in square brackets '[]'.
CPAN::Config options from /System/Library/Perl/5.8.6/CPAN/
commit Commit changes to disk
defaults Reload defaults from disk
init Interactive setting of all options

build_cache 100
build_dir /Users/benjamin/.cpan/build
cache_metadata 1
cpan_home /Users/benjamin/.cpan
ftp /usr/bin/ftp
getcwd cwd
gzip /usr/bin/gzip
histfile /Users/benjamin/.cpan/histfile
histsize 100
inactivity_timeout 0
index_expire 1
inhibit_startup_message 0
keep_source_where /Users/benjamin/.cpan/sources
lynx /sw/bin/lynx
make /usr/bin/make
pager /usr/bin/less
prerequisites_policy follow
scan_cache atstart
shell /bin/tcsh
tar /usr/bin/tar
term_is_latin 1
unzip /usr/bin/unzip
wget /sw/bin/wget

Install the following perl modules (most from the livejournal docs page, but some I added):
DBI - installed without problems
-Installed OK.
Digest::MD5 - installed without problems
Digest::SHA1 - installed without problems
Image::Size - installed without problems
MIME::Lite - installed without problems
MIME::Words - installed without problems
Compress::Zlib - installed without problems
MIME::Base64 - installed without problems
URI::URL - installed without problems
HTML::Tagset - installed without problems
HTML::Parser - installed without problems
LWP::Simple - installed without problems [all defaults]
LWP::UserAgent - installed without problems [all defaults]
GD - Note: libgd must be installed first! -> *
- Tests fail. Force installed.
Mail::Address - installed without problems
Unicode::MapUTF8 - installed without problems
Storable - installed without problems
Time::HiRes - installed without problems
XML::Parser - NOTE: reqires
XML::Simple - installed without problems
Net::DNS - installed without problems

Optional Modules:
Net::SMTP - installed without problems
GD::Graph - Tests fail. Force installed.
Proc::ProcessTable - Tests died. Force installed.
SOAP::Lite - installed with errors (Net::Jabber - optional)
XML::RSS - Tests fail. Force installed.
String::CRC32 - installed without problems

* -> libgd installing process:
Follow the instructions at:

What I did to install GD - Probably not recommended unless you hit problems
Installed libpng 1.2.8 via fink**. (including shlibs)
Installed libjpeg 6b via fink. (including bin/shlibs)
Installed FreeType 2.1.9 via fink. (including shlibs)
Zlib ignored: It's already part of MacOS X. 10.4.2 includes version 1.2.2
[edit] I ended up doing ./configure --with-freetype=/sw/lib/freetype219 to get freetype to work. Fontconfig didn't work, dunno why, don't really care... X11 SDK is installed, but... o.O
[edit 2] JPEG's craping out on me. Installing manually:
Had to do setenv MACOSX_DEPLOYMENT_TARGET 10.4 to kill off glibtool problem. Ok, looks good.
[edit 3] Manually installing LibPNG as well. Ok, looks good.
Yes, gd compiles now. Running make install. All's good. Returning to cpan.

** --> fink = (actual app) + (GUI)

IV. LiveJournal, The Files
First, set the environment variable: LJHOME to where ever you will want to put your livejournal files. To do this, refer to the documentation here. If you're a tcsh user like me, you'll want to do 'setenv LJHOME /home/lj', and edit .tcshrc as required.

For my installation, I've placed my files at /Library/WebServer/LiveJournal/.

And now, grab livejournal via CVS. Should be painless.
Follow the instructions found at:
Copy and pasting those instructions should work.

V. Apache modifications
Open /etc/httpd/httpd.conf with your favorite text editor (BBEdit is suggested). You'll want to turn on (aka, remove '#' from the front of) "LoadModule perl_module ..." and "AddModule mod_perl.c". Then you'll want to add the two important lines:
PerlSetEnv LJHOME /home/lj
PerlRequire /home/lj/cgi-bin/

You can reference the example httpd.conf provided by the livejournal documentation here.

VI. Configuring your LiveJournal setup
That's all you need, really. There's no major MacOS X peculiarities that I can think of.

VII. MySQL setup
Directions here.
The difference is, if you installed the binary copy, most likely, typing 'mysql ...' will get you a "huh?" reply. The installer probably placed it in '/usr/local/mysql'. To get to the actual mysql "client" binary, you'll need to go to the 'bin' folder of mysql. Thus, "cd /usr/local/mysql/bin/" and execute the mysql command there by typing "./mysql -uroot -p". Chance are, you don't have a password for your root user yet, so just hit enter at the password prompt. We'll set that up later.

Oh, yeah, MySQL does have to be running for the mysql client to connect to it. Go install the nice preference pane included with the binary and use that to start up MySQL.

Follow through with the instructions provided by the livejournal server documentation, then come back here.

Now, to set a password so others can't log into the database as root, do:
% ./mysqladmin -uroot -p password [new password]
(curious as to what the various switches do? Try "./mysqladmin --help")

Continue onto the next page of the server documentation and follow those instructions. You should see a long list of stuff, ending with:
The system user was created with a random password.
Run $LJHOME/bin/upgrading/ to change its password and grant the necessary privileges.
Remember to also run:
bin/upgrading/ load

# Done.

Note those lines, and go run " load". It should show another long list of stuff, ending with:
inserting crumb.advcustomize
Making usable...

Now you can run the to set a password and privs.

VIII. Crontab (periodic task manager)
Follow the instructions. No major changes here, 'cept you'll need to know how to use vi. Hit google, to type ':help' to reach help. If you'd rather not learn, just copy all of the stuff on the documentation page, then hit 'i' (to switch to inserting mode), followed by command-v to paste it all in. Then hit ":", type "wq", and hit enter. This will write and quit.

IX. Finishing up

  • SFO -> TPE!

    Flying to Taiwan for two weeks. Currently at NRT (Narita airport in Japan) Quick bullet notes: • Plane was a 787-8, ANA metal. 787 Dreamliner was…

  • Oh, hello from Taiwan.

    I'm in Taiwan right now. Been to Taipei, Hsinchu, and I'm in Kaohsiung right now. I can't wait for California to get our High Speed Rail system.…

  • Beijing so far...

    So I'm in Beijing right now. I don't post often enough anymore. Got sent here for work, will be here until the 19th. Pollution is terrible. Stuff…

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded