# SIKWEB 2.0 ## Installation ### Create a virtual environment for python `virtualenv -p python3 virtualenv.sikweb` ### Clone this repository and enter it Set up your SSH key authentication in GitLab Profile Settings. Then clone the repository: ``` git clone git@sika.sahkoinsinoorikilta.fi:vtmk/web2.0.git cd web2.0 ``` Change to the development branch: ``` git checkout develop ``` ### Activate virtualenv (assuming we are at the root of this repository and virtualenv is one level above) `. ../virtualenv.sikweb/bin/activate` ### Install Mariadb and create necessary tables #### Run the following commands to install dependencies and to run the mariadb installation script ``` sudo apt-get install mariadb-server libmysqlclient-dev python3-dev libffi-dev python3-cffi libssl-dev sudo mysql_secure_installation # Setup root password and say yes to all other questions sudo mysql -u root -p # Log in with your new password ``` #### Create a user called 'sik' with password 'password123' and create the db **PLEASE CHANGE THE PASSWORD TO SOMETHING MORE SECURE!** Paste the following into the mysql client prompt: ```SQL CREATE USER 'sik'@'localhost' IDENTIFIED BY 'password123'; CREATE DATABASE sik DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON `sik\_%` . * TO 'sik'@'%' IDENTIFIED BY 'password123'; GRANT ALL PRIVILEGES ON sik . * TO 'sik'@'localhost' IDENTIFIED BY 'password123'; ``` ### Install required python modules ``` pip install --upgrade pip pip install -r requirements.txt ``` ### Register cron jobs ``` ./add_cronjob.sh ``` ## Configure Django settings `cp sikweb/settings-sample.py sikweb/settings.py` Change the following fields in sikweb/settings.py if you are not using the default values: ``` NAME (default: sik) USER (default: sik) PASSWORD (default: password123) ``` under DATABASES -> 'default' around line 80. ## Run migrations `./manage.py migrate` You should be now have succesfully set up a development version of SikWeb 2.0 ## Running ### Activate virtualenv Assuming we are on root of this repo and virtualenv is one step above: `. ../virtualenv.sikweb/bin/activate` ### Use runserver command `./manage.py runserver` or `./manage.py runserver 0.0.0.0:8000` if you need to connect from anywhere else than localhost. ### Run unit tests `./manage.py test -v 2`