# Get Started ## Requirements We will need to install python3.6 with sqlite3 support. This can be done using the system package management, downloaded from [http://www.python.org](), or compiled from sources. - Installing from the system package management: - OSX: `port install python36` - FreeBSD: `pkg install python36 py36-sqlite3` - Linux: `apt-get install ???` - Installing from sources: - Download from [http://www.python.org]() - `unxz Python-3.6.tar.xz` - `tar xvf Python-3.6.tar` - `cd Python-3.6` - `./configure --prefix=$HOME/.local/bin` - `make && make install` Next install pip (if not yet installed): python36 -m ensurepip --user This will install pip in your account under `~/.local/bin`. In the end you should be able to run `pip3 --version` and `python3 -c "import sqlite3"` without errors (sometimes `pip3` is `pip`, `pip3.6` or `pip-3.6`). Install additional python packages locally on the user area: pip install --user tornado sqlalchemy pyyaml pygments markdown bcrypt networkx These are usually installed under - OSX: `~/Library/python/3.6/lib/python/site-packages/` - Linux/FreeBSD: `~/.local/lib/python3.6/site-packages/` Note: If you want to always install python modules on the user account, edit the pip configuration file `~/.config/pip/pip.conf` (FreeBSD, Linux) or `Library/Application Support/pip/pip.conf` (OSX) and add the lines [global] user = yes ## Installation Replace USER by your bitbucket username: cd path/to/some/directory git clone https://USER@bitbucket.org/USER/aprendizations.git A directory aprendizations will be created with the software: cd aprendizations ## Configuration First we need to create a database: ./initdb.py # initialize with a single user `0` and empty password ./initdb.py --help # for the available options We also need certificates for https. Generate selfsigned certificates using openssl: cd certs openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes cd .. Run a demonstration: ./serve.py