summaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md34
1 files changed, 27 insertions, 7 deletions
diff --git a/readme.md b/readme.md
index f52a663..a7e11ca 100644
--- a/readme.md
+++ b/readme.md
@@ -1,21 +1,41 @@
Deployment
==========
+To use the correct SWI prolog package (>= 7.2) on Debian, add a custom
+repository by creating the file /etc/apt/sources.list.d/prolog.list
+containing the following 2 lines:
+
+deb http://ppa.launchpad.net/swi-prolog/stable/ubuntu trusty main
+deb-src http://ppa.launchpad.net/swi-prolog/stable/ubuntu trusty main
+
+After that run the following sequence of shell statements to update
+the package cache, register the new repository's key, and again refresh
+the package cache using the additional key:
+
+apt-get update
+apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EF8406856DBFCA18
+apt-get update
+
Install the following packages:
- apache2
- - python3-falcon
+ - python3 (>= 3.4)
- python3-ply
- python3-psycopg2
- python3-termcolor
- - python3-waitress
- - swi-prolog-nox
+ - swi-prolog-nox (>= 7.2)
- nodejs (>= 10.0.22)
Settings:
- point webroot to codeq-web
- set up reverse proxy for /ws/ to the node server:
+ - using the command a2enmod enable apache modules: proxy, proxy_http, proxy_wstunnel, rewrite
+ - add to the apache configuration the following directives:
+ RewriteEngine on
+ RewriteCond %{REQUEST_URI} ^/ws/ [NC]
+ RewriteCond %{QUERY_STRING} transport=websocket [NC]
+ RewriteRule /(.*) ws://localhost:8083/$1 [P,L]
ProxyPass /ws/ http://localhost:8083/ws/
ProxyPassReverse /ws/ http://localhost:8083/ws/
- set _path_prefix in server.problems
@@ -25,10 +45,10 @@ Settings:
Running:
- - run prolog/runner/main.pl
- - run python/runner/main.py
- - run daemon.py
- - start the node process (node web/main.js)
+ - run the prolog interpreter server: swipl prolog/runner/main.pl
+ - run the python interpreter server: python3 python/runner/main.py
+ - run the session daemon: python3 daemon.py
+ - run the web server for client communication: node web/main.js
Misc.
=====