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... |
|