Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how to brows webwork cloud server #98

Open
wants to merge 177 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
177 commits
Select commit Hold shift + click to select a range
433bbd1
Update README file with instructions on how to run the perl script, a…
dlglin Mar 9, 2013
947624b
File prerequisites.pl is a work in progress. Committing it so it wont…
aubreyja Apr 17, 2014
84ff958
Use FindBin to allow relative path to lib
aubreyja Apr 17, 2014
810e42b
Merge branch 'master' into prereqs_refactor
aubreyja Apr 17, 2014
2b46c76
Further work on more sophisticated prerequisite handling
aubreyja Apr 17, 2014
5290937
More work on prerequisites
aubreyja Apr 18, 2014
79f8287
Added sub add_epel to add correct epel repo to RH and clones.
aubreyja Apr 22, 2014
8f65e26
Accounted for case where there are no version specific packages
aubreyja Apr 22, 2014
37f88d9
Updated regex for detecting version in /etc/redhat-release
aubreyja Apr 22, 2014
49dfcfc
preparing for install_prerequisites sub
aubreyja Apr 22, 2014
cf76676
Fixed configure_shell to handle case where $ENV{SUDO_USER} is empty.
aubreyja Apr 22, 2014
5e6dc5e
Using umname -m instead of -p
aubreyja Apr 23, 2014
aef35f3
more on install_prereqs
aubreyja May 14, 2014
865e0d1
more install_prerequisites and testing switch to cpanm
aubreyja May 15, 2014
f6f6f99
fix typo
aubreyja May 15, 2014
5bb80cc
Moved prerequiste installation to main script. Needs testing.
aubreyja May 15, 2014
e32d8d8
No longer call install_prerequisites.sh from install_webwork.sh. Need…
aubreyja May 15, 2014
ce00697
Do not use DateTime for now
aubreyja May 15, 2014
3604333
Fix time reporting in logging without DateTime
aubreyja May 15, 2014
6759031
One more DateTime removal
aubreyja May 15, 2014
cb958a3
small change to add_epel
aubreyja May 15, 2014
790695a
Locale::Maketext::Lexicon not in a RH package
aubreyja May 15, 2014
a5709df
cpan seems safer than cpanm on RH
aubreyja May 15, 2014
182ad44
So, dont install cpanm on RH
aubreyja May 15, 2014
db0c0fb
Fixed passing of @packages to install_prerequisites()
aubreyja May 15, 2014
70f2ac7
need mysql-server package for RH
aubreyja May 15, 2014
1139023
Creating prerequisites directory
aubreyja May 20, 2014
74f3a70
Refactoring prerequisites. Moving distro specific data do distros/. N…
aubreyja Aug 5, 2014
7471218
Getting first install going
goehle Jul 10, 2015
4c69d9d
Working out kinks and bugs.
goehle Jul 10, 2015
e667f56
Refactoring ab it.
goehle Jul 10, 2015
106a109
Cleaning some more stuff up. Had a decent install.
goehle Jul 10, 2015
92f0847
DB password should not be interpolated
goehle Jul 14, 2015
c80d7c4
Merge branch 'prereqs_refactor' of https://github.com/openwebwork/ww_…
goehle Jul 22, 2015
aaf4444
Preliminary work on getting distro specific stuff split off froms scr…
goehle Jul 22, 2015
79828c2
Added some perl packages needed by the installer. Need to do this if …
goehle Jul 23, 2015
ea3fdc2
Added some checking out branch stuff
goehle Jul 23, 2015
4fad60f
Added more libs.
goehle Jul 23, 2015
68b9d14
Merge branch 'release2.11' of https://github.com/goehle/ww_install in…
goehle Jul 10, 2015
777f329
Change to use installed DBI, but avoid errors if it snot htere at start.
goehle Jul 23, 2015
e360ec1
Added 15.04
goehle Jul 23, 2015
8247ff9
Trying on 15.04
goehle Jul 23, 2015
e51bb25
Doh
goehle Jul 23, 2015
ef37f3e
Sigh
goehle Jul 23, 2015
4724d19
Getting database initialization working. Adding stuff about centos.
goehle Jul 24, 2015
408a0db
Trying out centos 7
goehle Jul 24, 2015
b1c0845
Still trying ot get things to work on a fresh system.
goehle Jul 24, 2015
2003918
lasdlfasd
goehle Jul 24, 2015
d9fb289
Added debian file.
goehle Jul 24, 2015
d05615f
order change
goehle Jul 24, 2015
fe090f9
aldsfkad
goehle Jul 24, 2015
1579b51
more missing stuff.
goehle Jul 24, 2015
dbfa831
more stuff
goehle Jul 24, 2015
202737a
lsdlkfad
goehle Jul 24, 2015
4600386
added centos to the distro search
goehle Jul 24, 2015
7de4491
gdi
goehle Jul 24, 2015
a53372b
working 7
goehle Jul 24, 2015
039a775
lsdkjf
goehle Jul 24, 2015
6b97b6c
asdfa
goehle Jul 24, 2015
e21a3e7
asdfadsf
goehle Jul 24, 2015
423c952
asdfadf
goehle Jul 24, 2015
159c59f
sdflkj
invalid-email-address Jul 10, 2015
f448f2c
lsdkla
goehle Jul 24, 2015
bf89cc0
alksdf
goehle Jul 24, 2015
e727165
More distro files.
goehle Jul 24, 2015
3d1d028
only want major version of debian.
goehle Jul 24, 2015
05d7d1c
alksdjfas
goehle Jul 24, 2015
0edece1
laksdjf
goehle Jul 24, 2015
4d990d6
alsdkjf
goehle Jul 24, 2015
33a8eaf
aslkdfjs
goehle Jul 24, 2015
bad8df0
alksdf
goehle Jul 24, 2015
c40ec10
lskdflk
goehle Jul 24, 2015
634b9c2
aslkdf
goehle Jul 24, 2015
46e6c2a
Merge pull request #1 from aubreyja/master
goehle Jul 24, 2015
22bcdee
Trying centos 6
goehle Jul 27, 2015
a165b7c
Trying to get distroibution to parse centos correctly.
goehle Jul 27, 2015
a917895
alskdfj
goehle Jul 27, 2015
4244147
asdf
goehle Jul 27, 2015
7ee18b5
lkasdfja
goehle Jul 27, 2015
43943c5
laskdf
goehle Jul 27, 2015
b4e02f3
alksdjf
goehle Jul 27, 2015
660c550
lsdfk
goehle Jul 27, 2015
dbb73f7
contosa lkdsjf a;lk6
goehle Jul 27, 2015
9ab09ce
asdlkf
goehle Jul 27, 2015
2368a77
alskdfj
goehle Jul 27, 2015
d886a8e
laskdjf
goehle Jul 27, 2015
9542d08
lkasdjkfsl
goehle Jul 27, 2015
3b1c8fd
first fedora try.
goehle Jul 27, 2015
2efacde
alskdjf
goehle Jul 27, 2015
d6b927e
alksdf
goehle Jul 27, 2015
b5903fa
lskdkfsd
goehle Jul 27, 2015
69153cc
alksdjf
goehle Jul 27, 2015
4bfee2a
Merge branch 'master' of https://github.com/openwebwork/ww_install in…
goehle Jul 27, 2015
386b71a
change version stuff
goehle Sep 8, 2015
8853fae
Initial commit for new distros
goehle Nov 12, 2015
c49b6db
Update 1510.pm
goehle Nov 13, 2015
6dc1563
Change things for preparation to be in master
goehle Dec 1, 2015
b117ba3
Change things for preparation to be in master
goehle Dec 1, 2015
d2c2fbf
Last minute changes for 2.11
goehle Dec 22, 2015
3af8e1c
Merge branch 'release2.11' of https://github.com/goehle/ww_install in…
goehle Dec 22, 2015
f9045da
Small typo in README.md
goehle Dec 22, 2015
f2cb628
Another typo
goehle Dec 22, 2015
8a2cd0d
Merge pull request #2 from goehle/release2.11
goehle Dec 22, 2015
0501b51
Update install_webwork.sh
goehle Dec 22, 2015
b83fcd3
Update install_webwork.sh
goehle Dec 22, 2015
863d342
Update install_webwork.sh
goehle Dec 22, 2015
762c163
Update install_webwork.sh
goehle Dec 22, 2015
d8108b0
Update install_webwork.sh
goehle Dec 22, 2015
b518eb6
Update install_webwork.sh
goehle Dec 22, 2015
613c136
Update ww_install.pl
goehle Dec 22, 2015
65a7859
Add check for OtherConfig.
goehle Jan 23, 2016
c44efd3
Initial setup of installs
goehle Apr 26, 2016
6d53043
Fixing centos 7
goehle Apr 27, 2016
602ad57
Add timeout fallback
goehle Apr 27, 2016
31da111
Add smtp config
goehle Apr 27, 2016
a9fa0b8
Fixed typo
goehle Apr 27, 2016
27ed959
Escaping {} in regex because thats a thing now.
goehle Apr 27, 2016
84725ef
Typo
goehle Apr 27, 2016
5662c33
Fixed Mail::Sender for 1604
goehle Apr 27, 2016
a262d25
Added missing fedor package
goehle Apr 27, 2016
c1feccc
Addming ssleay for 1604
goehle Apr 27, 2016
101d472
Add module check overrides.
goehle Apr 27, 2016
ca7f9f8
Retry at module list override.
goehle Apr 27, 2016
75dcdf3
Try override again.
goehle Apr 27, 2016
453d070
typo
goehle Apr 27, 2016
925549e
Takethree override.
goehle Apr 27, 2016
996291f
Added modules to check list
goehle Apr 28, 2016
ef89e4f
fix curl
goehle May 12, 2016
cb0a31a
added fix for json issue
goehle May 12, 2016
cc1bd9c
take two
goehle May 13, 2016
41c72cb
try agian
goehle May 13, 2016
f70293a
zero is success
goehle May 13, 2016
532b567
stupid curl
goehle May 13, 2016
48c9012
Get ready for pull into master.
goehle May 17, 2016
66805c6
Merge pull request #3 from openwebwork/release2.12
goehle May 17, 2016
bc31a4b
New url
goehle Jul 28, 2016
25f594e
Merge branch 'master' of https://github.com/openwebwork/ww_install
goehle Jul 28, 2016
5aa77af
Merge branch 'master' of https://github.com/openwebwork/ww_install
dlglin Aug 11, 2016
3dbdf8b
Fix escaping of quotes on useradd command
dlglin Aug 12, 2016
43b331b
Replace README that I accidentally deleted
dlglin Aug 12, 2016
96ba19d
Fix some typos
dlglin Aug 12, 2016
e2de936
location of texlive-path seems to have died
aubreyja Nov 29, 2016
c5cb79e
Updating ww_install to work with WW 2.13
apizer Nov 11, 2017
dfe48ae
Updating ww_install to work with WW 2.13
apizer Nov 11, 2017
99e1fb1
Updating to worh with WW 2.13
apizer Nov 11, 2017
18748d9
Updating to work with WW 2.13
apizer Nov 11, 2017
21bdaf2
updatting to work with WW2.13
apizer Nov 12, 2017
b60ef9c
Updating to work with WW 2.13
apizer Nov 12, 2017
e76024d
Updatting to work with WW2.13
apizer Nov 12, 2017
96f65cb
Updatting to work with WW2.13
apizer Nov 12, 2017
4eb0399
Updating to work with WW2.13
apizer Nov 12, 2017
00fd6ee
Updating to work with Debian 9 and WW2.13
apizer Nov 13, 2017
6e557df
Updatting to work with Debian 9 ans WW2.13
apizer Nov 13, 2017
6a1c653
Updating to work with Debian 9 and WW2.13
apizer Nov 13, 2017
816e1b5
Updating to work with Debian 9 and WW2.13
apizer Nov 13, 2017
0c2bca9
Adding Statistics::R::IO
apizer Nov 13, 2017
77da272
S few changes
apizer Nov 17, 2017
351dc4f
Updating to WW2.13
apizer Nov 17, 2017
c95ebcc
Clean up README.md
apizer Nov 17, 2017
c60e7d4
Cleaning up
apizer Nov 17, 2017
2b1d466
Cleaning up
apizer Nov 17, 2017
b560ad9
Cleaning up README.md
apizer Nov 17, 2017
00fc6c1
Trying to get liasts right
apizer Nov 17, 2017
438ec81
Fix typo's
apizer Nov 17, 2017
cfb270f
Get Email modules from packages. Using CPAN gave same error
apizer Nov 18, 2017
b1fb8a6
Final changes to the readme file
apizer Nov 20, 2017
2f9219e
Final touches
apizer Nov 20, 2017
587a4e9
Final touches to README
apizer Nov 20, 2017
51c39fa
Fix typos
apizer Nov 20, 2017
2843ee4
Slight changed to README
apizer Nov 20, 2017
60f85ff
minor fix to 1604.pm
apizer Nov 21, 2017
48a3107
Merge pull request #6 from apizer/ww2.13
mgage Jun 6, 2018
747ab75
Merge pull request #4 from dlglin/master
mgage Jun 6, 2018
39a16d0
Updated README.md file to use script from openwebwork/master
apizer Jun 14, 2018
181f3cb
Merge pull request #7 from apizer/update_readme_1
mgage Jun 14, 2018
a11df63
Fix typo in CentOS-specific instructions
dlglin Aug 16, 2018
5ce95b1
Merge pull request #8 from dlglin/patch-1
dlglin Jul 30, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 76 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,58 @@ This repository consists of a perl script `ww_install.pl`, along with some suppo
config files, and perl modules designed to work together install the open source online homework system
[WeBWorK](https://github.com/openwebwork).

The script has been updated to install WeBWorK 2.10 as of 12/22/2014.

It has been tested and supported on
* Debian Wheezy
* Fedora 20
* Ubuntu 14.04
* CentOS 7

On these systems it did install webwork.
The script has been updated to install WeBWorK 2.13 as of 12/1/2017 by Arnold Pizer.

Temporary General Instructions for installing WeBWorK 2.13 using the ww_install script.
* You should use the perl script ww_install.pl as the bash shell script install_webwork.sh has not yet been updated.
* First look at the notes below to see if you need to do anything before running the ww_install.pl script.
* After any preliminaries in a working directory run
- git clone git://github.com/openwebwork/ww_install.git
* Note you will have to install git (e.g. as root, apt-get install git) if it is not on your system
- cd to the directory ww_install
- Run perl bin/ww_install as root. Note either use sudo or su to root depending on the system.
- Accept all defaults



It has been tested and works on
* Debian 9
- Notes for Debian
- Before running the script ww_install.pl do the following:
1. For some reason WeBWorK fails to work with MariaDB as installed from the Debian package so we use the package from mariadb.org.
2. Open firefox and goto https://downloads.mariadb.org
3. Click on: Use CentOS, Fedora, Red Hat, Debian, Ubuntu, openSUSE, or Mageia? See our repository configuration tool.
4. Select: Debian, Debian 9 Stretch, 10.2. and a mirror
5. Follow the instrucions for running commands but run them as root as sudo does not work. Note that using copy and paste works well.
- Now run the script ww_install as root
- The script ww_install will stop at installing Email::Sender::Simple with an error. Just rerun the
script and it will get past that point. I think Email::Sender::Simple does get installed correctly.

* Fedora 24 (Workstation)
- Notes for Fedora
- Before running the script ww_install.pl do the following:
1. Run the command: sudo dnf install perl-core
2. Run the command: sudo dnf update perl-Errno
3. Edit the file /etc/selinus/config setting: SELINUX=disabled and reboot.
- Now run the script ww_install as root

* Ubuntu 16.04 LTS (Desktop)
- Notes for Ubuntu
- None

* CentOS 7 (Server with GUI)
- Notes for CentOS.
- Before running the script ww_install.pl do the following:
1. Run the command: sudo yum install perl-core
2. Edit the file /etc/selinux/config setting: SELINUX=disabled and reboot.
- Now run the script ww_install as root

On these systems it did install WeBWorK.

Gotchas
-------

- There is currently no package in Fedora 21 which provides the pnmtops program. The installer will fail when checking for required modules and programs. Once [this](https://bugzilla.redhat.com/show_bug.cgi?id=1171903) bug is fixed the installer '''should''' work.
- See the notes above.

Usage
-------
Expand All @@ -27,11 +65,11 @@ To install [WeBWorK](https://github.com/openwebwork):

1. Get the `install_webwork.sh` script:

`wget --no-check-certificate https://raw.github.com/aubreyja/ww_install/master/install_webwork.sh`
`wget --no-check-certificate https://raw.githubusercontent.com/openwebwork/ww_install/master/install_webwork.sh`

or if you prefer

`curl -ksSO https://raw.github.com/aubreyja/ww_install/master/install_webwork.sh`
`curl -ksSO https://raw.githubusercontent.com/openwebwork/ww_install/master/install_webwork.sh`

2. As root (or with sudo) do

Expand All @@ -42,36 +80,43 @@ Note that if you use sudo, then you must be a sudoer with sufficient administrat

For more control over the process you can clone this repository with

`git clone https://github.com/aubreyja/ww_install.git`
`git clone git://github.com/openwebwork/ww_install.git`

and then run the scripts individually as needed.
and then run ` sudo perl ww_install.pl`.

Contents
--------

### install_webwork.sh

This script is the 'controller' that ties together the other scripts. It opens an install log, downloads this
repo and opens it in (typically) `/tmp`. Then it runs `install_prerequisites.sh` followed by `ww_install.pl`.
repo and opens it in (typically) `/tmp`. Then it installs any files needed to run `ww_install.pl` and then runs `ww_install.pl`.
When `ww_install.pl` exits, it attempts to open webwork in the system's default web browser, copies
webwork_install.log to your top level webwork directory (e.g. `/opt/webwork`) and then deletes the downloaded installation package.

### bin/install_prerequisites.sh

If your system does not have all of the prerequisites installed, then the `install_prerequisites.sh` script
might help. The goal of that script is to install all of the software that WeBWorK depends on. This is also
the script most likely to be incomplete or fail in some way on your system. For systems based on Debian
(Ubuntu,etc.) and Red Hat (CentOS, Scientific Linux, etc.) it will do everything needed. We're working
on getting it to install prereqs on other systems such as OpenSUSE and Magia, but for now other systems will
need to have these prerequisites already installed. If you would like to fill it out for your favorite
linux distro or unix system, I will happily accept pull requests.

### bin/ww_install.pl

The goal of `ww_install.pl` is to install WeBWorK on any system on which the prerequisites are already installed.
The goal of `ww_install.pl` is to install WeBWorK on any system with a properly set up distribution file in the `distros` folder.

It is an interactive script based on the core perl module [Term::UI](http://perldoc.perl.org/Term/UI.html), and is written with the goal of being cross-platform. It does use some linux built-ins, and work is needed to ensure that this script will work as well on unix machines. Again, contributions of work in this direction would be welcome.

### distros

This folder contains distribution files which `ww_install.pl` uses to install WeBWorK on various systems. For example the file `distros/centos/7.pm` is used to install WeBWorK on CentOS version 7. If you are interested in getting the installer working on your favorite distribution you would create the appropriate file in this folder and submit a pull request. You can base your distro file off of `blankdistro.pm`. In general you will need to set the following:
* The array of versions which you have tested the installer on.
* The list of packages which provide the binaries described by the hash keys
* The list of packages which provide the perl modules described by the hash keys. Use 'CPAN' if you intend to get the package from CPAN
* The `apacheLayout` array which defines where various folders and configuration files are for your apache setup.
* The command for updating package sources.
* The command for updating packages.
* The command for installing packages.
* The command for installing packages from CPAN.
* The command for checking and configuring services post install.
* You can add code in various "hooks" which will be run at various stages of the installation. This is an opportunity to perform any hacky fixes necessary for your distro.

### old_distros
This folder contains obsolete distribution files which are no longer being supported.

### Other files

The `extra/` subdirectory contains scripts which help with optional post install tasks. These are not currently
Expand All @@ -98,17 +143,10 @@ on your system for webwork to run.
The `conf/` subdirectory contains copies of config files or snippets of config files that this installation package
will ask to modify.

The `deb/` subdirectory contains work (in progress) toward creating a
debian archive for installing webwork.

The `rpms/` subdirectory is Mark Hamrick's work toward creating a webwork
rpm (as a submodule, so I can easily get a hold if it when/if I eventually
start looking at it).

Other Resources
----------------

Please report any problems on the [issues page](https://github.com/aubreyja/ww_install/issues?state=open) for this
Please report any problems on the [issues page](https://github.com/openwebwork/ww_install/issues?state=open) for this
repository.

Questions and comments about this installer can be directed to me on the [webwork-devel](http://webwork.maa.org/mailman/listinfo/webwork-devel)
Expand All @@ -121,14 +159,11 @@ Author

Jason Aubrey <[email protected]>

Small updates (for WeBWorK 2.13) made by Arnold Pizer <[email protected]>

If you use the script, please email me to let me know what OS you installed it on so I can add a notation to
the list of tested distributions above and address any problems you run into. I'd also be happy to hear
suggestions for improvement.

Contributors
------------

[Qalthos](https://github.com/Qalthos)
suggestions for improvement. Seriously, though. Send all your complaints to this guy.

Acknowledgements
----------------
Expand All @@ -142,7 +177,7 @@ Valuable feedback and testing has been provided by [Danny Glin](https://github.c
Copyright and Disclaimer
-------------------------

This program is Copyright 2013 by Jason Aubrey. This program is
This program is Copyright 2016 by Jason Aubrey and in 2017 by Arnold Pizer. This program is
free software; you can redistribute it and/or modify it under the terms
of the Perl Artistic License or the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
Expand Down
151 changes: 0 additions & 151 deletions bin/install_prerequisites.sh

This file was deleted.

Loading