diff --git a/lib/WeBWorK/conf/site.conf b/lib/WeBWorK/conf/site.conf new file mode 100644 index 000000000..5b3f04c44 --- /dev/null +++ b/lib/WeBWorK/conf/site.conf @@ -0,0 +1,337 @@ +#!perl +################################################################################ +# WeBWorK Online Homework Delivery System +# Copyright © 2000-2018 The WeBWorK Project, http://openwebwork.sf.net/ +# $CVSHeader: webwork2/conf/site.conf.dist,v 1.225 2010/05/18 18:03:31 apizer Exp $ +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of either: (a) the GNU General Public License as published by the +# Free Software Foundation; either version 2, or (at your option) any later +# version, or (b) the "Artistic License" which comes with this package. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the +# Artistic License for more details. +################################################################################ + +# This file is used to set up the default WeBWorK course environment for all +# requests. Values may be overwritten by the course.conf for a specific course. +# All package variables set in this file are added to the course environment. +# If you wish to set a variable here but omit it from the course environment, +# use the "my" keyword. The $webwork_dir variable is set in the WeBWorK Apache +# configuration file (webwork.apache-config) and is available for use here. In +# addition, the $courseName variable holds the name of the current course. + +# This file is used to set up the basic paths and URLs specific to your +# installation of WeBWorK, with the exception of the $webwork_dir variable which +# is set in the WeBWorK Apache configuration file (webwork.apache2-config). +# Any customization of global WeBWorK settings should be done in localOverrides.conf. + +################################################################################ +# site.conf -- this file +################################################################################ + +# site.conf includes all of the information specific to your server required +# to run WeBWorK. + +################################################################################ +# Seed variables +################################################################################ + +# Set these variables to correspond to your configuration. It is not +# recommended to change any of the settings in this file once your +# web server has been initially configured. + +# URL of WeBWorK handler. If WeBWorK is to be on the web server root, use "". Note +# that using "" may not work so we suggest sticking with "/webwork2". +$webwork_url = '/webwork2'; +$server_root_url = $ENV{SITE_HOST} || 'http://localhost:3000'; # e.g. 'https://webwork.yourschool.edu' or 'http://localhost' + # Note, if running a secure (ssl) server, you probably need 'https://...' + +# The following two variables must match the user ID and group ID respectively +# under which apache is running. +# In the apache configuration file (often called httpd.conf) you will find +# User www-data --- this is the $server_userID -- of course it may be wwhttpd or some other name +# Group wwdata --- this is the $server_groupID -- this will have different names also + +$server_userID = 'www-data'; +$server_groupID = 'wwdata'; + + +# Uncomment out the following line to set your apache version number manually. +# WeBWorK will automatically get the apache version directly from the server +# banner. If you remove the version from the server banner you will have to +# set it directly here + +#$server_apache_version = ''; # e.g. '2.22.1' + +# The following variable is the address that will be listed in server error +# messages that come from WeBWorK: +# "An error occured while processing your request. +# For help, please send mail to this site's webmaster +# (mail link to ), including all of the following +# information as well as what what you were doing when the error occurred... etc..." +# Make sure that your webwork.apacheX-config file is up to date with the distributed version +# and that the line $ENV{WEBWORK_SERVER_ADMIN} = $ce->{webwork_server_admin_email}; +# is present in the file. +# If $webwork_server_admin_email is not defined then the +# ServerAdmin address defined in httpd.conf is used. +# Be sure to use single quotes for the address or the @ sign will be interpreted as an array. + + +$webwork_server_admin_email =''; +################################################################################ +# Paths to external programs +################################################################################ + +# These applications are often found in /bin, but sometimes in /usr/bin +# or even in /opt/local/bin. +# You can use "which tar" for example to find out where the "tar" program is located + +#################################################### +# system utilities +#################################################### +$externalPrograms{mv} = "/bin/mv"; +$externalPrograms{cp} = "/bin/cp"; +$externalPrograms{rm} = "/bin/rm"; +$externalPrograms{mkdir} = "/bin/mkdir"; +$externalPrograms{tar} = "/bin/tar"; +$externalPrograms{gzip} = "/bin/gzip"; +$externalPrograms{git} = "/usr/bin/git"; + +#################################################### +# equation rendering/hardcopy utiltiies +#################################################### +$externalPrograms{latex} ="/usr/bin/latex"; + +$externalPrograms{pdflatex} ="/usr/bin/pdflatex --shell-escape"; +# Consider using xelatex instead of pdflatex for multilingual use, and +# use polyglossia and fontspec packages (which require xelatex or lualatex). +#$externalPrograms{pdflatex} ="/usr/bin/xelatex --shell-escape"; + +$externalPrograms{dvipng} ="/usr/bin/dvipng"; + +# In order to use imagemagick convert you need to change the rights for PDF files from +# "none" to "read" in the policy file /etc/ImageMagick-6/policy.xml. This has possible +# security implications for the server. +$externalPrograms{convert} = "/usr/bin/convert"; + +$externalPrograms{dvisvgm} = "/usr/bin/dvisvgm"; +$externalPrograms{pdf2svg} = "/usr/bin/pdf2svg"; + +#################################################### +# NetPBM - basic image manipulation utilities +# Most sites only need to configure $netpbm_prefix. +#################################################### +my $netpbm_prefix = "/usr/bin"; +$externalPrograms{giftopnm} = "$netpbm_prefix/giftopnm"; +$externalPrograms{ppmtopgm} = "$netpbm_prefix/ppmtopgm"; +$externalPrograms{pnmtops} = "$netpbm_prefix/pnmtops"; +$externalPrograms{pnmtopng} = "$netpbm_prefix/pnmtopng"; +$externalPrograms{pngtopnm} = "$netpbm_prefix/pngtopnm"; + +#################################################### +# url checker +#################################################### +# set timeout time (-t 40 sec) to be less than timeout for problem (usually 60 seconds) +$externalPrograms{checkurl} = "/usr/bin/curl -Is -m 30 "; # or "/usr/local/bin/w3c -head " +$externalPrograms{curl} = "/usr/bin/curl"; + +#################################################### +# image conversions utiltiies +# the source file is given on stdin, and the output expected on stdout. +#################################################### + +$externalPrograms{gif2eps} = "$externalPrograms{giftopnm} | $externalPrograms{ppmtopgm} | $externalPrograms{pnmtops} -noturn 2>/dev/null"; +$externalPrograms{png2eps} = "$externalPrograms{pngtopnm} | $externalPrograms{ppmtopgm} | $externalPrograms{pnmtops} -noturn 2>/dev/null"; +$externalPrograms{gif2png} = "$externalPrograms{giftopnm} | $externalPrograms{pnmtopng}"; + +#################################################### +# mysql clients +#################################################### + +$externalPrograms{mysql} ="/usr/bin/mysql"; +$externalPrograms{mysqldump} ="/usr/bin/mysqldump"; + + +#################################################### +# End paths to external utilities. +#################################################### + +################################################################################ +# Database options +################################################################################ + + +# Standard permissions command used to initialize the webwork database +# GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX, LOCK TABLES ON webwork.* TO webworkWrite@localhost IDENTIFIED BY 'passwordRW'; +# where webworkWrite and passwordRW must match the corresponding variables in the next section. + +################################################################################ +# these variables are used by database.conf. we define them here so that editing +# database.conf isn't necessary. + +# You must initialize the database and set the password for webworkWrite. +# Edit the $database_password line and replace 'passwordRW' by the actual password used in the GRANT command above +################################################################################ + +# The database dsn is the path to the WeBWorK database which you have created. +# Unless you have given the database a different name or the database resides on another +# server you do not need to change this first value. +# The format is dbi:mysql:[databasename] for databases on the local machine +# For a remote database the format is dbi:mysql:[databasename]:[hostname]:[port] +$database_dsn ="dbi:Pg:dbname=webwork;host=localhost"; +$database_storage_engine = 'myisam'; + +######################### +# MYSQL compatibility settings for handling international Unicode characters (utf8 and utf8mb) +######################### +# These set the way characters are encoded in mysql and will depend on the version of mysqld being used. +# the default is to use latin1. With version 2.15 we will move to +# encoding utf8mb4 which allows the encoding of characters from many languages +# including chinese, arabic and hebrew. + +$ENABLE_UTF8MB4 =1; # setting this to 1 enables utf8mb4 encoding, setting this to + # 0 sets this for older mysql (pre 5.3) which cannot + # handle utf8mb4 characters. + +$database_character_set=($ENABLE_UTF8MB4) ? 'utf8mb4' : 'utf8'; + + +# DATABASE login information +# The following two variables must match the GRANT statement run on the mysql server as described above. +$database_username ="postgres"; +$database_password ="postgres"; + +################################################################################# +# These variables describe the locations of various components of WeBWorK on your +# server. You may use the defaults unless you have things in different places. +################################################################################# + +# Root directory of PG. +$pg_dir = "$ENV{RENDER_ROOT}/lib/PG"; + +# URL and path to htdocs directory. +$webwork_htdocs_url = "$ENV{baseURL}/webwork2_files"; +$webwork_htdocs_dir = "$webwork_dir/htdocs"; + +# URL and path to courses directory. +$webwork_courses_url = "$ENV{baseURL}/webwork2_course_files"; +$webwork_courses_dir = "$ENV{RENDER_ROOT}"; # standalone renderer has no courses + + +################################################################################ +# Mail settings +################################################################################ + +# The following directives need to be configured in order for your webwork +# server to be able to send mail. + +# Mail sent by the PG system and the mail merge and feedback modules will be +# sent via this SMTP server. localhost may work if your server is capable +# of sending email, otherwise type the name of your School's outgoing email +# server. +$mail{smtpServer} = ''; # e.g. 'mail.yourschool.edu' or 'localhost' + +# When connecting to the above server, WeBWorK will send this address in the +# MAIL FROM command. This has nothing to do with the "From" address on the mail +# message. It can really be anything, but some mail servers require it contain +# a valid mail domain, or at least be well-formed. +$mail{smtpSender} = ''; # e.g. 'webwork@yourserver.yourschool.edu' + +# Be sure to use single quotes for the address or the @ sign will be interpreted as an array. + +# Seconds to wait before timing out when connecting to the SMTP server. +# the default is 120 seconds. +# Change it by uncommenting the following line +# set it to 5 for testing, 30 or larger for production + +$mail{smtpTimeout} = 30; + + +# TLS is a method for providing secure connections to the smtp server. +# https://en.wikipedia.org/wiki/Transport_Layer_Security +# At some sites coordinating the certificates properly is tricky +# Set this value to 0 to avoid checking certificates. +# Set it to 0 to trouble shoot an inability to verify certificates with the smtp server + +$mail{tls_allowed} = 0; + +#$tls_allowed=0; #old method -- this variable no longer works. + + +# errors of the form +# unable to establish SMTP connection to smtp-gw.rochester.edu port 465 +# indicate that there is a mismatch between the port number and the use of ssl +# use port 25 when ssl is off and use port 465 when ssl is on (tls_allowed=1) + + +# Set the SMTP port manually. Typically this does not need to be done it will use +# port 25 if no SSL is on and 465 if ssl is on + +#$mail{smtpPort} = 25; + +# Debugging tutorial for sending email using ssl/tls +# https://maulwuff.de/research/ssl-debugging.html + +################################################################################ +# Problem library options +################################################################################ +# +# The problemLibrary configuration data should now be set in localOverrides.conf + +# For configuration instructions, see: +# http://webwork.maa.org/wiki/National_Problem_Library +# The directory containing the Open Problem Library files. +# Set the root to "" if no problem +# library is installed. Use version 2.0 for the NPL and use the version 2.5 for the OPL. +# When changing from the NPL to the OPL it is important to change the version number +# because the names of the tables in the database have changed. + +# RE-CONFIGURE problemLibrary values in the localOverrides.conf file. +# The settings in site.conf are overridden by settings in default.config +################################################# +#$problemLibrary{root} ="/opt/webwork/libraries/webwork-open-problem-library/OpenProblemLibrary"; +########################################################### + +################################################################################ +#Time Zone +################################################################################ + +# Set the default timezone of courses on this server. To get a list of valid +# timezones, run: +# +# perl -MDateTime::TimeZone -e 'print join "\n", DateTime::TimeZone::all_names' +# +# To get a list of valid timezone "links" (deprecated names), run: +# +# perl -MDateTime::TimeZone -e 'print join "\n", DateTime::TimeZone::links' +# +# If left blank, the system timezone will be used. This is usually what you +# want. You might want to set this if your server is NOT in the same timezone as +# your school. If just a few courses are in a different timezone, set this in +# course.conf for the affected courses instead. +# +$siteDefaults{timezone} = "America/New_York"; + +# Locale for time format localization +# Set the following variable to localize the format of things like days +# of the week and month names (i.e. translate them) +# This variable must match one of the locales available on your system +# To show the current locale in use on the system, type 'locale' at the +# command prompt. For a list of installed locales, type 'locale -a' and +# enter one of the listed values here. +# If you do not fill this in, the system will default to "en_US" +$siteDefaults{locale}=""; + +################################################################################ +# Search Engine Indexing Enable/Disable +################################################################################ +# sets the default meta robots content for individual course pages +# this will not stop your main course listing page from being indexed +# valid contents: index, noindex, follow, nofollow, noarchive, and +# unavailable_after (example: "index, unavailable_after: 23-Jul-2007 18:00:00 EST") +$options{metaRobotsContent}='noindex, nofollow'; + +1;