From c1f2c59a84714e8cc5dc3b71de8c6c428e556359 Mon Sep 17 00:00:00 2001 From: kthoden Date: Tue, 9 Jun 2020 16:03:27 +0200 Subject: [PATCH] Virtual environment documented --- docs/conf.py | 6 ++- docs/install_docker.rst | 2 +- docs/install_venv.rst | 92 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+), 2 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 254a035..c4badd5 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -70,5 +70,9 @@ # -- Options for intersphinx extension --------------------------------------- +DOC_URL = "http://localhost:7999" + # Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = {'https://docs.python.org/3/': None} +intersphinx_mapping = {'main': (f'{DOC_URL}/', None) + 'webplat': (f'{DOC_URL}/webdesign_platform', None), +} diff --git a/docs/install_docker.rst b/docs/install_docker.rst index 277f8b7..a2b1e67 100644 --- a/docs/install_docker.rst +++ b/docs/install_docker.rst @@ -2,7 +2,7 @@ Installation with Docker ========================== -Docker is used to provide a consistent environment. Additional Python scripts are used for automisation of the installation process. +Docker is used to provide a consistent environment. Additional Python scripts are used for automisation of the installation process. This solution also contains the EOASkripts suite, which effectively makes this an all-in-one-solution for the whole production infrastructure. Dependencies to other git repositories are handled using `git_deps_py `_. diff --git a/docs/install_venv.rst b/docs/install_venv.rst index d175874..2e5601d 100644 --- a/docs/install_venv.rst +++ b/docs/install_venv.rst @@ -1,3 +1,95 @@ ======================================= Installation with Virtual Environment ======================================= + +As a slightly more lightweight approach, the whole system can also be set up in a Virtual Environment. This solution will definitely be lighter on system resources like disk space and memory. + + +Python packages +=============== +If not done already, install the following packages (on Linux):: + + sudo apt-get install python3-venv virtualenv + +EOA Publication Platform +======================== +Clone the source files for the publication platform:: + + git clone https://github.molgen.mpg.de/EditionOpenAccess/eoa-1.5.git + + +Additional deployment steps +=========================== +.. note:: + A small note before you continue, as it is not easy to move a virtual environment after installation. + +If you plan to use this installation on a production server, consider the additional steps of creating a separate user and a daemon and running the service in a non-user directory for more security and stability. See :doc:`the main documentation `. + + +Create Virtual Environment +========================== +You are free to choose a name of your choice here:: + + virtualenv -p python3 eoapp_ve + cd eoapp_ve + source bin/activate + +Installation of the system +-------------------------- +The next steps set up the EOA Publication Platform:: + + pip install djangocms-installer lxml + djangocms --django-version 2.1 --cms-version stable eoapp + pip uninstall djangocms-googlemap + +Submodules – Further development planned? +----------------------------------------- +If you plan on further developing the submodules of the platform, consider using the following commands for installation. With this, the submodules are located in the ``src`` directory on root level and in version control:: + + pip install -e git+https://github.molgen.mpg.de/EditionOpenAccess/django-eoapublications.git#egg=django-eoapublications + pip install -e git+https://github.molgen.mpg.de/EditionOpenAccess/django-eoaauthors.git#egg=django-authors + pip install -e git+https://github.molgen.mpg.de/EditionOpenAccess/django-eoaseries.git#egg=django-series + pip install -e git+https://github.molgen.mpg.de/EditionOpenAccess/django-eoaforthcoming.git#egg=django-forthcoming + pip install -e git+https://github.molgen.mpg.de/EditionOpenAccess/django-opds.git#egg=django-opds + +Otherwise, use these commands to install them deeper in the system:: + + pip install git+https://github.molgen.mpg.de/EditionOpenAccess/django-eoapublications + pip install git+https://github.molgen.mpg.de/EditionOpenAccess/django-eoaauthors + pip install git+https://github.molgen.mpg.de/EditionOpenAccess/django-eoaseries + pip install git+https://github.molgen.mpg.de/EditionOpenAccess/django-eoaforthcoming + pip install git+https://github.molgen.mpg.de/EditionOpenAccess/django-opds + +Adding the webdesign and templates and settings +----------------------------------------------- +If you haven't done so yet, see the :doc:`webdesign documentation ` for installation and usage. For the webdesign, you need the ``app.js`` and ``app.css`` files as well as the ``assets`` directory. After having built these files or obtained them from another source, copy them into the new platform:: + + cd /dist + cp -r app.* assets/ /eoapp/eoapp/static/ + +Similarly, add the templates and settings from the EOA-1.5 repository:: + + cd + rm -r eoapp/eoapp/templates + cp -rv /src/eoa/templates /eoapp/eoapp/ + cp /src/eoa/settings_lite.py /eoapp/eoapp/settings.py + cp /src/eoa/urls.py /eoapp/eoapp/ + +Importing data and setting up the database +========================================== +Import some basic CMS pages and settings:: + + cd eoapp + python manage.py loaddata /fixtures/cms_dummy.json + +Finally, update the database by migrating:: + + python manage.py makemigrations + python manage.py migrate --run-syncdb + + +Run the server +============== +It should now be possible to run a server and access the site through the browser:: + + python manage.py runserver 0.0.0.0:8000