Installation

Advice on fresh install from scratch? (RHEL6.4)

Advice on fresh install from scratch? (RHEL6.4)

by Graham Toal -
Number of replies: 8

Good Morning,

  I've spent several hours exploring the webwork site & wiki and there's definitely not a lack of documentation - what I'm finding difficult is navigating through too much documentation that's too specific to old versions and operating systems we don't use here.  So I'm having trouble getting the high-level overview, such as what are the pre-requisites I have to have installed before I start?

I'm working in RHEL 6.4 which I've just installed fresh in a virtual machine.  (I don't have the option of other OS's - this is what our computer center gives us so I have to live with it.);  I've installed an empty mysql ready for initial loading etc.;  perl (v5.10.1) was already installed in the baseline rhel image I'm working from.

So far it looks like I have to install apache and mathjax before starting - is that correct?  Anything else that's not taken care of by the installation instructions?  Did I see lighttpd mentioned somewhere?

Next, our math faculty want me to install the new 'December 1, 2013' release that's mentioned on the web site.  I'm not clear which release that is?  2.7?  2.8?  Something later? Either of the above if downloaded after the merge on Dec 1?

To install from scratch, do I use the tar file? svn?  git?  All the detailed instructions seem to assume a previous version was in place.  Our math faculty do have a previous version but it's on a separate server.  I was asked to install this one from scratch...

Can anyone help with a simple overview of what's needed for an installation from scratch by someone not already steeped in prior experience please?

Something along the lines of 'run git with these parameters, type make, and then hand it over to the math faculty for content customisation' would be great, but I realise it isn't going to be that easy :-)

Generally when I install packages in this environment I make great use of the virtual machine's ability to revert to a previous checkpoint, so that I can work out the steps exactly and create a single script that does the whole installation from start to finish (in case I have to reinstall, it's neater to save an installation script than a whole machine image!) and I'll be glad to share the final script with the project once I have it working.

Thanks,

Graham

In reply to Graham Toal

Re: Advice on fresh install from scratch? (RHEL6.4)

by Danny Glin -
The last time I did a fresh install of WeBWorK, I used Jason Aubrey's install script:

In Scientific Linux 6.4 (a RHEL clone), the script took care of all of the prerequisites, and installed the current version of WeBWorK.  My only problem was setting a database user password with fancy characters, which caused the database table creation to fail.  Sticking to letters and numbers in the password should prevent this.

By default, this script installs the current release version of WeBWorK (i.e. the master branch in the git repository).  I can't remember if there is an option in the script to choose a different branch in git.  As far as I can tell, the master branch still points to 2.7.  The December release of which you speak is 2.8.  Mike Gage can confirm the status of 2.8.  I believe that it is intended to be merged into the master branch imminently.

The other caveat in this is that I believe that 2.8 requires a few more perl packages, which Jason's script might not install, so you may have to do some installing by hand.

Hopefully this gives you a starting point.  I can provide some more detail if you run into trouble.

Cheers,
Danny
In reply to Danny Glin

Re: Advice on fresh install from scratch? (RHEL6.4)

by Graham Toal -

Thank you - that's exactly the sort of script I thought I was going to have to create!  This should get us a lot of the way, we appreciate the pointer.

Graham

In reply to Graham Toal

Re: Advice on fresh install from scratch? (RHEL6.4)

by Michael Gage -
For the final WeBWorK code specific steps I recommend using git and github rather than SVN or tarballs.  It also allows you to back out.


The page http://webwork.maa.org/wiki/Github should be useful
although it discusses specifically 2.6 to 2.7 migration the 
basic procedure is the same for 2.7 to 2.8.

Preliminary release notes for 2.8 are at http://webwork.maa.org/wiki/Release_notes_for_WeBWorK_2.8
and it's primarily because they are still preliminary that I haven't 
quite merged release/2.8 into master.  I have prepared the candidate
for that merge (one that gives a clean merge) but I haven't pulled 
the switch. I need to go over the release notes one last time.

  https://github.com/openwebwork/webwork2/tree/2.8_merge_candidate
is the clean merge version of the release/2.8 branch.

I have already updated the pg code since it merged cleanly.

Since you are already working with virtual machines you might like the Vagrant version -- particularly for development and experimental purposes:  https://github.com/openwebwork/WeBWorK_Vagrant

-- Mike

In reply to Michael Gage

Re: Advice on fresh install from scratch? (RHEL6.4)

by Graham Toal -

Given that we have 9 working days left to install and test, should we wait a day or two for the merge or start now with release/2.8?

Thanks for the various pointers.  Vagrant is new to me, I'm a bit wary of taking on too many new things to learn with a deadline looming!

G

In reply to Michael Gage

Re: Advice on fresh install from scratch? (RHEL6.4)

by Andras Balogh -
Using install script from https://github.com/aubreyja/ww_install we get error:

Running [/usr/bin/git clone https://github.com/openwebwork/webwork2/tree/2.8_merge_candidate]...

Initialized empty Git repository in /opt/webwork/2.8_merge_candidate/.git/

error: The requested URL returned error: 403 Forbidden while accessing https://github.com/openwebwork/webwork2/tree/2.8_merge_candidate/info/refs

fatal: HTTP request failed

Warning! The last command exited with an error: '/usr/bin/git clone https://github.com/openwebwork/webwork2/tree/2.8_merge_candidate' exited with value 128

In reply to Andras Balogh

Re: Advice on fresh install from scratch? (RHEL6.4)

by Jason Aubrey -
That's not my script's fault - your syntax for checking out the branch is wrong.

http://stackoverflow.com/questions/1778088/how-to-clone-a-single-branch-in-git

But I'd suggest that you run the script and let it check out master, then change the branch once it's finished.

Jason
In reply to Danny Glin

Re: Advice on fresh install from scratch? (RHEL6.4)

by Murray Eisenberg -
What about installing 2.8 on Mac OS X (Mavericks)? Is it worth starting from that script and trying to discern somehow what the corresponding library requirements might be? Or to go back to the old 2.6 installation instructions for OS X?

In reply to Murray Eisenberg

Re: Advice on fresh install from scratch? (RHEL6.4)

by Jason Aubrey -
My install script doesn't work on OSX (yet), but I'm about 80% sure it would mostly work if you already had all of the prerequisites installed.

BTW, it was inspired by Tom Haggedorn's automatic installer for WeBWorK 2.4 on Mac OS 10.5 for Intel processors bash script and that may still work.

Regarding Vagrant, it seems cool, but it will set up an Ubuntu VM for you - so if you want a quick install on a different linux os then I recommend my script.

BTW, my script doesn't implement ssl yet, so you'll have to do that manually.

Jason