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

Ww2.13 #6

Merged
merged 29 commits into from
Jun 6, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
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
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
66 changes: 55 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,59 @@ 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.12 as of 5/??/2016.

It has been tested and supported on
* Debian 8
* Fedora 22, 23
* Ubuntu 15.10, 16.04 (LTS)
* CentOS 7
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 from this repository.
* 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/apizer/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 and run: git checkout ww2.13
- cd to the directory bin
- Run perl 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/selinus/config setting: SELINUX=disabled and reboot.
- Now run the script ww_install as root

On these systems it did install WeBWorK.

Gotchas
-------

- None yet, just wait.
- See the notes above.

Usage
-------
Expand All @@ -42,9 +81,9 @@ 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/openwebwork/ww_install.git`
`git clone git://github.com/openwebwork/ww_install.git`

and then run `ww_install.pl`.
and then run ` sudo perl ww_install.pl`.

Contents
--------
Expand Down Expand Up @@ -76,6 +115,9 @@ This folder contains distribution files which `ww_install.pl` uses to install We
* 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 Down Expand Up @@ -118,6 +160,8 @@ 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. Seriously, though. Send all your complaints to this guy.
Expand All @@ -134,7 +178,7 @@ Valuable feedback and testing has been provided by [Danny Glin](https://github.c
Copyright and Disclaimer
-------------------------

This program is Copyright 2016 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
32 changes: 25 additions & 7 deletions bin/ww_install.pl
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,10 @@
Carp
CGI
Class::Accessor
Crypt::SSLeay
Crypt::SSLeay
Dancer
Dancer::Plugin::Database
Data::Dump
Data::Dumper
Data::UUID
Date::Format
Expand All @@ -157,8 +158,11 @@
DBD::mysql
DBI
Digest::MD5
Digest::SHA
Digest::SHA
Email::Address
Email::Simple;
Email::Sender::Simple
Email::Sender::Transport::SMTP
Errno
Exception::Class
File::Copy
Expand All @@ -181,8 +185,7 @@
JSON
Locale::Maketext::Lexicon
Locale::Maketext::Simple
LWP::Protocol::https
Mail::Sender
LWP::Protocol::https
MIME::Base64
Net::IP
Net::LDAPS
Expand All @@ -199,6 +202,7 @@
SOAP::Lite
Socket
SQL::Abstract
Statistics::R::IO
String::ShellQuote
Template
Text::CSV
Expand Down Expand Up @@ -887,7 +891,17 @@ sub change_webwork3_log_permissions {
}
}


sub reset_tex_hash {
my $full_path = can_run('texhash');
my $cmd = [ $full_path ];
my $texhash_success = run_command($cmd);
if ($texhash_success) {
print_and_log("Successfully ran texhash.\n");
} else {
print_and_log("Could not run texhash!");
}
}

####################################################################
#
# Environment Data
Expand Down Expand Up @@ -2002,7 +2016,7 @@ sub edit_mpm_conf {
#
# Now I would like to modify the prefork MPM
# settings MaxClients and MaxRequestsPerChild. By default I'll change
# MaxClients from 150 to 20 and MaxRequestsPerChild from 0 to 100.
# MaxClients from 150 to 20 and MaxRequestsPerChild from 0 to 50.
#
# For WeBWorK a rough rule of thumb is 5 MaxClients per 1 GB of
# memory. So, e.g., if you have 4GB of RAM you may want to use
Expand All @@ -2019,7 +2033,7 @@ END
});

$prompt = "Please enter a value for prefork MaxRequestsPerChild/MaxConnectionsPerChild:";
$default = 100;
$default = 50;
my $max_requests_per_child = get_reply({
prompt => $prompt,
default => $default,
Expand Down Expand Up @@ -2295,6 +2309,8 @@ sub write_launch_browser_script {
#run hooked coe
$osPackage->preconfig_hook();



#Get directory root PREFIX, download software, and configure filesystem locations for webwork software
my $WW_PREFIX = get_WW_PREFIX(WW_PREFIX); #constant defined at top

Expand Down Expand Up @@ -2568,6 +2584,8 @@ sub write_launch_browser_script {
"$webwork_dir/logs", "$webwork_dir/tmp"
);

reset_tex_hash();

my $webwork3log = "$webwork_dir/webwork3/logs";

if (-e $webwork3log) {
Expand Down
6 changes: 5 additions & 1 deletion distros/blankdistro.pm
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ my $perl_prerequisites = {
'CGI' => '',
'Dancer' => '',
'Dancer::Plugin::Database' => '',
'Data::Dump' => '',
'Data::Dumper' => '',
'Data::UUID' => '',
'Date::Format' => '',
Expand All @@ -72,6 +73,9 @@ my $perl_prerequisites = {
'DBI' => '',
'Digest::MD5' => '',
'Email::Address' => '',
'Email::Simple' => '',
'Email::Sender::Simple' => '',
'Email::Sender::Transport::SMTP' => '',
'Errno' => '',
'Exception::Class' => '',
'ExtUtils::XSBuilder' => '',
Expand All @@ -96,7 +100,6 @@ my $perl_prerequisites = {
'Locale::Maketext::Lexicon' => '',
'Locale::Maketext::Simple' => '',
'LWP::Protocol::https' => '',
'Mail::Sender' => '',
'MIME::Base64' => '',
'Net::IP' => '',
'Net::LDAPS' => '',
Expand All @@ -113,6 +116,7 @@ my $perl_prerequisites = {
'SOAP::Lite' => '',
'Socket' => '',
'SQL::Abstract' => '',
'Statistics::R::IO' => '',
'String::ShellQuote' => '',
'Template' => '',
'Text::CSV' => '',
Expand Down
11 changes: 8 additions & 3 deletions distros/centos/7.pm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use warnings;

use WeBWorK::Install::Utils;

my $ww_versions = ['2.11','2.12'];
my $ww_versions = ['2.13'];

sub get_ww_versions {
return $ww_versions;
Expand Down Expand Up @@ -42,9 +42,10 @@ my $binary_prerequisites = {

preview_latex => 'tex-preview',
texlive => 'texlive-latex',
texlive_appendix => 'texlive-appendix',
texlive_preprint => 'texlive-preprint',
texlive_epsf => 'texlive-epsf',
};
};

sub get_binary_prerequisites {
return $binary_prerequisites;
Expand All @@ -71,6 +72,7 @@ my $perl_prerequisites = {
'Crypt::SSLeay' => 'perl-Crypt-SSLeay',
'Dancer' => 'CPAN',
'Dancer::Plugin::Database' => 'CPAN',
'Data::Dump' => 'perl-Data-Dump',
'Data::Dumper' => 'perl-Data-Dumper',
'Data::UUID' => 'perl-Data-UUID',
'Date::Format' => 'perl-TimeDate',
Expand All @@ -80,6 +82,9 @@ my $perl_prerequisites = {
'DBI' => 'perl-DBI',
'Digest::MD5' => 'perl',
'Email::Address' => 'perl-Email-Address',
'Email::Simple' => 'perl-Email-Simple',
'Email::Sender::Simple' => 'perl-Email-Sender',
'Email::Sender::Transport::SMTP' => 'perl-Email-Sender',
'Errno' => 'perl',
'Exception::Class' => 'perl-Exception-Class',
'ExtUtils::XSBuilder' => 'perl-ExtUtils-XSBuilder',
Expand All @@ -105,7 +110,6 @@ my $perl_prerequisites = {
'Locale::Maketext::Lexicon' => 'CPAN', #is availble for fedora
'Locale::Maketext::Simple' => 'perl-Locale-Maketext-Simple',
'LWP::Protocol::https' => 'CPAN', #need cpan for higher version
'Mail::Sender' => 'perl-Mail-Sender',
'MIME::Base64' => 'perl',
'Net::IP' => 'perl-Net-IP',
'Net::LDAPS' => 'perl-LDAP',
Expand All @@ -122,6 +126,7 @@ my $perl_prerequisites = {
'SOAP::Lite' => 'perl-SOAP-Lite',
'Socket' => 'perl',
'SQL::Abstract' => 'CPAN',
'Statistics::R::IO' => 'CPAN',
'String::ShellQuote' => 'perl-String-ShellQuote',
'Template' => 'CPAN',
'Text::CSV' => 'perl-Text-CSV',
Expand Down
Loading