Forum archive 2000-2006

Peter Hein - Installing WeBWorK on Mac OS X Panther 10.3

Peter Hein - Installing WeBWorK on Mac OS X Panther 10.3

by Arnold Pizer -
Number of replies: 0
inactiveTopicInstalling WeBWorK on Mac OS X Panther 10.3 topic started 2/28/2005; 1:13:17 PM
last post 3/1/2005; 11:51:13 PM
userPeter Hein - Installing WeBWorK on Mac OS X Panther 10.3  blueArrow
2/28/2005; 1:13:17 PM (reads: 2279, responses: 2)
Hello!

I wanted to post this and look for some Mac volunteers. I am installing, for the first time, webwork on an XServe running 10.3.x. I am posting what I have done so far and would be glad to get feedback from others who have installed webwork on either 10.2 or 10.3.

Thanks! -Peter

 

WeBWorK Installation for Mac OS X a journal of the installation process

peter.hein@wright.edu - 28 Feb 2005

This project is being installed on a dual-G4 XServe with 1GB RAM and running Mac OS X 10.3.8 with all security updates installed. Whenever possible, I am providing links to sources of information that helped me get the various pieces installed and working.

NOTE This documentation is in very rough draft form right now. Not all of this is completed as of yet. I will be updating it as the process and project gets further along. If anyone would like to help and provided added documentation, I would be glad to accept in and edit it in future releases. Please send any text to the e-mail address provided above.

Let the installation begin. . .

Install OS X 10.3.5 Run software update to base OS and security updates Install Apple dev tools - Xcode 1.5

Recompile mod_perl http://www.macosxhints.com/article.php?story=20031129120521712

TtH --- not installed yet http://www.esm.psu.edu/mac-tex/toolsX.html

Install Fink and other packages

http://fink.sourceforge.com download the package installer for OS X Install binaries From term window ". /sw/bin/init.sh"

Install netpbm fink install netpbm Many supporting libs also installed

Install GD --- ran into problems, not done yet fink install GD 4 supporting libs Install notes http://www.bugzilla.org/docs/2.14/html/osx.html ran into problems and going to install by hand http://www.paginar.net/matias/articles/gd_x_howto.html Multiple packages are required to build GD by hand site #2 http://caltech.wormbase.org/docs/install_macosx/INSTALL.macosx.html Problems finding libjpeg site seems to be down

dvipng - manual install

Install TeTeX http://wiki.lyx.org/pmwiki.php/LyX/Mac#Prerequisites

Perl Modules

See list of perl modules that need to be installed. I was able to install all of them via MCPAN except GD (notes GD lib must be installed before you try and load the perl module), XML::Parser had problems, and I will try and build it by hand.

Download PG and webWorks --- downloaded waiting to get all of the above built and working first.

<| Post or View Comments |>


userMichael Gage - Re: Installing WeBWorK on Mac OS X Panther 10.3  blueArrow
2/28/2005; 8:24:02 PM (reads: 2521, responses: 1)
Your experience corresponds to my memory of installing webwork on 10.2.8. (I didn't even have XServe to start with.) My notes are at http://devel.webwork.rochester.edu/ twiki/bin/view/Webwork/MacInstall, but are not anywhere as complete as yours. You are doing a real service.

I found that even though mod_perl was listed in the httpd.config file that I needed to add the Apache::Request module, which, since it has lots of binaries, mans installing a version of libapreq. As I recall I had to do that by hand in the end and it took a couple of tries.

I also found that getting GD.pm (in particular the binary libgd ) installed and working took some time. I believe I also had to install it by hand. It was important to make sure that the versions of GD and libgd matched and it must be installed early -- I believe before libapreq.

The other modules (besides GD and Apache::Request) that caused me trouble was the DateTime.pm module (or rather some modules required by the DateTime module) and some modules required by the XML::Parser. I had to install these by hand, rather than use CPAN.

Thanks for all of the additional references. http://www.macosxhints.com is down right at the moment, as is our own twiki site at devel.webwork.rochester.edu -- but I hope both of these will be up again soon. Ours will be up by tomorrow or sooner I hope.

Thanks again for this journal -- it will be very helpful.

-- Mike

<| Post or View Comments |>


userDavide P. Cervone - Re: Installing WeBWorK on Mac OS X Panther 10.3  blueArrow
3/1/2005; 11:51:13 PM (reads: 2933, responses: 0)
Here are the notes I took last summer when I set up WW2 on a Mac running Apple's Server software. This was 10.3.x, but I don't remember exactly the x (perhaps 2?)

I did all the Perl stuff by hand (I never did have much luck with CPAN module, and prefered to keep copies of the stalled archives in case I needed to rebuild later with the same versions.) So there are pretty explicit instructions for these, though the versions may vary if you get them from CPAN today.

The details are sketchier at the bottom, I'm afraid. It did take some tinkering to get everything right, and sometimes the order of things was important. GD was one of the things that had to be handled carefully, as I recall.

Hope this helps.

 


 

Install OS X Server
Install Developer disk (include X11 SDK, can exclude examples and docs)
Install X11 (get from apple OS X site) and X11 SDK (on developer disk)
Run Software update (several times, until no new updates)


Start Web Services
Turn off webperfcache
turn on mod_perl


Install fink (I used 0.7)
Allow it to update itself


Install fink packages:
freetype2 (will add shlibs)
libjpeg (adds shlibs and bin)
libtiff (adds shlibs and bin)
libwww (adds shlibs and bin)
libpng3 (adds shlibs)
netpbm (adds shlibs, bin, and netpbm10-shlibs)
tetex-base and tetex-texmf (adds lots of stuff, can accept defaults unless you
already have ghostscript installed, in which case select the system-ghostscript)
tetex-dev
texinfo
expat


rehash
run texconfig to reset paper size (pdftex paper set to letter)



get gd2, dvipng tth and preview into /usr/local/src


curl -O http://hutchinson.belmont.ma.us/tth/tth-noncom/tth_C.tgz
curl -O http://umn.dl.sourceforge.net/sourceforge/dvipng/dvipng-1.1.tar.gz
curl -O http://www.boutell.com/gd/http/gd-2.0.26.tar.gz
curl -O http://www.tug.org/tex-archive/macros/latex/contrib/preview/preview.dtx
curl -O http://www.tug.org/tex-archive/macros/latex/contrib/preview/preview.ins



Make gd2:


cd /usr/local/build
tar vfxz ../src/gd-2.0.26.tar.gz
ce gd-2.0.26
./configure LDFLAGS=-L/sw/lib CPPFLAGS=-I/sw/include
make
sudo make install



Make tth:


cd /usr/local/build
tar vfxz ../src/tth_C.tgz
cd tth_C
gcc -o tth tth.c
sudo cp tth /usr/local/bin



Make preview:


cd /usr/local/build
mkdir preview
cp ../src/preview* .
cd preview
tex preview.ins
latex preview.drv
sudo mkdir /sw/share/texmf-local/tex
sudo mkdir /sw/share/texmf-local/tex/latex
sudo mkdir /sw/share/texmf-local/tex/latex/preview
sudo mv *.cfg *.def *.sty /sw/share/texmf-local/tex/latex/preview/
sudo texhash



Make dvipng:


use dselect to install gd2 and gd2-shlib


cd /usr/local/build
tar vfxz ../src/dvipng-1.1.tar.gz
cd dvipng-1.1
./configure LDFLAGS=-L/sw/lib CPPFLAGS=-I/sw/include
make
make test
sudo make install



Make Perl modules:
(get these from CPAN)


GD


cd /usr/local/Perl/build
tar vfxz ../src/GD-2.12.tar.gz
cd GD-2.12
perl Makefile.pl
(answer /usr/local/lib for where is libgd, and return for others)
make
make test
sudo make install


DBI


cd /usr/local/Perl/build
tar vfxz ../src/DBI-1.42.tar.gz
cd DBI-1.42
perl Makefile.pl
(warnings about threads; I ignored these)
make
make test
sudo make install


Data::UUID


cd /usr/local/Perl/build
tar vfxz ../src/Data-UUID-0.11.tar.gz
cd Data-UUID-0.11
perl Makefile.pl
(accept defaults)
make
make test
sudo make install


Date::Format amd Date::Parse


cd /usr/local/Perl/build
tar vfxz ../src/TimeDate-1.16.tar.gz
cd TimeDate-1.16
perl Makefile.pl
make
make test
sudo make install


Mail::Sender


cd /usr/local/Perl/build
tar vfxz ../src/Mail-Sender-0.8.10.tar.gz
cd Mail-Sender-0.8.10
perl Makefile.pl
(accept defaults)
make
make test
sudo make install


IO::Stringy


cd /usr/local/Perl/build
tar vfxz ../src/IO-stringy-2.109.tar.gz
cd IO-stringy-2.109
perl Makefile.pl
make
make test
sudo make install



MailTools:


cd /usr/local/Perl/build
tar vfxz ../src/MailTools-1.62.tar.gz
cd MailTools-1.62
perl Makefile.pl
make
make test
sudo make install



MIME::Parser


cd /usr/local/Perl/build
tar vfxz ../src/MIME-tools-5.411.tar.gz
cd MIME-tools-5.411
perl Makefile.pl
(accept defaults)
make
make test
(failed one test; t/Ref #41; I ignored)
sudo make install


HTML::Tagset


cd /usr/local/Perl/build
tar vfxz ../src/HTML-Tagset-3.03.tar.gz
cd HTML-Tagset-3.03
perl Makefile.pl
make
make test
sudo make install


HTML::Parser


cd /usr/local/Perl/build
tar vfxz ../src/HTML-Parser-3.36.tar.gz
cd HTML-Parser-3.36
perl Makefile.pl
make
(accept defaults)
make test
sudo make install


URI


cd /usr/local/Perl/build
tar vfxz ../src/URI-1.31.tar.gz
cd URI-1.31
perl Makefile.pl
make
make test
sudo make install


libwww


cd /usr/local/Perl/build
tar vfxz ../src/libwww-perl-5.79.tar.gz
cd libwww-perl-5.79
perl Makefile.pl
make
make test
sudo make install


Apache::Test


cd /usr/local/Perl/build
tar vfxz ../src/Apache-Test-1.11.tar.gz
cd Apache-Test-1.11
perl Makefile.pl
(warning about removing old version)
make
make test
sudo make install


Apache::Request


cd /usr/local/Perl/build
tar vfxz ../src/libapreq-1.3.tar.gz
cd libapreq-1.3
perl Makefile.pl
make
make test
(fails a test in t/inherit; I ignored and hoped for the best)
sudo make install


Time::HiRes


cd /usr/local/Perl/build
tar vfxz ../src/Time-HiRes-1.59.tar.gz
cd Time-HiRes-1.59
perl Makefile.pl
make
make test
(one test takes a long time, so be patient)
sudo make install


XML::Parser::EasyTree


cd /usr/local/Perl/build
tar vfxz ../src/XML-Parser-EasyTree-0.01.tar.gz
cd XML-Parser-EasyTree-0.01
perl Makefile.pl
make
make test
sudo make install


XML::Parser


cd /usr/local/Perl/build
tar vfxz ../src/XML-Parser-2.34.tar.gz
cd XML-Parser-2.34
perl Makefile.pl EXPATLIBPATH=/sw/lib EXPATINCPATH=/sw/include
make
make test
sudo make install


XML::Writer


cd /usr/local/Perl/build
tar vfxz ../src/XML-Writer-0.510.tar.gz
cd XML-Writer-0.510
perl Makefile.pl
make
make test
sudo make install


SOAP::Lite


cd /usr/local/Perl/build
tar vfxz ../src/SOAP-Lite-0.60a.tar.gz
cd SOAP-Lite-0.60a
perl Makefile.pl
(accept defaults; if you want other support, e.g., SSL, then make those first)
make
make test
sudo make install


Data::ShowTable


cd /usr/local/Perl/build
tar vfxz ../src/Data-ShowTable-3.3.tar.gz
cd Data-ShowTable-3.3
perl Makefile.pl
make
(got an error about unterminated I<...>, but make seems to have succeeded,
or, edit the ShowTable.pm file, go to line 724, and add the missing > in two
places.)
make test
sudo make install


[When I installed WW2, it didn't use the DateTime module that it currently does.
Installing this was quite a pain, since there were lots of prerequisite modules
(a dozen or so), but I'm afraid I didn't take notes on it. Sorry! There wasn't
anything unusual there, as I recall, just lots of things to track down.]



Start MySQL (Applications/Server/MySQL Manager)


Mysql modules


cd /usr/local/Perl/build
tar vfxz ../src/Msql-Mysql-modules-1.2219.tar.gz
cd Msql-Mysql-modules-1.2219
perl Makefile.pl
(choose 1 for mysql only, and accept other defaults)
make
make test
(you must have started mysql for this)
(there is an error in tests/lib.pl that causes warning messages during the test.
They can be ignored, or edit tests/lib.pl and remove the _ in the
function prototypes at the bottom of the file.)
sudo make install


Set passwords on the MySQL server:


mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('my_secret_password')
where User='root';
mysql> DELETE from mysql.user where HOST='localhost' AND User='';
mysql> FLUSH PRIVILEGES;
mysql> GRANT SELECT ON *.* TO 'webworkRead'@'localhost' WITH GRANT OPTION;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE on *.* TO
'webworkWrite'@'localhost' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> EXIT;


[eventually I added passwords for webworkRead and webworkWrite, and modified the
configuration file in webword-modperl/config]


Create groups wwadmin and wwdata in Workgroup Manager
Download and install WW2 as in the instructions
Set directory permissions as described


Set max and min spare servers to your desired number (I use 25 and 10) in httpf.conf


(set up mail aliases for wwfeedback, etc. See mail document p 26 for details)


add in local changes to httpd.conf


recompile mod_perl.c


restart apache


cross fingers and view ww2 home page in browser.
make sample course, admin course, etc.

<| Post or View Comments |>