|
1 .. _appinstall: |
|
2 |
|
3 Installing PyAMS application |
|
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*, *libpq*, *libffi*, *libgdal* or *libzmq*. *Cython* compiler can also be useful to optimize |
|
12 several packages. |
|
13 |
|
14 PyAMS default components configuration also pre-suppose that the following external tools are available: |
|
15 |
|
16 - a *Memcached* or *Redis* server, to store sessions and cache (can be changed through Beaker configuration) |
|
17 |
|
18 Optional tools also include: |
|
19 |
|
20 - an *LDAP* server for authentication |
|
21 |
|
22 - an *ElasticSearch* server for full text indexing (see *PyAMS_content_es* package) |
|
23 |
|
24 - a *WebSockets* server using AsyncIO. This is used to manage notifications (see *PyAMS_notify* and *PyAMS_notify_ws* |
|
25 packages). An *out of the box* environment can be built using *pyams_notify* scaffold. |
|
26 |
|
27 |
|
28 PyAMS also needs that you use a ZODB shared server, as several background processes needing a concurrent access to ZODB |
|
29 are started by PyAMS main process. Three ZODB storages are already provided through PyAMS: ZEO, RelStorage or Newt.db. |
|
30 See :ref:`zodb` to know how to initialize database with the help of PyAMS tools. |
|
31 |
|
32 |
|
33 Creating initial buildout |
|
34 ------------------------- |
|
35 |
|
36 PyAMS provides a new Pyramid scaffold, called *pyams*, generated via a *cookiecutter* template. |
|
37 |
|
38 A simple option to install PyAMS is to create a buildout environment including *Pyramid* and all *PyAMS* packages: |
|
39 |
|
40 .. code-block:: bash |
|
41 |
|
42 # mkdir /var/local/ |
|
43 # pip3 install virtualenv |
|
44 # virtualenv --python=python3.5 env |
|
45 # cd env |
|
46 # . bin/activate |
|
47 (env) # pip3.5 install cookiecutter |
|
48 (env) # cookiecutter hg+http://hg.ztfy.org/pyams/scaffolds/pyams |
|
49 |
|
50 *CookieCutter* will ask you for a small set of input variables that you can change or not: |
|
51 |
|
52 - **pyams_release**: version of PyAMS configuration file to use. "latest" (default value) will point to last release; |
|
53 you can also choose to point to a given release ("0.1.4" for example) |
|
54 |
|
55 - **project_name**: current environment name in "human form" |
|
56 |
|
57 - **project_slug**: "technical" package name, based on project name |
|
58 |
|
59 - **virtual_hostname**: Apache virtual-host name |
|
60 |
|
61 - **webapp_name**: web application package name ("webapp" as default) |
|
62 |
|
63 - **webapp_port**: TCP/IP port to use when running application outside Apache ("6543" as default) |
|
64 |
|
65 - **eggs_directory**: relative or absolute path to directory containing downloaded eggs; this directory can be |
|
66 shared with other projects ("eggs" as default) |
|
67 |
|
68 - **logs_directory**: absolute path to directory containing Apache's log files |
|
69 |
|
70 - **run_user**: user name under which Apache process will run ("www-data" as default) |
|
71 |
|
72 - **run_group**: group name under which Apache process will run ("www-data" as default) |
|
73 |
|
74 - **beaker_backend**: name of Beaker backend to use to store sessions and cache data ("redis" as default) |
|
75 |
|
76 - **beaker_server**: IP address and port of Beaker backend server ("127.0.0.1:6379" as default) |
|
77 |
|
78 - **db_type**: ZODB database storage; available options include ZEO, RelStorage and NewtDB |
|
79 |
|
80 - **db_host**: IP address of database server ("127.0.0.1" as default); WARNING: database server installation |
|
81 is not part of application installation; another "zeo_server" cookiecutter recipe is available for ZEO |
|
82 |
|
83 - **db_port**: listening port of database server ("8100" is given as default for ZEO) |
|
84 |
|
85 - **db_name**: database or ZEO storage name to use |
|
86 |
|
87 - **db_username**: database user name |
|
88 |
|
89 - **db_password**: database password |
|
90 |
|
91 - **zeo_realm**: ZEO authentication realm |
|
92 |
|
93 - **blobs_dir**: local directory to use to store cache of ZODB blobs; cache size is limited to 10GB as default |
|
94 |
|
95 - **use_postgresql**: specify if PostgreSQL access is required; if so, please check that PostgreSQL development files |
|
96 are available to compile PsycoPG2 extension |
|
97 |
|
98 - **use_oracle**: specify if Oracle access is required; if so, please check that Oracle development files are |
|
99 available to compile cx_Oracle extension, and that ORACLE_HOME environment variable is correctly defined (see below) |
|
100 |
|
101 - **use_ldap**: specify if LDAP access will be required for authentication |
|
102 |
|
103 - **use_elasticsearch**: specify if an ElasticSearch server will be used for indexation |
|
104 |
|
105 - **elasticsearch_server**: URL used to access Elasticsearch server ("http://127.0.0.1:9200" as default); this URL can |
|
106 include login and password ("http://login:password@127.0.0.1:9200"), if required... |
|
107 |
|
108 - **elasticsearch_index**: name of Elasticsearch index to use ("pyams" as default) |
|
109 |
|
110 - **create_elasticsearch_index**: specify if Elasticsearch index should be created after installation is complete |
|
111 |
|
112 - **define_elasticsearch_mappings** : specify if Elasticsearch mappings should be defined after installation is complete |
|
113 |
|
114 - **smtp_server**: DNS name of SMTP server ("localhost" as default) |
|
115 |
|
116 - **smtp_server_name**: "human" name given to SMTP server ("pyams" as default) |
|
117 |
|
118 - **pyams_scheduler**: TCP/IP address and port to use to access PyAMS tasks scheduler process ("127.0.0.1:5555" as |
|
119 default); see :ref:`pyams_scheduler` |
|
120 |
|
121 - **start_scheduler**: boolean value to indicate if scheduler process is started by this application instance |
|
122 |
|
123 - **pyams_medias_converter**: TCP/IP address and port to use to access PyAMS medias converter process ("127.0.0.1:5556" |
|
124 as default); see :ref:`pyams_medias` |
|
125 |
|
126 - **start_medias_converter**: boolean value to indicate if medias converter process is started by this application |
|
127 instance |
|
128 |
|
129 - **pyams_es_indexer**: TCP/IP address and port to use to access PyAMS Elasticsearch indexer process ("127.0.0.1:5557" |
|
130 as default); see :ref:`pyams_content_es` |
|
131 |
|
132 - **start_es_indexer** boolean value to indicate if Elasticsearch indexer process is started by this application |
|
133 instance |
|
134 |
|
135 - **use_notifications**: specify if PyAMS notifications services are to be used (see :ref:`pyams_notify`) |
|
136 |
|
137 - **pyams_ws_notify**: TCP/IP address and port of PyAMS websockets server managing notifications service |
|
138 ("127.0.0.1:8081" as default) |
|
139 |
|
140 - **lexicon_languages**: NLTK lexicon languages to use ("en:english fr:french" as default) |
|
141 |
|
142 - **extension_package**: name of a PyAMS extension package to include in environment configuration |
|
143 |
|
144 - **need_pyams_gis**: specify if PyAMS GIS features are to be used by given extension package; if so, please check |
|
145 that *libgdal* development files are available; on Debian (and maybe others), you have to specify environment |
|
146 variables (see below). |
|
147 |
|
148 |
|
149 Boolean values accept "true", "yes", "on" or "1" (in any case) as *true* values, and anything else as *false*; setting |
|
150 any option to empty string will keep the default proposed value. |
|
151 |
|
152 You can then check, and eventually update, the proposed Buildout configuration file *buildout.cfg*, to add or remove |
|
153 packages or update settings to your needs. Then finalize Bootstrap initialization: |
|
154 |
|
155 .. code-block:: bash |
|
156 |
|
157 (env) # python3.5 bootstrap.py |
|
158 (env) # ./bin/buildout |
|
159 |
|
160 This last operation can be quite long, as many packages have to downloaded, compiled and installed in the virtual |
|
161 environment. If you encounter any compile error, just install the required dependencies and restart the buildout. |
|
162 |
|
163 Some dependencies can require the definition of custom environment variables before running *buildout*, like: |
|
164 |
|
165 - for *libgdal*, which is required by **PyAMS_gis** package, use: |
|
166 |
|
167 .. code-block:: bash |
|
168 |
|
169 (env) # export C_INCLUDE_PATH=/usr/include/gdal |
|
170 (env) # export CPLUS_INCLUDE_PATH=/usr/include/gdal |
|
171 |
|
172 **WARNING**: you have to check also that your *libgdal* release is matching "GDAL" release given in PyAMS |
|
173 configuration file (actually 2.1.0). |
|
174 |
|
175 - for *cx_Oracle*, which is required if you use Oracle database connections, use: |
|
176 |
|
177 .. code-block:: bash |
|
178 |
|
179 (env) # export ORACLE_HOME=/usr/lib/oracle/12.1/client64 |
|
180 |
|
181 These examples are given for Debian GNU/Linux. You may have to adapt configuration based on your own Linux |
|
182 distribution and packages versions. |
|
183 |
|
184 |
|
185 Environment settings |
|
186 -------------------- |
|
187 |
|
188 The project generated from *pyams* scaffold is based on default Pyramid's *zodb* scaffold, but it adds: |
|
189 |
|
190 - a custom application factory, in the *webapp* directory (see :ref:`site`) |
|
191 |
|
192 - a set of directories to store runtime data, in the *var* directory; each directory contains a *README.txt* file |
|
193 which should be self-explanatory to indicate what this directory should contain, including a ZEO cache |
|
194 |
|
195 - a set of configuration files, in the *etc* directory; here are standard *development.ini* and *production.ini* |
|
196 configuration files, a ZODB configuration files (*zodb-zeo.conf*) for a ZEO client storage and two Apache |
|
197 configurations (for Apache 2.2 and 2.4) using *mod_wsgi*. |
|
198 |
|
199 Once the project have been created from the scaffold, you are free to update all the configuration files. |
|
200 |
|
201 If you need to add packages to the environment, you have to add them to the *buildout.cfg* file **AND** to the INI |
|
202 file (in the *pyramid.includes* section) before running the *buildout* another time; don't forget to add the |
|
203 requested version at the end of *buildout.cfg* file, as Buildout is not configured by default to automatically |
|
204 download the last release of a given unknown package. |
|
205 |
|
206 *development.ini* and *production.ini* files contain many commented directives related to PyAMS components. Read and |
|
207 update them carefully before initializing your application database! |
|
208 |
|
209 |
|
210 Initializing the database |
|
211 ------------------------- |
|
212 |
|
213 When you have downloaded and installed all required packages, you have to initialize the database so that all |
|
214 required components are available. |
|
215 |
|
216 From a shell, just type: |
|
217 |
|
218 .. code-block:: bash |
|
219 |
|
220 (env) # ./bin/pyams_upgrade etc/development.ini |
|
221 |
|
222 This process requires that every package is correctly included into *pyramid.includes* directive from selected |
|
223 configuration file. |
|
224 |
|
225 |
|
226 Initializing Elasticsearch index |
|
227 -------------------------------- |
|
228 |
|
229 If you want to use an Elasticsearch index, you have to initialize index settings and mappings; the Ingest attachment |
|
230 plug-in is also required to handle attachments correctly. |
|
231 |
|
232 Elasticsearch integration is defined through the *PyAMS_content_es* package. Configuration files are available in this |
|
233 package, for attachment pipeline, index settings and mappings: |
|
234 |
|
235 .. code-block:: bash |
|
236 |
|
237 (env) # cd /var/local/src/pyams/pyams_content_es |
|
238 (env) # curl --noproxy localhost -XDELETE http://localhost:9200/pyams (1) |
|
239 (env) # curl --noproxy localhost -XPUT http://localhost:9200/pyams -d @index-settings.json |
|
240 |
|
241 (env) # curl --noproxy localhost -XPUT http://localhost:9200/pyams/WfNewsEvent/_mapping -d @mappings/WfNewsEvent.json |
|
242 (env) # curl --noproxy localhost -XPUT http://localhost:9200/pyams/WfTopic/_mapping -d @mappings/WfTopic.json |
|
243 (env) # curl --noproxy localhost -XPUT http://localhost:9200/pyams/WfBlogPost/_mapping -d @mappings/WfBlogPost.json |
|
244 |
|
245 (1) If 'pyams' is defined as Elasticsearch index name. |
|
246 |
|
247 |
|
248 NLTK initialization |
|
249 ------------------- |
|
250 |
|
251 Some NLTK (Natural Language Toolkit) tokenizers and stopwords utilities are used to index fulltext contents elements. |
|
252 This package requires downloading and configuration of several elements which are done as follow: |
|
253 |
|
254 .. code-block:: bash |
|
255 |
|
256 (end) # ./bin/py |
|
257 >>> import nltk |
|
258 >>> nltk.download() |
|
259 NLTK Downloader |
|
260 --------------------------------------------------------------------------- |
|
261 d) Download l) List u) Update c) Config h) Help q) Quit |
|
262 --------------------------------------------------------------------------- |
|
263 Downloader> c |
|
264 |
|
265 Data Server: |
|
266 - URL: <https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml> |
|
267 - 6 Package Collections Available |
|
268 - 107 Individual Packages Available |
|
269 |
|
270 Local Machine: |
|
271 - Data directory: /home/tflorac/nltk_data |
|
272 |
|
273 --------------------------------------------------------------------------- |
|
274 s) Show Config u) Set Server URL d) Set Data Dir m) Main Menu |
|
275 --------------------------------------------------------------------------- |
|
276 Config> d |
|
277 New directory> /usr/local/lib/nltk_data (1) |
|
278 Config> m |
|
279 |
|
280 --------------------------------------------------------------------------- |
|
281 d) Download l) List u) Update c) Config h) Help q) Quit |
|
282 --------------------------------------------------------------------------- |
|
283 Downloader> d |
|
284 |
|
285 Download which package (l=list; x=cancel)? |
|
286 Identifier> punkt |
|
287 Downloading package punkt to /usr/local/lib/nltk_data... |
|
288 |
|
289 Downloader> d |
|
290 |
|
291 Download which package (l=list; x=cancel)? |
|
292 Identifier> stopwords |
|
293 Downloading package stopwords to /usr/local/lib/nltk_data... |
|
294 |
|
295 |
|
296 (1) On Debian GNU/Linux, you can choose any directory between '*~/nltk_data*' (where '~' is the homedir of user running |
|
297 Pyramid application), '*/usr/share/nltk_data*', '*/usr/local/share/nltk_data*', '*/usr/lib/nltk_data*' and |
|
298 '*/usr/local/lib/nltk_data*'. |
|
299 |
|
300 |
|
301 Starting the application |
|
302 ------------------------ |
|
303 |
|
304 When database upgrade process has ended, you can start the web application process with the standard Pyramid's |
|
305 *pserve* command line tool: |
|
306 |
|
307 .. code-block:: bash |
|
308 |
|
309 (env) # ./bin/pserve etc/development.ini |
|
310 |
|
311 In standard debug mode, all registered components are displayed in the console, until the final line (here using ZEO): |
|
312 |
|
313 .. code-block:: bash |
|
314 |
|
315 2018-01-14 11:37:54,339 INFO [ZEO.ClientStorage][MainThread] [('127.0.0.1', 8100)] ClientStorage (pid=28695) created RW/normal for storage: 'pyams' |
|
316 2018-01-14 11:37:54,340 INFO [ZEO.cache][MainThread] created temporary cache file 3 |
|
317 2018-01-14 11:37:54,345 INFO [ZODB.blob][MainThread] (28695) Blob directory `/var/local/env/pyams/var/db/blobs` is used but has no layout marker set. Selected `lawn` layout. |
|
318 2018-01-14 11:37:54,345 WARNI [ZODB.blob][MainThread] (28695) The `lawn` blob directory layout is deprecated due to scalability issues on some file systems, please consider migrating to the `bushy` layout. |
|
319 2018-01-14 11:37:54,346 DEBUG [asyncio][[('127.0.0.1', 8100)] zeo client networking thread] Using selector: EpollSelector |
|
320 2018-01-14 11:37:54,347 DEBUG [ZEO.asyncio.client][[('127.0.0.1', 8100)] zeo client networking thread] disconnected <ZEO.asyncio.client.Client object at 0x7feeb1de7390> None |
|
321 2018-01-14 11:37:54,348 DEBUG [ZEO.asyncio.client][[('127.0.0.1', 8100)] zeo client networking thread] try_connecting |
|
322 2018-01-14 11:37:54,349 INFO [ZEO.asyncio.base][[('127.0.0.1', 8100)] zeo client networking thread] Connected Protocol(('127.0.0.1', 8100), 'pyams', False) |
|
323 2018-01-14 11:37:54,355 INFO [ZEO.ClientStorage][[('127.0.0.1', 8100)] zeo client networking thread] [('127.0.0.1', 8100)] Connected to storage: ('localhost', 8100) |
|
324 2018-01-14 11:37:54,358 DEBUG [txn.140663320073984][MainThread] new transaction |
|
325 2018-01-14 11:37:54,360 DEBUG [txn.140663320073984][MainThread] commit |
|
326 2018-01-14 11:37:54,484 DEBUG [config][MainThread] include /home/tflorac/Dropbox/src/PyAMS/pyams_template/src/pyams_template/configure.zcml |
|
327 2018-01-14 11:37:54,485 DEBUG [config][MainThread] include /var/local/env/pycharm/lib/python3.5/site-packages/pyramid_zcml/configure.zcml |
|
328 ... |
|
329 2018-01-14 11:37:54,833 DEBUG [PyAMS (utils)][MainThread] Registering utility <class 'pyams_utils.timezone.utility.TimezoneGenerationsChecker'> named 'PyAMS timezone' providing <InterfaceClass pyams_utils.interfaces.site.ISiteGenerations> |
|
330 2018-01-14 11:37:54,834 DEBUG [PyAMS (utils)][MainThread] Registering class <class 'pyams_utils.timezone.vocabulary.TimezonesVocabulary'> as vocabulary with name "PyAMS timezones" |
|
331 2018-01-14 11:37:54,835 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'pyams_utils.traversing.PathElementsAdapter'> for (<InterfaceClass zope.location.interfaces.IContained>,) providing <InterfaceClass pyams_utils.interfaces.traversing.IPathElements> |
|
332 2018-01-14 11:37:54,839 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'pyams_utils.url.AbsoluteUrlTalesExtension'> for (<InterfaceClass zope.interface.Interface>, <InterfaceClass zope.interface.Interface>, <InterfaceClass zope.interface.Interface>) providing <InterfaceClass pyams_utils.interfaces.tales.ITALESExtension> |
|
333 2018-01-14 11:37:54,847 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'pyams_utils.widget.decimal.DottedDecimalDataConverter'> for (<InterfaceClass pyams_utils.schema.IDottedDecimalField>, <InterfaceClass z3c.form.interfaces.IWidget>) providing <InterfaceClass z3c.form.interfaces.IDataConverter> |
|
334 2018-01-14 11:37:54,942 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'pyams_utils.zmi.intids.IntIdsLengthAdapter'> for (<InterfaceClass zope.intid.interfaces.IIntIds>,) providing <InterfaceClass pyams_utils.interfaces.intids.IIndexLength> |
|
335 2018-01-14 11:37:54,943 DEBUG [PyAMS (pagelet)][MainThread] Registering pagelet view "properties.html" for <InterfaceClass zope.intid.interfaces.IIntIds> (<class 'pyams_utils.zmi.intids.IntIdsPropertiesDisplayForm'>) |
|
336 2018-01-14 11:37:54,949 DEBUG [PyAMS (pagelet)][MainThread] Registering pagelet view "properties.html" for <InterfaceClass pyams_utils.interfaces.timezone.IServerTimezone> (<class 'pyams_utils.zmi.timezone.ServerTimezonePropertiesEditForm'>) |
|
337 2018-01-14 11:37:54,980 DEBUG [PyAMS (utils)][MainThread] Registering class <class 'pyams_utils.zodb.ZEOConnectionVocabulary'> as vocabulary with name "PyAMS ZEO connections" |
|
338 2018-01-14 11:37:54,981 DEBUG [PyAMS (utils)][MainThread] Registering class <class 'pyams_utils.zodb.ZODBConnectionVocabulary'> as vocabulary with name "PyAMS ZODB connections" |
|
339 2018-01-14 11:37:55,015 DEBUG [PyAMS (pagelet)][MainThread] Registering pagelet view "add-zeo-connection.html" for <InterfaceClass zope.component.interfaces.ISite> (<class 'pyams_utils.zmi.zeo.ZEOConnectionAddForm'>) |
|
340 2018-01-14 11:37:55,016 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'pyams_utils.zmi.zeo.ZEOConnectionNameAdapter'> for (<InterfaceClass pyams_utils.interfaces.zeo.IZEOConnection>, <InterfaceClass pyams_zmi.layer.IAdminLayer>) providing <InterfaceClass pyams_skin.interfaces.container.ITableElementName> |
|
341 2018-01-14 11:37:55,017 DEBUG [PyAMS (pagelet)][MainThread] Registering pagelet view "properties.html" for <InterfaceClass pyams_utils.interfaces.zeo.IZEOConnection> (<class 'pyams_utils.zmi.zeo.ZEOConnectionPropertiesEditForm'>) |
|
342 ... |
|
343 2018-01-14 11:41:13,214 DEBUG [PyAMS (utils)][MainThread] Registering adapter <class 'pyams_default_theme.skin.ResourcesAdapter'> for (<InterfaceClass zope.interface.Interface>, <InterfaceClass pyams_default_theme.layer.IPyAMSDefaultLayer>, <InterfaceClass zope.interface.Interface>) providing <InterfaceClass pyams_skin.interfaces.resources.IResources> |
|
344 2018-01-14 11:43:36,665 INFO [ZEO.ClientStorage][MainThread] [('127.0.0.1', 8100)] ClientStorage (pid=29335) created RW/normal for storage: 'pyams' |
|
345 2018-01-14 11:43:36,665 INFO [ZEO.cache][MainThread] created temporary cache file 9 |
|
346 2018-01-14 11:43:36,673 DEBUG [asyncio][[('127.0.0.1', 8100)] zeo client networking thread] Using selector: EpollSelector |
|
347 2018-01-14 11:43:36,674 DEBUG [ZEO.ClientStorage.check_blob_cache][[('127.0.0.1', 8100)] zeo client check blob size thread] 140712483907328 Checking blob cache size. (target: 966367642) |
|
348 2018-01-14 11:43:36,674 DEBUG [ZEO.asyncio.client][[('127.0.0.1', 8100)] zeo client networking thread] disconnected <ZEO.asyncio.client.Client object at 0x7ffa54058860> None |
|
349 2018-01-14 11:43:36,675 DEBUG [ZEO.ClientStorage.check_blob_cache][[('127.0.0.1', 8100)] zeo client check blob size thread] 140712483907328 blob cache size: 0 |
|
350 2018-01-14 11:43:36,675 DEBUG [ZEO.asyncio.client][[('127.0.0.1', 8100)] zeo client networking thread] try_connecting |
|
351 2018-01-14 11:43:36,675 DEBUG [ZEO.ClientStorage.check_blob_cache][[('127.0.0.1', 8100)] zeo client check blob size thread] 140712483907328 --> |
|
352 2018-01-14 11:43:36,677 INFO [ZEO.asyncio.base][[('127.0.0.1', 8100)] zeo client networking thread] Connected Protocol(('127.0.0.1', 8100), 'pyams', False) |
|
353 2018-01-14 11:43:36,679 INFO [ZEO.ClientStorage][[('127.0.0.1', 8100)] zeo client networking thread] [('127.0.0.1', 8100)] Connected to storage: ('localhost', 8100) |
|
354 2018-01-14 11:43:36,682 DEBUG [txn.140713340237568][MainThread] new transaction |
|
355 2018-01-14 11:43:36,683 DEBUG [txn.140713340237568][MainThread] commit |
|
356 2018-01-14 11:43:36,690 INFO [PyAMS (scheduler][MainThread] Starting tasks scheduler <SchedulerProcess(SchedulerProcess-1, initial)>... |
|
357 2018-01-14 11:43:36,698 INFO [PyAMS (scheduler][MainThread] Started tasks scheduler with PID 29361. |
|
358 2018-01-14 11:43:36,701 INFO [apscheduler.scheduler][MainThread] Scheduler started |
|
359 2018-01-14 11:43:36,702 DEBUG [apscheduler.scheduler][APScheduler] Looking for jobs to run |
|
360 2018-01-14 11:43:36,704 DEBUG [apscheduler.scheduler][APScheduler] No jobs; waiting until a job is added |
|
361 2018-01-14 11:43:36,719 INFO [ZEO.ClientStorage][MainThread] [('127.0.0.1', 8100)] ClientStorage (pid=29335) created RW/normal for storage: 'pyams' |
|
362 2018-01-14 11:43:36,720 INFO [ZEO.cache][MainThread] created temporary cache file 15 |
|
363 2018-01-14 11:43:36,724 DEBUG [asyncio][[('127.0.0.1', 8100)] zeo client networking thread] Using selector: EpollSelector |
|
364 2018-01-14 11:43:36,725 DEBUG [ZEO.asyncio.client][[('127.0.0.1', 8100)] zeo client networking thread] disconnected <ZEO.asyncio.client.Client object at 0x7ffa557e8b00> None |
|
365 2018-01-14 11:43:36,726 DEBUG [ZEO.asyncio.client][[('127.0.0.1', 8100)] zeo client networking thread] try_connecting |
|
366 2018-01-14 11:43:36,727 DEBUG [ZEO.ClientStorage.check_blob_cache][[('127.0.0.1', 8100)] zeo client check blob size thread] 140712483907328 Checking blob cache size. (target: 966367642) |
|
367 2018-01-14 11:43:36,728 INFO [ZEO.asyncio.base][[('127.0.0.1', 8100)] zeo client networking thread] Connected Protocol(('127.0.0.1', 8100), 'pyams', False) |
|
368 2018-01-14 11:43:36,729 DEBUG [ZEO.ClientStorage.check_blob_cache][[('127.0.0.1', 8100)] zeo client check blob size thread] 140712483907328 blob cache size: 0 |
|
369 2018-01-14 11:43:36,729 DEBUG [ZEO.ClientStorage.check_blob_cache][[('127.0.0.1', 8100)] zeo client check blob size thread] 140712483907328 --> |
|
370 2018-01-14 11:43:36,732 INFO [ZEO.ClientStorage][[('127.0.0.1', 8100)] zeo client networking thread] [('127.0.0.1', 8100)] Connected to storage: ('localhost', 8100) |
|
371 2018-01-14 11:43:36,735 DEBUG [txn.140713340237568][MainThread] new transaction |
|
372 2018-01-14 11:43:36,736 DEBUG [txn.140713340237568][MainThread] commit |
|
373 2018-01-14 11:43:36,743 INFO [PyAMS (media)][MainThread] Starting medias converter <MediaConversionProcess(MediaConversionProcess-2, initial)>... |
|
374 2018-01-14 11:43:36,751 INFO [PyAMS (media)][MainThread] Started medias converter with PID 29367. |
|
375 Starting server in PID 29335. |
|
376 Serving on http://0.0.0.0:6543 |
|
377 |
|
378 |
|
379 From this point, you can launch a browser and open URL *http://127.0.0.1:6543/admin* to get access to PyAMS |
|
380 management interface; default login is "admin/admin", that you may change as soon as possible (see |
|
381 :ref:`pyams_security`)!!. |