From: Chris S. <san...@us...> - 2006-03-29 10:42:47
|
Update of /cvsroot/stack/stack-1-0/lang/en/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26578/lang/en/doc Modified Files: about_install.php Log Message: Index: about_install.php =================================================================== RCS file: /cvsroot/stack/stack-1-0/lang/en/doc/about_install.php,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** about_install.php 6 Feb 2006 12:33:12 -0000 1.11 --- about_install.php 29 Mar 2006 10:42:38 -0000 1.12 *************** *** 1,4 **** <?php ! /** * --- 1,4 ---- <?php ! /** * *************** *** 18,28 **** <h1>Installing STACK</h1> ! STACK is a collection of PHP scripts, which link together the ! user, a CAS, and a database over the internet. Hence the system itself requires a number of extra components. <h3>Platform</h3> ! The scripts currently released will run on a Linux (or unix) machine or a Microsoft (Windows) platform. --- 18,28 ---- <h1>Installing STACK</h1> ! STACK is a collection of PHP scripts, which link together the ! user, a CAS, and a database over the internet. Hence the system itself requires a number of extra components. <h3>Platform</h3> ! The scripts currently released will run on a Linux (or unix) machine or a Microsoft (Windows) platform. *************** *** 30,34 **** <li><b>Linux:</b> STACK has been tested on a <a href="http://fedora.redhat.com/">Fedora</a> based Linux system running the Apache web server.</li> ! <li><b>Microsoft:</b> STACK has been tested on Windows XP and Windows 2000 using IIS and <a href="http://www.easyphp.org/">EasyPHP</a>. EasyPHP is by far the easiest platform on which to install STACK. However, EasyPHP is <font color="red">not</font> --- 30,34 ---- <li><b>Linux:</b> STACK has been tested on a <a href="http://fedora.redhat.com/">Fedora</a> based Linux system running the Apache web server.</li> ! <li><b>Microsoft:</b> STACK has been tested on Windows XP and Windows 2000 using IIS and <a href="http://www.easyphp.org/">EasyPHP</a>. EasyPHP is by far the easiest platform on which to install STACK. However, EasyPHP is <font color="red">not</font> *************** *** 41,59 **** Regardless of which operating system used, you will need the following components. <ul> ! <li>A web server, such as <a href="http://www.apache.org/">Apache</a>, running <a href="http://www.php.net/">PHP</a>. I have been using versions after 5.0. (There should be no reason why STACK will not work with version 4.4 or later, however ! some users have reported that sessions do not work. If you can offer advice here, that would be most welcome...)<br /> Windows users could use <a href="http://www.easyphp.org/">EasyPHP</a>.</li> ! <li>You need to convex LaTeX to HTML with <a href="http://hutchinson.belmont.ma.us/tth/">TtH</a>. ! <li>The computer algebra system <a href="http://maxima.sourceforge.net/">Maxima</a> (<a href="#cas">see below</a>). ! Version 5.9.1 is supported. Version 5.9.2 is the ! latest release, and is currently supported for testing only. (Note, for those on a Microsoft platform, the <a href="http://wxmaxima.sourceforge.net/">wxMaxima</a> front end is much better than that distributed with Maxima itself and is well worth installing for testing CAS code outside STACK)</li> ! <li>(for graphical support we have used the <a href="http://www.gnuplot.info/">GNUPLOT</a> package, version 4.0. ! This is already supplied on Fedora 3 distributions, and comes with Maxima 5.9.1 on Windows.) </ul> Finally of course --- 41,60 ---- Regardless of which operating system used, you will need the following components. <ul> ! <li>A web server, such as <a href="http://www.apache.org/">Apache</a>, running <a href="http://www.php.net/">PHP</a>. I have been using versions after 5.0. (There should be no reason why STACK will not work with version 4.4 or later, however ! some users have reported that sessions do not work. If you can offer advice here, that would be most welcome...)<br /> Windows users could use <a href="http://www.easyphp.org/">EasyPHP</a>.</li> ! <li>You need to convex LaTeX to HTML with <a href="http://hutchinson.belmont.ma.us/tth/">TtH</a>. ! <li>The computer algebra system <a href="http://maxima.sourceforge.net/">Maxima</a> (<a href="#cas">see below</a>). ! Versions 5.9.2 and 5.9.3 are supported. Between Version 5.9.1 and 5.9.2 Maxima became <em> ! case sensitive</em>, which is not really an incremental change! Version 5.9.1 will not be supported ! in the future. (Note, for those on a Microsoft platform, the <a href="http://wxmaxima.sourceforge.net/">wxMaxima</a> front end is much better than that distributed with Maxima itself and is well worth installing for testing CAS code outside STACK)</li> ! <li>(for graphical support we have used the <a href="http://www.gnuplot.info/">GNUPLOT</a> package, version 4.0. ! This is already supplied on Fedora 3 distributions, and comes with Maxima on Windows.) </ul> Finally of course *************** *** 62,76 **** </ul> ! <p>The <em>latest</em> stack scripts can be obtained from the CVS on ! <tt>sourceforge</tt>. For example, anonymous access is via</p> ! <p><tt>cvs -z3 -d:pserver:ano...@cv...:/cvsroot/stack co -P <?php echo $stack_ver['cvsmodule'] ?> </tt></p> <p> Developer access can be obtained via SSH by</p> ! <p><tt>export CVS_RSH=ssh<br /> ! ! cvs -z3 -d:ext:</tt><em>developername</em><tt>@cvs.sourceforge.net:/cvsroot/stack co -P <?php echo $stack_ver['cvsmodule'] ?> </tt></p> --- 63,77 ---- </ul> ! <p>The <em>latest</em> stack scripts can be obtained from the CVS on ! <tt>sourceforge</tt>. For example, anonymous access is via</p> ! <p><tt>cvs -z3 -d:pserver:ano...@cv...:/cvsroot/stack co -P <?php echo $stack_ver['cvsmodule'] ?> </tt></p> <p> Developer access can be obtained via SSH by</p> ! <p><tt>export CVS_RSH=ssh<br /> ! ! cvs -z3 -d:ext:</tt><em>developername</em><tt>@cvs.sourceforge.net:/cvsroot/stack co -P <?php echo $stack_ver['cvsmodule'] ?> </tt></p> *************** *** 82,129 **** <h2>Security</h2> ! <p><font color="red">WARNING! What these scripts attempt to ! do is inherently insecure.</font> This system is designed to execute CAS code typed in by your student (or indeed an arbitrary third party) on your server, to create and mark mathematical questions. ! This is inherently insecure, and you ! should be aware of the dangers. These are <em>in addition</em> ! to the normal security problems associated with interactive, database driven web sites.</p> ! <p>The array <pre>$stack_cas['globalForbid']</pre> ! is generated automatically and contains strings the system ! attempts not to execute. You should look at the file ! <tt>scripts/maxima/maximafun.php</tt> and the array distributed, ! together with the CAS documentation, to decide which CAS commands ! you wish to prevent from being executed on your server. This ! list is not comprehensive, and you should make your own decisions here. <font color="red"><em>You have been warned!</em></font> <h2><a href="http://www.php.net/">PHP</a></h2> ! STACK needs <ul> ! <li><em>sessions</em> to be enabled.</li> <li>the function <tt>proc_open</tt> must be available to establish a connection with the external applications.</li> </ul> These are enabled by default. Apart from this ! requirement there seem to be no special PHP settings. <p>For mail alterts (which are not fully implemented) ! , use the <a href="http://pear.php.net/">pear ! class</a>. For example in Linux, to install this from the ! command line, type <tt>pear install mail</tt>, for example.<br /> ! You will need to install, <tt>mail, NET_Socket, NET_SMTP, ! Auth_SASL</tt>.</p> ! <p> You might also consider the other components of your PHP system. ! In particular, if you are integrating STACK with a VLE (eg <a ! href="http://moodle.org/">Moodle</a>, or <a ! href="http://www.logicampus.com/">Logicampus</a>), then you may ! need to have installed zlib and libpng (in that order) from downloads.</p> --- 83,130 ---- <h2>Security</h2> ! <p><font color="red">WARNING! What these scripts attempt to ! do is inherently insecure.</font> This system is designed to execute CAS code typed in by your student (or indeed an arbitrary third party) on your server, to create and mark mathematical questions. ! This is inherently insecure, and you ! should be aware of the dangers. These are <em>in addition</em> ! to the normal security problems associated with interactive, database driven web sites.</p> ! <p>The array <pre>$stack_cas['globalForbid']</pre> ! is generated automatically and contains strings the system ! attempts not to execute. You should look at the file ! <tt>scripts/maxima/maximafun.php</tt> and the array distributed, ! together with the CAS documentation, to decide which CAS commands ! you wish to prevent from being executed on your server. This ! list is not comprehensive, and you should make your own decisions here. <font color="red"><em>You have been warned!</em></font> <h2><a href="http://www.php.net/">PHP</a></h2> ! STACK needs <ul> ! <li><em>sessions</em> to be enabled.</li> <li>the function <tt>proc_open</tt> must be available to establish a connection with the external applications.</li> </ul> These are enabled by default. Apart from this ! requirement there seem to be no special PHP settings. <p>For mail alterts (which are not fully implemented) ! , use the <a href="http://pear.php.net/">pear ! class</a>. For example in Linux, to install this from the ! command line, type <tt>pear install mail</tt>, for example.<br /> ! You will need to install, <tt>mail, NET_Socket, NET_SMTP, ! Auth_SASL</tt>.</p> ! <p> You might also consider the other components of your PHP system. ! In particular, if you are integrating STACK with a VLE (eg <a ! href="http://moodle.org/">Moodle</a>, or <a ! href="http://www.logicampus.com/">Logicampus</a>), then you may ! need to have installed zlib and libpng (in that order) from downloads.</p> *************** *** 134,153 **** <h2><a href="http://www.mysql.com/">MySQL</a></h2> ! Please refer to the specific documentation for installing MySQL. ! There are no special requirements for STACK. If you wish to ! install STACK with an alternative database, this should be ! possible. All the interactions with the database are contained in the script <pre>$stack_root/scripts/stackDatabase.php</pre> <h2>Display via the LaTeX system</h2> ! <p>The basic route to convert the output from the CAS, into a ! form which is suitable for display has so far been to force the ! CAS to output LaTeX, and convert this on the fly to HTML. This conversion could be done in a number of ways. Support currently ! exists for <a href="http://hutchinson.belmont.ma.us/tth/">TtH</a> This is just ! one solution to the problem of displaying mathematics on the ! internet. TtH is a closed-source system, but the binary ! distribution is available for download. There are no special requirements.</p> --- 135,154 ---- <h2><a href="http://www.mysql.com/">MySQL</a></h2> ! Please refer to the specific documentation for installing MySQL. ! There are no special requirements for STACK. If you wish to ! install STACK with an alternative database, this should be ! possible. All the interactions with the database are contained in the script <pre>$stack_root/scripts/stackDatabase.php</pre> <h2>Display via the LaTeX system</h2> ! <p>The basic route to convert the output from the CAS, into a ! form which is suitable for display has so far been to force the ! CAS to output LaTeX, and convert this on the fly to HTML. This conversion could be done in a number of ways. Support currently ! exists for <a href="http://hutchinson.belmont.ma.us/tth/">TtH</a> This is just ! one solution to the problem of displaying mathematics on the ! internet. TtH is a closed-source system, but the binary ! distribution is available for download. There are no special requirements.</p> *************** *** 155,185 **** If you wish to do this, please contact the developers.</p> ! <p>It would also be possible to have the CAS output MathML, and ! convert any LaTeX in questions to MathML and HTML using a ! converter such as TtM. While we have designed STACK with this in mind, we have as yet not implemented this functionality.</p> <h2><a name='cas'>The computer algebra system Maxima</a></h2> ! <p>STACK has been designed to work with the <a href="http://maxima.sourceforge.net/">Maxima</a> computer algebra system although it should be possible to provide support for others ! such as <a href="http://www.nongnu.org/axiom/">AXIOM</a>. ! <p>Maxima is the preferred open source CAS. Version 5.9.1 ! is needed, to work with the ! <a href="http://www.gnuplot.info/">GNUPLOT</a> package, for ! graphical support. <font color='red'> ! STACK is yet to be tested with Maxima 5.9.2.</font> ! <p><b>Linux only:</b> Please read the Maxima documentation ! carefully, since this package is itself supported in a number of different Lisp implementations. STACK has been tested only with ! maxima-exec-gcl-5.9.2-2.i386.rpm <p><b>Windows only:</b> ! Setting the PATH in Windows can be a problem, see below for advice with this. <p>Note, for those on a Microsoft platform, the <a href="http://wxmaxima.sourceforge.net/">wxMaxima</a> --- 156,183 ---- If you wish to do this, please contact the developers.</p> ! <p>It would also be possible to have the CAS output MathML, and ! convert any LaTeX in questions to MathML and HTML using a ! converter such as TtM. While we have designed STACK with this in mind, we have as yet not implemented this functionality.</p> <h2><a name='cas'>The computer algebra system Maxima</a></h2> ! <p>STACK has been designed to work with the <a href="http://maxima.sourceforge.net/">Maxima</a> computer algebra system although it should be possible to provide support for others ! such as <a href="http://www.nongnu.org/axiom/">AXIOM</a>. ! <p>Maxima is the preferred open source CAS. Versions later than 5.9.2 ! is needed. ! <p><b>Linux only:</b> Please read the Maxima documentation ! carefully, since this package is itself supported in a number of different Lisp implementations. STACK has been tested only with ! maxima-exec-gcl-5.9.2-2.i386.rpm <p><b>Windows only:</b> ! Setting the PATH in Windows can be a problem, see below for advice with this. <p>Note, for those on a Microsoft platform, the <a href="http://wxmaxima.sourceforge.net/">wxMaxima</a> *************** *** 193,208 **** This directory will be referred to as <tt>$stack_root</tt>.</li> ! <li>Copy the file <tt>$stack_root/stackConfig.php.dist</tt> to ! <tt>$stack_root/stackConfig.php</tt><br />This file will contain all your local settings.</li> ! <li>Edit <tt>$stack_root/stackConfig.php</tt> to reflect your local settings. This is the only file you should have to edit, so read carefully the ! instructions it contains.</li> ! <li>Create a directory for locally and dynamically generated files. For example, ! <tt>/home/stack/stacklocal</tt>. Ensure the webserver can write to this, and update the variable, eg ! <pre>$stack_logfiles = "/home/stack/stacklocal"; </pre> ! in <tt>stackConfig.php</tt>.</li> <li>Create a directory for dynamically generated plots. This needs to be --- 191,206 ---- This directory will be referred to as <tt>$stack_root</tt>.</li> ! <li>Copy the file <tt>$stack_root/stackConfig.php.dist</tt> to ! <tt>$stack_root/stackConfig.php</tt><br />This file will contain all your local settings.</li> ! <li>Edit <tt>$stack_root/stackConfig.php</tt> to reflect your local settings. This is the only file you should have to edit, so read carefully the ! instructions it contains.</li> ! <li>Create a directory for locally and dynamically generated files. For example, ! <tt>/home/stack/stacklocal</tt>. Ensure the webserver can write to this, and update the variable, eg ! <pre>$stack_logfiles = "/home/stack/stacklocal"; </pre> ! in <tt>stackConfig.php</tt>.</li> <li>Create a directory for dynamically generated plots. This needs to be *************** *** 210,215 **** from this directory. The default value is assumed to be <pre>$maximalocal['IMAGE_DIR'] = $stack_root.'/tmp/';</pre> ! ie, you need to create the directory <tt>$stack_root/tmp</tt>. ! Ensure the webserver can write to this directory. --- 208,213 ---- from this directory. The default value is assumed to be <pre>$maximalocal['IMAGE_DIR'] = $stack_root.'/tmp/';</pre> ! ie, you need to create the directory <tt>$stack_root/tmp</tt>. ! Ensure the webserver can write to this directory. *************** *** 221,228 **** </ol> Create a directory for these applications, such as <tt>c:\Programe Files\bin</tt>, add this to your PATH, and copy ! the executables into this. TtH and gnuplot are single executable applications - gnuplot is distributed with Maxima ! and is the binary file <tt>C:\Program Files\Maxima-5.9.1\bin\wgnuplot.exe</tt> ! <p> For Maxima, a batch file has been provided: <tt>$stack_root/scripts/install/stackmaxima.bat</tt>. Copy this file into a directory on your Windows PATH, and edit it to point to your current version of Maxima. Ensure: --- 219,226 ---- </ol> Create a directory for these applications, such as <tt>c:\Programe Files\bin</tt>, add this to your PATH, and copy ! the executables into this. TtH and gnuplot are single executable applications - gnuplot is distributed with Maxima ! and is the binary file <tt>C:\Program Files\Maxima-5.9.3\bin\wgnuplot.exe</tt> ! <p> For Maxima, a batch file has been provided: <tt>$stack_root/scripts/install/stackmaxima.bat</tt>. Copy this file into a directory on your Windows PATH, and edit it to point to your current version of Maxima. Ensure: *************** *** 235,239 **** $stack_mysql['host'] = 'localhost'; $stack_mysql['user'] = 'stack'; ! $stack_mysql['pswd'] = ''; $stack_mysql['stackdb'] = 'stack'; </pre> --- 233,237 ---- $stack_mysql['host'] = 'localhost'; $stack_mysql['user'] = 'stack'; ! $stack_mysql['pswd'] = ''; $stack_mysql['stackdb'] = 'stack'; </pre> *************** *** 242,248 **** <li> The MySQL database is setup using the script ! <tt><a href='scripts/install/stackInstall.php'>$stack_root/scripts/install/stackInstall.php</a></tt>. <p><font color="red">WARNING!</font> This is disabled by default, for obvious reasons, and will do nothing. ! Edit the file, and comment out line 9, (ie add // to the beginning of the line). When the install is complete, reinstate the line to prevent future third party execution of this script.</p> --- 240,246 ---- <li> The MySQL database is setup using the script ! <tt><a href='scripts/install/stackInstall.php'>$stack_root/scripts/install/stackInstall.php</a></tt>. <p><font color="red">WARNING!</font> This is disabled by default, for obvious reasons, and will do nothing. ! Edit the file, and comment out line 9, (ie add // to the beginning of the line). When the install is complete, reinstate the line to prevent future third party execution of this script.</p> *************** *** 253,257 **** <!-- <h3>MySQL setup</h3> ! Remember that a clean MySQL install requires you to set the root password. For example, --- 251,255 ---- <!-- <h3>MySQL setup</h3> ! Remember that a clean MySQL install requires you to set the root password. For example, *************** *** 266,273 **** <h3>Starting the Pool of CAS processes</h3> ! <p>Only if you have chosen <tt>$stack_os='unix-pool';</tt>, you will need to ! start the pool of CAS processes from the command line. In order to link the pool of CAS processes with the internet it is necessary to ! run a command line PHP script.</p> <ol> --- 264,271 ---- <h3>Starting the Pool of CAS processes</h3> ! <p>Only if you have chosen <tt>$stack_os='unix-pool';</tt>, you will need to ! start the pool of CAS processes from the command line. In order to link the pool of CAS processes with the internet it is necessary to ! run a command line PHP script.</p> <ol> *************** *** 286,305 **** </ol> ! Everytime <tt>startsocket</tt> is executed, the file ! <tt>$stack_root/scripts/maxima/initmaxima.php</tt> is also ! executed once before the sockets are started. This does the ! following. ! <ol> ! <li>Writes the file <tt>CASkeywords.php</tt> which contains the three ! arrays, explained in the security section below.</li> ! <li>Generates the file <tt>maximalocal.mac</tt>, which ! contains settings from <tt>stackConfig.php</tt> in ! a form suitable for the CAS. For example, what is the gnuplot command? Where should plot files be written to? etc.</li> </ol> ! <p>To run these scripts in the background, the unix utility <a href="http://www.kuro5hin.org/story/2004/3/9/16838/14935"><tt>screen</tt></a> is useful.</p> --- 284,303 ---- </ol> ! Everytime <tt>startsocket</tt> is executed, the file ! <tt>$stack_root/scripts/maxima/initmaxima.php</tt> is also ! executed once before the sockets are started. This does the ! following. ! <ol> ! <li>Writes the file <tt>CASkeywords.php</tt> which contains the three ! arrays, explained in the security section below.</li> ! <li>Generates the file <tt>maximalocal.mac</tt>, which ! contains settings from <tt>stackConfig.php</tt> in ! a form suitable for the CAS. For example, what is the gnuplot command? Where should plot files be written to? etc.</li> </ol> ! <p>To run these scripts in the background, the unix utility <a href="http://www.kuro5hin.org/story/2004/3/9/16838/14935"><tt>screen</tt></a> is useful.</p> *************** *** 309,324 **** <h2>Ready to test!</h2> <p>If all the steps above were a success you should be ready to ! <?php //Does this variable point to a valid web URL? if (isset($stack_web_url)) { ! echo "<a href='$stack_web_url'>test the system.</a>"; } else { ! echo "<a href='javascript:void(0)'>test the system.</a> ! <li><font color='red'>Are you sure you have moved stackConfig.php into the root as required in step 2?</font></li>"; ! echo '<p>Now please refresh this web page and follow the above link to test the system!'; } --- 307,322 ---- <h2>Ready to test!</h2> <p>If all the steps above were a success you should be ready to ! <?php //Does this variable point to a valid web URL? if (isset($stack_web_url)) { ! echo "<a href='$stack_web_url'>test the system.</a>"; } else { ! echo "<a href='javascript:void(0)'>test the system.</a> ! <li><font color='red'>Are you sure you have moved stackConfig.php into the root as required in step 2?</font></li>"; ! echo '<p>Now please refresh this web page and follow the above link to test the system!'; } *************** *** 327,331 **** <p>Note, some sample questions are distributed in the file <tt>scripts/install/sample_questions.xml</tt> ! which you can upload into stack to get you started. You need to <ol> <li>login as the "admin" user, </li> --- 325,329 ---- <p>Note, some sample questions are distributed in the file <tt>scripts/install/sample_questions.xml</tt> ! which you can upload into stack to get you started. You need to <ol> <li>login as the "admin" user, </li> *************** *** 340,353 **** <p>For the Maxima CAS, the commands are divided into four groups. ! In the first three cases, the system checks to see if the entries ! in this list are a substring of anything going to the CAS, and takes the appropriate action.</p> ! <p>For students' input, or guest input in a CAS chat session (or ! the like) we operate in a mode which allows only specified ! strings. For teachers' input, we would like to enable ! arbitrarily named functions and variables to be present, subject ! to the naming restrictions of the CAS of course. Hence we ! basically divide all Maxima commands into the following four groups. --- 338,351 ---- <p>For the Maxima CAS, the commands are divided into four groups. ! In the first three cases, the system checks to see if the entries ! in this list are a substring of anything going to the CAS, and takes the appropriate action.</p> ! <p>For students' input, or guest input in a CAS chat session (or ! the like) we operate in a mode which allows only specified ! strings. For teachers' input, we would like to enable ! arbitrarily named functions and variables to be present, subject ! to the naming restrictions of the CAS of course. Hence we ! basically divide all Maxima commands into the following four groups. *************** *** 358,362 **** <li><tt>$stack_cas['teacherNotAllow']</tt><br/> These commands have side effects in the Maxima environment, and hence are not allowed. There may be ! no good reason why a command is here, but there we are. </li> <li><tt>$stack_cas['studentAllow'] </tt><br/> --- 356,360 ---- <li><tt>$stack_cas['teacherNotAllow']</tt><br/> These commands have side effects in the Maxima environment, and hence are not allowed. There may be ! no good reason why a command is here, but there we are. </li> <li><tt>$stack_cas['studentAllow'] </tt><br/> *************** *** 365,374 **** </ol> ! These classifications are given in the file, ! <tt>maximafun.php</tt>, which you can and should edit. <em>Once ! you have edited this file, you need to execute the file ! <tt>initmaxima.php</tt> to re-create ! <tt>CASkeywords.php</tt>.</em> (This in turn has been generated ! directly from the Maxima docs using another script, which you need not use). --- 363,372 ---- </ol> ! These classifications are given in the file, ! <tt>maximafun.php</tt>, which you can and should edit. <em>Once ! you have edited this file, you need to execute the file ! <tt>initmaxima.php</tt> to re-create ! <tt>CASkeywords.php</tt>.</em> (This in turn has been generated ! directly from the Maxima docs using another script, which you need not use). |