How to install a SIB server =========================== Requirements ------------ The SIB server requires: - python 3.6 - postgresql database (for production) Initiate the server ------------------- From a fresh environment, get the last version of the ``sib-manager``: :: $ python -m pip install -U sib-manager Create a project structure from a production template: :: $ sib startproject sibserver --production $ cd sibserver For a development server remove the ``--production`` flag. Configure your LDP packages --------------------------- The configuration of the packages goes in ``packages.yml`` file in the ``ldppackages`` section. Those following ones are given as an example. Yours depend on what your app does. :: ldppackages: djangoldp_circle: djangoldp_circle djangoldp_account: djangoldp_account djangoldp_profile: djangoldp_profile oidc_provider: 'git+https://github.com/jblemee/django-oidc-provider.git@develop' Details about ``packages.yml`` format are given in the template file. Configure your server parameters -------------------------------- The ``packages.yml`` files is also use to provide parameters to the server itself. Configure the server parameters in the ``packages.yml``: :: server: site_url: 'http://localhost:8000' admin_email: admin@example.org admin_name: admin admin_pass: admin This configuration works for a local development server but for a production instance you need to setup a postgresql database and configure dependent services: :: server: site_url: 'https://api.batman.happy-dev.fr' allowed_hosts: - api.batman.happy-dev.fr db_host: postgresql-batman.happy-dev.fr db_name: batman_db db_user: batman db_pass: changeit smtp_host: smtp-batman.happy-dev.fr smtp_user: batman smtp_pass: changeit admin_email: admin@example.org admin_name: admin admin_pass: changeit xmpp_url: 'https://jabber.happy-dev.fr' jabber_host: 'happy-dev.fr' Launch the installation ----------------------- Install/update the project: :: $ sib install server Launch the server ----------------- Run the server in development: :: $ python manage.py runserver 0.0.0.0:8000 To *launch the server in production*: - you have to install the static files with ``python manage.py collectstatic`` - and you have to configure your python server to server the script: ``wsgi.py`` on the URL ``api.batman.happy-dev.fr/``. Tips & tricks ------------- Activate debug mode ^^^^^^^^^^^^^^^^^^^ To activate the debug mode (default in development) you can override manually the ``DEBUG`` variable in the ``settings.py`` Install the server as a subfolder URL ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This method isn’t officially supported and requires to change values in the core configuration. To setup the SIB server on a subfolder ``https://batman.happy-dev.fr/api`` you have to manually override the configuration in the ``settings.py``: :: BASE_URL = 'https://batman.happy-dev.fr' SITE_URL = 'https://batman.happy-dev.fr/api' STATIC_URL = '/api/static/' and URLs in ``urls.py``: :: urlpatterns = [ url(r'^api/', include('djangoldp.urls')), url(r'^api/admin/', admin.site.urls), ] Note: Alwaysdata static config ``/api/static/=/static/``