|
|
### Prerequirements
|
|
|
A running installation needs Nginx (also Apache or other webservers which works as a proxy are possible), Postgresql and Redis. Other databases have not been tested, so their usage is on your own risk. Furthermore, a Python and Java runtime are required for automatic and programming task evaluation. Also, the sandbox [isolate](https://github.com/ioi/isolate) is required for executing untrusted code. For installation, follow the corresponding instruction guides.
|
|
|
## Prerequirements
|
|
|
A running installation needs Python3, Nginx (also Apache or other webservers which works as a proxy are possible), Postgresql and Redis. Other databases have not been tested, so their usage is on your own risk. Furthermore, a Python and Java runtime are required for automatic and programming task evaluation. Also, the sandbox [isolate](https://github.com/ioi/isolate) is required for executing untrusted code. Due isolate you can only use a modern Linux distributed (tested on Debian, Ubuntu and Manjaro) as operating system.
|
|
|
|
|
|
### Setting up flask
|
|
|
## Setting up [isolate](https://github.com/ioi/isolate)
|
|
|
For isolate, you can follow the instruction guides on the website. In short, you have to execute the following commands in your bash:
|
|
|
```bash
|
|
|
git clone https://github.com/ioi/isolate.git
|
|
|
cd isolate
|
|
|
make isolate
|
|
|
sudo make install
|
|
|
```
|
|
|
The building needs a modern version `gcc`. Instead of `make isolate` you can also consider to user `make`, which also creates a documentation using `a2x`(this software has then to be installed on your operating system, too).
|
|
|
|
|
|
### Setting up proxy
|
|
|
|
|
|
|
|
|
## Setting up flask
|
|
|
After downloading the application, you should create a virtual environment and install the packets needed for ChiefExam:
|
|
|
```bash
|
|
|
git clone https://gitlab.cs.fau.de/it62ajow/chiefexam.git
|
|
|
cd chiefexam
|
|
|
python3 -m venv env
|
|
|
source env/bin/activate
|
|
|
pip install -r requirements.txt
|
|
|
```
|
|
|
Now you should create a `.env` file in the root directory of ChiefExam and define the following variables like that:
|
|
|
```
|
|
|
DATABASE_URL=...
|
|
|
REDIS_URL=...
|
|
|
[...]
|
|
|
```
|
|
|
- `DATABASE_URL`: Defines the url for the database
|
|
|
|
|
|
## Defining systemd workers
|
|
|
|
|
|
## Setting up proxy
|
|
|
|
|
|
Things will be added here.
|
|
|
|
... | ... | |