Configuración de buildout para el servidor de aplicaciones Zope 4 con Python 3.5.
- Zope 4.0, la ultima versión soporta Zope 4.
- Zope 4.0b10, la ultima versión de Zope 4, la cual soporta el proyecto Plone en su versión 5.2.
- Python 3.5.x.
Estos son los requerimientos mínimos de instalación:
sudo apt update && sudo apt upgrade -y sudo apt install git build-essential zlib1g-dev python3-dev python3-pip \ python3-virtualenv
Para la descargar del proyecto Buildout, ejecute el siguiente comando:
git clone https://github.com/macagua/buildout.zope4.git
Se requiere crear y activar un entorno virtual Python para proyecto Buildout, ejecute los siguientes comando:
cd buildout.zope4 virtualenv --python=/usr/bin/python3 venv source ./venv/bin/activate
Para la inicialización del proyecto Buildout, ejecute el siguiente comando:
pip install -r requirements.txt
Para la construcción del proyecto Buildout para obtener Zope 4.0, ejecute el siguiente comando:
buildout
Para la construcción del proyecto Buildout para obtener Zope 4.0b10, ejecute el siguiente comando:
./bin/buildout -c 4.0b10.cfg
Luego de terminar la construcción del proyecto Buildout, debe crear instancia Zope 4, ejecute el siguiente comando:
./bin/mkwsgiinstance -d $PWD/zopeinstance -u admin:admin --p ./venv/bin/python3
La ejecución crea un directorio zopeinstance
con la siguiente estructura:
zopeinstance/ ├── etc/ │ ├── site.zcml │ ├── zope.conf │ └── zope.ini ├── inituser └── var/ ├── cache/ │ └── README.txt ├── log/ │ └── README.txt └── README.txt
Para ejecutar la instancia zopeinstance
del servidor Zope 4, ejecute el siguiente comando:
./bin/runwsgi $PWD/zopeinstance/etc/zope.ini -n zope --server-name=main 2019-05-18 08:33:02 INFO [chameleon.config:38][MainThread] directory cache: /home/zope/buildout.zope4/zopeinstance/var/cache. 2019-05-18 08:33:02 INFO [Zope:45][MainThread] Ready to handle requests Starting server in PID 8275. Serving on http://localhost:8080
Como lo indica el ultimo mensaje de consola, el servidor Zope 4 puede ser consultado en la dirección http://localhost:8080 entonces abra un navegador con esa dirección y le presentara la siguiente pantalla:
Para acceder a la Zope Management Interface - ZMI abra en su navegador favorito la dirección http://localhost:8080/manage la cual le solicitara el nombre de usuario admin y contraseña admin y le presentara la siguiente pantalla:
Luego de la ejecución crean nuevos directorios y archivos como se presentan en la siguiente estructura:
zopeinstance/ ├── etc/ │ ├── site.zcml │ ├── zope.conf │ └── zope.ini └── var/ ├── cache/ │ ├── 160ef7d206a5183fd315af509d689dba.py │ ├── __pycache__ │ │ └── 160ef7d206a5183fd315af509d689dba.cpython-35.pyc │ └── README.txt ├── Data.fs ├── Data.fs.index ├── Data.fs.lock ├── Data.fs.tmp ├── log/ │ ├── event.log │ ├── README.txt │ └── Z4.log ├── README.txt └── Z4.pid
./bin/addzope2user
Permite agregar un nuevo usuario Zope, ejecutando el siguiente comando:
./bin/addzope2user <username> <password>Para más información consulte la ayuda incluida en el script con el siguiente comando:
./bin/addzope2user -h
./bin/mkwsgiinstance
Permite crear una instancia WSGI de Zope. agregar un nuevo usuario Zope, ejecutando el siguiente comando:
./bin/mkwsgiinstance -d $PWD/zopeinstance -u admin:admin --python=$PWD/bin/zopepyCuando se ejecuta sin argumentos, este script solicitará la información necesaria para crear una instancia de inicio de Zope WSGI.
Para más información consulte la ayuda incluida en el script con el siguiente comando:
./bin/mkwsgiinstance -h
./bin/mkzopeinstance
Es una utilidad descontinuada en Zope 4.0, en remplazo use el script ./bin/mkwsgiinstance
.
./bin/runwsgi
Uso: runwsgi config_uri [var=valor]
Es el script ejecutor del ZDaemon (servicio) Zope, para ejecutarlo ejecute el siguiente comando:
./bin/runwsgi $PWD/zopeinstance/etc/zope.ini -n zope --server-name=mainEste comando sirve a una aplicación web que utiliza un archivo de configuración del paquete
PasteDeploy
para el servidor y la aplicación. También puede incluir asignaciones de variables como'http_port=8080'
y luego usar%(http_port)s
en sus archivos de configuración.Para más información consulte la ayuda incluida en el script con el siguiente comando:
./bin/runwsgi -h
./bin/zconsole
Uso: zconsole [-h] {run,debug} zopeconf ...
Es el script ejecutor de la consola Zope, este posee los siguientes argumentos posicionales:
{run,debug} modo de operación, run: ejecutar script; debug: consola interactiva zopeconf ruta al archivo de configuración zope.conf scriptargsPara ejecutarlo en modo
debug
, debe ejecute el siguiente comando:./bin/zconsole debug $PWD/zopeinstance/etc/zope.conf Starting debugger (the name "app" is bound to the top-level Zope object) >>> >>> app.__doc__ 'Top-level system object' >>> app.Control_Panel.__doc__ 'System management\n ' >>> app.acl_users.__doc__ 'Standard UserFolder object\n\n A UserFolder holds User objects which contain information\n about users including name, password domain, and roles.\n UserFolders function chiefly to control access by authenticating\n users and binding them to a collection of roles.' >>> app.index_html.__doc__ 'Zope wrapper for Page Template using TAL, TALES, and METAL' >>> app.temp_folder.__doc__ 'Folders are basic container objects that provide a standard\n interface for object management. Folder objects also implement\n a management interface and can have arbitrary properties.\n ' >>> app.virtual_hosting.__doc__ 'Provide a simple drop-in solution for virtual hosting.\n ' >>> exit()Para ejecutarlo en modo
run
, debe ejecute el siguiente comando:./bin/zconsole run $PWD/zopeinstance/etc/zope.confPara más información consulte la ayuda incluida en el script con el siguiente comando:
./bin/zconsole -h
./bin/zpasswd
Es una utilidad descontinuada en Zope 4.0.
./bin/instance
Es el script que lleva por nombre de la sección
[instance]
buildout que construye automáticamente Zope 4, eso quiere decir, controla la instancia Zope usando ZDaemon (Zope Daemon), como lo hace el scriptzopectl
.Para instalarlo ejecute el siguiente comando:
buildout install instanceLuego de la ejecución crean nuevos directorios y archivos como se presentan en la siguiente estructura:
parts/instance/ ├── bin/ │ ├── interpreter │ └── README.txt ├── etc/ │ ├── site.zcml │ ├── wsgi.ini │ └── zope.conf ├── inituser └── var/ └── README.txtUse: zopectl [opciones] [acción [argumentos]]
- Opciones:
-h/--help -- imprimir el mensaje de uso y salir.
- -i/--interactive -- inicia un shell interactivo después de ejecutar los comandos
- acción [argumentos] -- ver más abajo.
Las acciones son comandos como los siguientes:
- "start" (inicia el servicio).
- "stop" (detiene el servicio).
- "status" (estado del servicio).
Si se especifica la opción
-i
o no se especifica ninguna acción en la línea de comando, se inicia una acción de interpretación "shell" escrita interactivamente. Utilice la acción "ayuda" para conocer las acciones disponibles.Para instalarlo ejecute el siguiente comando:
./bin/instance -i Program: ./venv/bin/python3 ./parts/instance/bin/interpreter ./eggs/Zope-4.0-py3.5.egg/Zope2/Startup/serve.py ./parts/instance/etc/wsgi.ini daemon manager not running instance> help Documented commands (type help <topic>): ======================================== adduser fg kill reopen_transcript show stop console foreground logreopen restart start wait debug help logtail run status Miscellaneous help topics: ========================== startup_command Undocumented commands: ====================== testPara el script
instance status
en modo estado del servicio, ejecute el siguiente comando:./bin/instance statusPara el script
instance show
en modo mostrar variables de configuración del servicio, ejecute el siguiente comando:./bin/instance showPara el script
instance fg
en modo fore ground, ejecute el siguiente comando:./bin/instance fgPara el script
instance start
en modo inicia el servicio, ejecute el siguiente comando:./bin/instance startPara el script
instance stop
en modo detiene el servicio, ejecute el siguiente comando:./bin/instance stopPara el script
instance restart
en modo reinicia el servicio, ejecute el siguiente comando:./bin/instance restartPara el script
instance run
en modo ejecutar script con argumentos en el servicio, ejecute el siguiente comando:./bin/instance run <script> [args]Para más información consulte la ayuda incluida en el script con el siguiente comando:
./bin/instance -hAdicionalmente consulte el articulo Installing Zope with zc.buildout — Zope documentation 4.0 documentation.
./bin/zopepy
Es el script que acceder a una consola interactiva de Python al contexto de la instalación de Zope 4, para instalarlo ejecute el siguiente comando:
buildout install zopepyPara el script
zopepy
ejecute el siguiente comando:./bin/zopepy >>> import Zope2 >>> Zope2.__doc__ 'Zope application package.' >>> exit()Este script puede ser usado tanto por el comando
mkwsgiinstance
para crear una instancia nueva de Zope, como hacer introspección de Python al contexto de la instalación de Zope 4.