CAT-SOOP is a flexible, programmable learning management system based on the Python programming language.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

133 lines
3.8 KiB

  1. <python>
  2. cs_content_header = cs_long_name
  3. </python>
  4. This page is designed to help you get an instance of CAT-SOOP up and running.
  5. If you are setting things up on a local copy, following the instructions on
  6. this page should be enough. If you are setting up a public-facing instance on
  7. a server you control, you should follow these instructions, and then continue
  8. by following the link at the bottom of this page for more information about
  9. server configuration.
  10. As a general rule, I only test using Debian GNU/Linux, but others have tested
  11. these instructions on Mac OSX and on Windows (Cygwin or LSW).
  12. <tableofcontents/>
  13. <section>Install Necessary Software</section>
  14. CAT-SOOP depends on Python (version 3.5+, with pip).
  15. You will need Python version 3.5+ on your system to run CAT-SOOP. Many
  16. distributions have Python 3.5+ in their package managers, though it may be
  17. necessary to download the source from [the official Python
  18. site](
  19. On Debian Stretch, you will need the `python3` and `python3-pip` packages (or a
  20. version of Python 3.5+ installed in some other way).
  21. <subsection>(Cygwin Only) Patch _pyio</subsection>
  22. As of the time of this writing (December 2017), the Python version available
  23. through Cygwin ships with a broken version of `_pyio`, which `cheroot` uses.
  24. In order to run CAT-SOOP on a Cygwin host, edit the file
  25. `/usr/lib/python3.6/` so that the first conditional (about
  26. `sys.platform`) reads as follows:
  27. ```py
  28. if sys.platform == 'win32':
  29. from msvcrt import setmode as _setmode
  30. elif sys.platform == 'cygwin':
  31. import ctypes
  32. _cygwin1 = ctypes.PyDLL('cygwin1.dll')
  33. def _setmode(fd, mode):
  34. return _cygwin1._setmode(ctypes.c_int(fd), ctypes.c_int(mode))
  35. else:
  36. _setmode = None
  37. ```
  38. <section>Download CAT-SOOP</section>
  39. There are several ways you can install CAT-SOOP.
  40. <subsection>Installation via pip</subsection>
  41. The easiest is pip, with a command like the following:
  42. ```
  43. $ sudo pip3 install catsoop
  44. ```
  45. <subsection>Manual Installation</subsection>
  46. Alternatively, you can clone the Git repository:
  47. ```
  48. $ @{TOR_STRING('git')} clone git://@{cs_url_root.split('/',2)[-1]}/catsoop.git
  49. ```
  50. After you have a local copy, you can then run:
  51. ```
  52. $ sudo pip3 install .
  53. ```
  54. from the source directory. You can also run the unit tests by running:
  55. ```
  56. $ sudo python3 test
  57. ```
  58. <section>Configure CAT-SOOP</section>
  59. To configure CAT-SOOP, run the following command:
  60. ```
  61. catsoop configure
  62. ```
  63. and answer the questions it poses.
  64. <div class="callout callout-danger">
  65. <h4>Note</h4>
  66. If you are running a public-facing CAT-SOOP instance, you are <b>strongly
  67. encouraged</b> to enable encryption if the directory in which you are storing
  68. the logs is not already encrypted in some way (e.g., via <code>luks</code> or
  69. <code>gocryptfs</code> or <code>cryfs</code>, etc).
  70. </div>
  71. <section>Add Courses</section>
  72. The default location for CAT-SOOP courses is in
  73. `~/.local/share/catsoop/courses/`. You should move (or symlink) your courses
  74. to that location.
  75. <section>Start CAT-SOOP</section>
  76. To start the server, you should run:
  77. ```
  78. $ catsoop start
  79. ```
  80. This will start the server listening on port 6010. You should then be able to
  81. directy your browser to `http://localhost:6010` to see the CAT-SOOP instance.
  82. <section>(Optional) Sign Up for Mailing List(s)</section>
  83. `` is a place to ask questions about CAT-SOOP usage.
  84. You can view the archives or subscribe
  85. [here](
  86. `` is the place to ask questions about CAT-SOOP development.
  87. You can view the archives or subscribe
  88. [here](
  89. <section>Additional Configuration for Public-Facing Servers</section>
  90. If you are setting up a public-facing CAT-SOOP instance, see also [this page
  91. about additional server configuration](CURRENT/server_configuration).