From 251c5e2ba0e85103c55cf31026739b2e7e9d4b90 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Wed, 16 Sep 2015 16:10:59 +0200 Subject: Implement async. comm. with Python interpreter Creating, destroying and communicationg with the interpreter subprocess is now handled by a thread attached to PythonSession. Interpreter is sandboxed using libseccomp. --- readme.md | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) (limited to 'readme.md') diff --git a/readme.md b/readme.md index a7e11ca..61b0ac6 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,19 @@ Deployment ========== +Install the following packages: + + - apache2 + - python3 (>= 3.4) + - python3-ply + - python3-psycopg2 + - python3-termcolor + - swi-prolog-nox (>= 7.2) + - nodejs (>= 10.0.22) + +SWI prolog +---------- + 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: @@ -16,17 +29,23 @@ apt-get update apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EF8406856DBFCA18 apt-get update -Install the following packages: +libseccomp +---------- - - apache2 - - python3 (>= 3.4) - - python3-ply - - python3-psycopg2 - - python3-termcolor - - swi-prolog-nox (>= 7.2) - - nodejs (>= 10.0.22) +A new version of libseccomp (≥ 2.2) with Python bindings is needed to sandbox +Python interpreters. This is not available yet in most distributions, so fetch +the latest sources with + + git clone https://github.com/seccomp/libseccomp + +then build and install it with + + ./configure --enable-python + make + make install -Settings: +Settings +-------- - point webroot to codeq-web - set up reverse proxy for /ws/ to the node server: @@ -43,7 +62,8 @@ Settings: - run "npm install" inside the "web" directory to install all dependencies (they will be installed inside the "web" directory) -Running: +Running +------- - run the prolog interpreter server: swipl prolog/runner/main.pl - run the python interpreter server: python3 python/runner/main.py -- cgit v1.2.1