docs/source/install.rst
changeset 125 985534bc6ab9
parent 124 53dc81f933ed
child 126 e2aeba0dd99c
equal deleted inserted replaced
124:53dc81f933ed 125:985534bc6ab9
     1 .. _install:
       
     2 
       
     3 Installing PyAMS
       
     4 ================
       
     5 
       
     6 PyAMS default installation is based on `Buildout <http://www.buildout.org>`_ utility. It's not mandatory to use a
       
     7 virtual environment, but it allows you to have a better control over your Python resources.
       
     8 
       
     9 Current PyAMS version is based and validated for Python 3.5; your Python environment must also include a C
       
    10 compiler as well as development headers for Python, *libjpeg*, *libpng*, *libfreetype*, *libxml2*, *libxslt* and
       
    11 eventually *libldap* or *libzmq*.
       
    12 
       
    13 PyAMS default components configuration also pre-suppose that the following external tools are available:
       
    14 
       
    15 - a *Memcached* or *Redis* server, to store sessions and cache (can be changed through Beaker configuration)
       
    16 
       
    17 Optional tools also include:
       
    18 
       
    19 - an *LDAP* server for authentication
       
    20 
       
    21 - an *ElasticSearch* server for full text indexing (see *PyAMS_content_es* package)
       
    22 
       
    23 - a *WebSockets* server using AsyncIO. This is used to manage notifications (see *PyAMS_notify* and *PyAMS_notify_ws*
       
    24   packages). An *out of the box* environment can be built using *pyams_notify* scaffold.
       
    25 
       
    26 
       
    27 PyAMS also needs that you use a ZEO server, as several background processes needing a concurrent access to ZODB are
       
    28 started by PyAMS main process. See :ref:`zeo` to know how to create a ZEO server with the help of PyAMS tools.
       
    29 
       
    30 
       
    31 Creating initial buildout
       
    32 -------------------------
       
    33 
       
    34 PyAMS provides a new Pyramid scaffold, called *pyams*, generated via a *cookiecutter* template.
       
    35 
       
    36 A simple option to install PyAMS is to create a buildout environment including *Pyramid* and all *PyAMS* packages:
       
    37 
       
    38 .. code-block:: bash
       
    39 
       
    40     # mkdir /var/local/
       
    41     # pip3 install virtualenv
       
    42     # virtualenv --python=python3.5 env
       
    43     # cd env
       
    44     # . bin/activate
       
    45     (env) # pip3.5 install cookiecutter
       
    46     (env) # cookiecutter hg+http://hg.ztfy.org/pyams/scaffolds/pyams
       
    47 
       
    48 *CookieCutter* will ask you for a small set of input variables that you can change or not:
       
    49 
       
    50 - **pyams_release**: version of PyAMS configuration file to use. "latest" (default value) will point to last release;
       
    51   you can also choose to point to a given release ("0.1.4" for example)
       
    52 
       
    53 - **project_name**: current environment name in "human form"
       
    54 
       
    55 - **project_slug**: "technical" package name, based on project name
       
    56 
       
    57 - **virtual_hostname**: Apache virtual-host name
       
    58 
       
    59 - **webapp_name**: web application package name ("webapp" as default)
       
    60 
       
    61 - **webapp_port**: TCP/IP port to use when running application outside Apache ("6543" as default)
       
    62 
       
    63 - **eggs_directory**: relative or absolute path to directory containing downloaded eggs; this directory can be
       
    64   shared with other projects ("eggs" as default)
       
    65 
       
    66 - **logs_directory**: absolute path to directory containing Apache's log files
       
    67 
       
    68 - **run_user**: user name under which Apache process will run ("www-data" as default)
       
    69 
       
    70 - **run_group**: group name under which Apache process will run ("www-data" as default)
       
    71 
       
    72 - **beaker_backend**: name of Beaker backend to use to store sessions and cache data ("redis" as default)
       
    73 
       
    74 - **beaker_server**: IP address and port of Beaker backend server ("127.0.0.1:6379" as default)
       
    75 
       
    76 - **zeo_server**: IP address and port of ZEO server ("127.0.0.1:8100" as default); WARNING: ZEO server installation
       
    77   is not part of application installation; another "zeo_server" cookiecutter receipe is available for that.
       
    78 
       
    79 - **zeo_storage**: name of ZEO storage to use
       
    80 
       
    81 - **zeo_username**: ZEO user name
       
    82 
       
    83 - **zeo_password**: ZEO password
       
    84 
       
    85 - **zeo_realm**: ZEO authentication realm
       
    86 
       
    87 - **zeo_blobs_dir**: local directory to use to store cache of ZODB blobs; cache size is limited to 1GB as default
       
    88 
       
    89 - **use_postgresql**: specify if PostgreSQL access is required; if so, please check that PostgreSQL development files
       
    90   are available to compile PsycoPG2 extension
       
    91 
       
    92 - **use_oracle**: specify if Oracle access is available; if so, please check that Oracle development files are
       
    93   available to compile cx_Oracle extension, and that ORACLE_HOME environment variable is correctly defined
       
    94 
       
    95 - **use_ldap**: specify if LDAP access will be required for authentication
       
    96 
       
    97 - **use_elasticsearch**: specify if an ElasticSearch server will be used for indexation
       
    98 
       
    99 - **elasticsearch_server**: URL used to access Elasticsearch server ("http://127.0.0.1:9200" as default); this URL can
       
   100   include login and password ("http://login:password@127.0.0.1:9200"), if required...
       
   101 
       
   102 - **elasticsearch_index**: name of Eslasticsearch index to use ("pyams" as default)
       
   103 
       
   104 - **create_elasticsearch_index**: specify if Elasticsearch index should be created after installation is complete
       
   105 
       
   106 - **define_elasticsearch_mappings** : specify if Elasticsearch mappings should be defined after installation is complete
       
   107 
       
   108 - **smtp_server**: DNS name of SMTP server ("localhost" as default)
       
   109 
       
   110 - **smtp_server_name**: "human" name given to SMTP server ("pyams" as default)
       
   111 
       
   112 - **pyams_scheduler**: TCP/IP address and port to use to access PyAMS tasks scheduler process ("127.0.0.1:5555" as
       
   113   default)
       
   114 
       
   115 - **pyams_medias_converter**: TCP/IP address and port to use to access PyAMS medias converter process ("127.0.0.1:5556"
       
   116   as default)
       
   117 
       
   118 - **pyams_es_indexer**: TCP/IP address and port to use to access PyAMS Elasticsearch indexer process ("127.0.0.1:5557"
       
   119   as default)
       
   120 
       
   121 - **use_notifications**: specify if PyAMS notifications services are to be used
       
   122 
       
   123 - **pyams_ws_notify**: TCP/IP address and port of PyAMS websockets server managing notifications service
       
   124   ("127.0.0.1:8081" as default)
       
   125 
       
   126 - **lexicon_languages**: NLTK lexicon languages to use ("en:english fr:french" as default)
       
   127 
       
   128 - **extension_package**: name of a PyAMS extension package to include in environment configuration
       
   129 
       
   130 - **need_pyams_gis**: specify if PyAMS GIS features are to be used by given extension package; if so, please check
       
   131   that *libgdal* development files are available and on Debian, you have to specify environment variables for
       
   132   C_INCLUDE_PATH and CPLUS_INCLUDE_PATH pointing to */usr/include/gdal* directory. WARNING: you have to check also
       
   133   that your *libgdal* release is matching "GDAL" release given in PyAMS configuration file (actually 2.1.0).
       
   134 
       
   135 
       
   136 You can then check, and eventually update, the proposed Buildout configuration file *buildout.cfg*, to add or remove
       
   137 packages or update settings to your needs. Then finalize Bootstrap initialization:
       
   138 
       
   139 .. code-block:: bash
       
   140 
       
   141     (env) # python3.5 bootstrap.py
       
   142     (env) # ./bin/buildout
       
   143 
       
   144 This last operation can be quite long, as many packages have to downloaded, compiled and installed in the virtual
       
   145 environment. If you encounter any compile error, just install the required dependencies and restart the buildout.
       
   146 
       
   147 
       
   148 Environment settings
       
   149 --------------------
       
   150 
       
   151 The project generated from *pyams* scaffold is based on default Pyramid's *zodb* scaffold, but it adds:
       
   152 
       
   153 - a custom application factory, in the *webapp* directory (see :ref:`site`)
       
   154 
       
   155 - a set of directories to store runtime data, in the *var* directory; each directory contains a *README.txt* file
       
   156   which should be self-explanatory to indicate what this directory should contain, including a ZEO cache
       
   157 
       
   158 - a set of configuration files, in the *etc* directory; here are standard *development.ini* and *production.ini*
       
   159   configuration files, a ZODB configuration files (*zodb-zeo.conf*) for a ZEO client storage and two Apache
       
   160   configurations (for Apache 2.2 and 2.4) using *mod_wsgi*.
       
   161 
       
   162 Once the project have been created from the scaffold, you are free to update all the configuration files.
       
   163 
       
   164 If you need to add packages to the environment, you have to add them to the *buildout.cfg* file **AND** to the INI
       
   165 file (in the *pyramid.includes* section) before running the *buildout* another time; don't forget to add the
       
   166 requested version at the end of *buildout.cfg* file, as Buildout is not configured by default to automatically
       
   167 download the last release of a given unknown package.
       
   168 
       
   169 *development.ini* and *production.ini* files contain many commented directives related to PyAMS components. Read and
       
   170 update them carefully before initializing your application database!
       
   171 
       
   172 
       
   173 Initializing the database
       
   174 -------------------------
       
   175 
       
   176 When you have downloaded and installed all required packages, you have to initialize the database so that all
       
   177 required components are available.
       
   178 
       
   179 From a shell, just type:
       
   180 
       
   181 .. code-block:: bash
       
   182 
       
   183     (env) # ./bin/pyams_upgrade etc/development.ini
       
   184 
       
   185 This process requires that every package is correctly included into *pyramid.includes* directive from selected
       
   186 configuration file.
       
   187 
       
   188 
       
   189 Starting the application
       
   190 ------------------------
       
   191 
       
   192 When database upgrade process has ended, you can start the web application process with the standard Pyramid's
       
   193 *pserve* command line tool:
       
   194 
       
   195 .. code-block:: bash
       
   196 
       
   197     (env) # ./bin/pserve etc/development.ini
       
   198 
       
   199 In standard debug mode, all registered components are displayed in the console, until the final line (here using ZEO):
       
   200 
       
   201 .. code-block:: bash
       
   202 
       
   203     2017-06-19 17:21:40,495 INFO  [ZEO.ClientStorage][MainThread] [('localhost', 8100)] ClientStorage (pid=23253) created RW/normal for storage: 'pyams'
       
   204     2017-06-19 17:21:40,497 DEBUG [ZODB.blob][MainThread] (23253) Blob directory `var/db/blobs` has layout marker set. Selected `bushy` layout.
       
   205     2017-06-19 17:21:40,497 WARNI [ZODB.blob][MainThread] (23253) Blob dir var/db/blobs/ has insecure mode setting
       
   206     2017-06-19 17:21:40,498 INFO  [ZEO.cache][MainThread] created temporary cache file 4
       
   207     2017-06-19 17:21:40,517 BLATH [ZEO.zrpc][MainThread] (23253) CM.connect(): starting ConnectThread
       
   208     2017-06-19 17:21:40,518 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CT: attempting to connect on 1 sockets
       
   209     2017-06-19 17:21:40,524 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CW: attempt to connect to ('127.0.0.1', 8100)
       
   210     2017-06-19 17:21:40,525 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CW: connect_ex(('127.0.0.1', 8100)) returned EINPROGRESS
       
   211     2017-06-19 17:21:40,525 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CT: select() 0, 1, 0
       
   212     2017-06-19 17:21:40,526 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CW: connect_ex(('127.0.0.1', 8100)) returned 0
       
   213     2017-06-19 17:21:40,526 INFO  [ZEO.ClientStorage][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] [('localhost', 8100)] Testing connection <ManagedClientConnection ('127.0.0.1', 8100)>
       
   214     2017-06-19 17:21:40,527 INFO  [ZEO.zrpc.Connection(b'C')][[('localhost', 8100)] zeo client networking thread] (127.0.0.1:8100) received handshake b'Z4'
       
   215     2017-06-19 17:21:40,628 INFO  [ZEO.ClientStorage][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] [('localhost', 8100)] Server authentication protocol None
       
   216     2017-06-19 17:21:40,629 INFO  [ZEO.ClientStorage][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] [('localhost', 8100)] Connected to storage: ('localhost', 8100)
       
   217     2017-06-19 17:21:40,630 INFO  [ZEO.ClientStorage][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] [('localhost', 8100)] No verification necessary -- empty cache
       
   218     2017-06-19 17:21:40,631 DEBUG [ZEO.ClientStorage][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] pickled inval None b'\x03\xc0\n*g\xcf\xcd\xbb'
       
   219     2017-06-19 17:21:40,633 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CM.connect_done(preferred=1)
       
   220     ...
       
   221     2017-06-19 17:22:39,342 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'pyams_content.shared.common.zmi.dashboard.SharedToolDashboardModifiedColumn'> for (<InterfaceClass zope.interface.Interface>, <InterfaceClass pyams_skin.layer.IPyAMSLayer>, <InterfaceClass pyams_content.shared.common.interfaces.zmi.ISharedToolDashboardTable>) providing <InterfaceClass z3c.table.interfaces.IColumn>
       
   222     2017-06-19 17:22:39,342 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'pyams_content.shared.common.zmi.dashboard.SharedToolDashboardNameAdapter'> for (<InterfaceClass pyams_content.shared.common.interfaces.ISharedTool>, <InterfaceClass pyams_skin.layer.IPyAMSLayer>, <InterfaceClass pyams_content.shared.common.interfaces.zmi.IDashboardTable>) providing <InterfaceClass pyams_skin.interfaces.container.ITableElementName>
       
   223     2017-06-19 17:22:39,343 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'pyams_content.shared.common.zmi.dashboard.SharedToolDashboardNameColumn'> for (<InterfaceClass zope.interface.Interface>, <InterfaceClass pyams_skin.layer.IPyAMSLayer>, <InterfaceClass pyams_content.shared.common.interfaces.zmi.ISharedToolDashboardTable>) providing <InterfaceClass z3c.table.interfaces.IColumn>
       
   224     2017-06-19 17:22:39,344 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'pyams_content.shared.common.zmi.dashboard.SharedToolDashboardOwnerColumn'> for (<InterfaceClass zope.interface.Interface>, <InterfaceClass pyams_skin.layer.IPyAMSLayer>, <InterfaceClass pyams_content.shared.common.interfaces.zmi.ISharedToolDashboardTable>) providing <InterfaceClass z3c.table.interfaces.IColumn>
       
   225     2017-06-19 17:22:39,344 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'pyams_content.shared.common.zmi.dashboard.SharedToolDashboardOwnerModifiedValues'> for (<InterfaceClass pyams_content.shared.common.interfaces.ISharedTool>, <InterfaceClass pyams_skin.layer.IPyAMSLayer>, <class 'pyams_content.shared.common.zmi.dashboard.SharedToolDashboardOwnerModifiedTable'>) providing <InterfaceClass z3c.table.interfaces.IValues>
       
   226     2017-06-19 17:22:39,345 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'pyams_content.shared.common.zmi.dashboard.SharedToolDashboardOwnerWaitingValues'> for (<InterfaceClass pyams_content.shared.common.interfaces.ISharedTool>, <InterfaceClass pyams_skin.layer.IPyAMSLayer>, <class 'pyams_content.shared.common.zmi.dashboard.SharedToolDashboardOwnerWaitingTable'>) providing <InterfaceClass z3c.table.interfaces.IValues>
       
   227     ...
       
   228     2017-06-19 17:22:40,221 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'onf_website.root.SiteRootStaticConfiguration'> for (<InterfaceClass onf_website.root.interfaces.ISiteRoot>, <InterfaceClass zope.interface.Interface>, <InterfaceClass zope.interface.Interface>) providing <InterfaceClass pyams_skin.interfaces.configuration.IStaticConfiguration>
       
   229     2017-06-19 17:22:40,222 DEBUG [PyAMS (utils)][MainThread] Registering adapter <function site_root_tools_configuration_factory at 0x7fbc923bb158> for (<InterfaceClass onf_website.root.interfaces.ISiteRoot>,) providing <InterfaceClass onf_website.root.interfaces.ISiteRootToolsConfiguration>
       
   230     2017-06-19 17:22:40,233 DEBUG [PyAMS (utils)][MainThread] Registering adapter <function NewsManagerRestrictionsFactory at 0x7fbc92266ae8> for (<InterfaceClass onf_website.shared.news.interfaces.INewsManager>,) providing <InterfaceClass pyams_content.shared.common.interfaces.IManagerRestrictionsFactory>
       
   231     2017-06-19 17:22:40,244 DEBUG [config][MainThread] include onf_website/configure.zcml
       
   232     2017-06-19 17:22:40,245 DEBUG [config][MainThread] include eggs/pyramid_zcml-1.1.0-py3.5.egg/pyramid_zcml/configure.zcml
       
   233     2017-06-19 17:22:40,246 DEBUG [config][MainThread] include eggs/pyramid_zcml-1.1.0-py3.5.egg/pyramid_zcml/meta.zcml
       
   234     2017-06-19 17:22:40,252 DEBUG [config][MainThread] include eggs/zope.i18n-4.1.0-py3.5.egg/zope/i18n/meta.zcml
       
   235     2017-06-19 17:22:40,253 DEBUG [zope.i18n][MainThread] register directory onf_website/src/onf_website/locales
       
   236     2017-06-19 17:22:40,258 DEBUG [config][MainThread] include webapp/webapp/configure.zcml
       
   237     ...
       
   238     2017-06-19 17:22:41,288 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CM.connect_done(preferred=1)
       
   239     2017-06-19 17:22:41,288 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CT: exiting thread: Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])
       
   240     2017-06-19 17:22:41,303 DEBUG [PyAMS (scheduler][MainThread] Adding scheduler job for task 'Compactage ZEO'
       
   241     2017-06-19 17:22:41,304 INFO  [apscheduler.scheduler][MainThread] Adding job tentatively -- it will be properly scheduled when the scheduler starts
       
   242     2017-06-19 17:22:41,305 DEBUG [PyAMS (scheduler][MainThread] Starting tasks scheduler <SchedulerProcess(SchedulerProcess-1, initial)>...
       
   243     2017-06-19 17:22:41,313 INFO  [apscheduler.scheduler][MainThread] Added job "Compactage ZEO" to job store "default"
       
   244     2017-06-19 17:22:41,314 INFO  [apscheduler.scheduler][MainThread] Scheduler started
       
   245     2017-06-19 17:22:41,314 DEBUG [apscheduler.scheduler][APScheduler] Looking for jobs to run
       
   246     2017-06-19 17:22:41,315 DEBUG [apscheduler.scheduler][APScheduler] Next wakeup is due at 2017-06-20 03:00:00+02:00 (in 34638.684629 seconds)
       
   247     2017-06-19 17:22:41,326 INFO  [ZEO.ClientStorage][MainThread] [('localhost', 8100)] ClientStorage (pid=23253) created RW/normal for storage: 'pyams'
       
   248     2017-06-19 17:22:41,327 DEBUG [ZODB.blob][MainThread] (23253) Blob directory `var/db/blobs` has layout marker set. Selected `bushy` layout.
       
   249     2017-06-19 17:22:41,328 WARNI [ZODB.blob][MainThread] (23253) Blob dir var/db/blobs/ has insecure mode setting
       
   250     2017-06-19 17:22:41,329 INFO  [ZEO.cache][MainThread] created temporary cache file 15
       
   251     2017-06-19 17:22:41,382 BLATH [ZEO.zrpc][MainThread] (23253) CM.connect(): starting ConnectThread
       
   252     2017-06-19 17:22:41,383 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CT: attempting to connect on 1 sockets
       
   253     2017-06-19 17:22:41,383 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CW: attempt to connect to ('127.0.0.1', 8100)
       
   254     2017-06-19 17:22:41,384 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CW: connect_ex(('127.0.0.1', 8100)) returned EINPROGRESS
       
   255     2017-06-19 17:22:41,385 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CT: select() 0, 1, 0
       
   256     2017-06-19 17:22:41,385 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CW: connect_ex(('127.0.0.1', 8100)) returned 0
       
   257     2017-06-19 17:22:41,386 INFO  [ZEO.ClientStorage][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] [('localhost', 8100)] Testing connection <ManagedClientConnection ('127.0.0.1', 8100)>
       
   258     2017-06-19 17:22:41,386 INFO  [ZEO.zrpc.Connection(b'C')][[('localhost', 8100)] zeo client networking thread] (127.0.0.1:8100) received handshake b'Z4'
       
   259     2017-06-19 17:22:41,487 INFO  [ZEO.ClientStorage][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] [('localhost', 8100)] Server authentication protocol None
       
   260     2017-06-19 17:22:41,488 INFO  [ZEO.ClientStorage][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] [('localhost', 8100)] Connected to storage: ('localhost', 8100)
       
   261     2017-06-19 17:22:41,489 INFO  [ZEO.ClientStorage][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] [('localhost', 8100)] No verification necessary -- empty cache
       
   262     2017-06-19 17:22:41,490 DEBUG [ZEO.ClientStorage][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] pickled inval None b'\x03\xc0\n*g\xcf\xcd\xbb'
       
   263     2017-06-19 17:22:41,492 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CM.connect_done(preferred=1)
       
   264     2017-06-19 17:22:41,493 BLATH [ZEO.zrpc][Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])] (23253) CT: exiting thread: Connect([(<AddressFamily.AF_INET: 2>, ('localhost', 8100))])
       
   265     2017-06-19 17:22:41,498 DEBUG [PyAMS (media)][MainThread] Starting medias conversion process <MediaConversionProcess(MediaConversionProcess-2, initial)>...
       
   266     2017-06-19 17:22:41,503 DEBUG [PyAMS (content.es)][MainThread] Starting content indexer process <ContentIndexerProcess(ContentIndexerProcess-3, initial)>...
       
   267     Starting server in PID 23253.
       
   268     Serving on http://0.0.0.0:6543
       
   269 
       
   270 From this point, you can launch a browser and open URL *http://127.0.0.1:6543/admin* to get access to PyAMS
       
   271 management interface; default login is "admin/admin", that you may change as soon as possible...