Files
django-dav-events/INSTALL.rst
Jens Kleineheismann 05da45f271
All checks were successful
Run tests / Execute tox to run the test suite (push) Successful in 2m40s
Modernize the meta files of the project
2024-09-09 11:56:38 +02:00

102 lines
2.9 KiB
ReStructuredText

REQUIREMENTS
============
- Python >= 3
- Django and some other python packages, that will be installed throughout
the installation process
For production use you surly want a real web server that supports WSGI
(e.g. Apache httpd with mod_wsgi) and a real Database like PostgreSQL (psycopg2).
QUICK INSTALLATION FOR THE IMPATIENT
====================================
- python setup.py mkpyenv
- source env/python/bin/activate
- python setup.py quickdev
INSTALLATION
============
1. Python Environment
---------------------
It is strongly recommended to create a separated python environment
for this django project. But it is not exactly necessary.
If you decide to not use virtualenv, proceed with step 2.
- Create the python environment in a directory called ./env/python:
``python -m venv --prompt="(dav)" ./env/python``
- If you use a posix compatible shell (like bash, the linux default shell),
you have to activate the environment for the current shell session
with the following command:
``source ./env/python/bin/activate``
Your shell prompt should be prefixed with '(dav)' now.
Do not exit the shell session (nor deactivate the environment) until the
whole installation is done.
After that you can call the command ``deactivate`` to deactivate the project
environment and access the systems standard python environment again.
If you have left the session or deactivated the environment and want to
reactivate the environment (e.g. to execute a python command) use the
previous ``source ...`` command.
2. Install requirements
-----------------------
- ``python -m pip install -r requirements.txt``
3. Install project code in development mode
-------------------------------------------
- ``python -m pip install -e .``
4. Setup django project directory
---------------------------------
- ``django-dav-events-admin setup ./env/django``
The django project directory ('./env/django' within the previous example)
will be called *project root* for now on.
5. Enable modules
-----------------
Our web application consist of several modules, that care about single
aspects of the whole picture.
You want to enable some of those modules by execute a
management command.
Change into the *project root* (where the file ``manage.py`` lives)
and run
- ``python manage.py enable_module dav_auth``
- ``python manage.py enable_module dav_events``
4. Create the database schema / Populate the database
-----------------------------------------------------
While you still are in the *project root* directory, run
- ``python manage.py makemigrations``
- ``python manage.py migrate``
5. Create a super user or administrator account
-----------------------------------------------
While you still are in the *project root* directory, run
- ``python manage.py createsuperuser``
6. Start test server
--------------------
While you still are in the *project root* directory, run
- ``python manage.py runserver``
Now you should be able to connect to the test server via
http://localhost:8000