Plone
Plone és un CMS basat en Python i les tecnologies:
- Zope: servidor d'aplicacions
- ZODB: base de dades orientada a objecte
Contingut
Instal·lació en desenvolupament
Abans s'utilitzava un esquelet del servidor d'aplicacions Zope anomenat Zopeskel, però aquest mètode és obsolet.
Ara s'utilitza bob templates.
Instal·lem pip installer o bé actualitzem la darrera versió:
sudo pip install -U pip
Instal·lem virtualenv (o actualitzem darrera versió):
sudo pip install -U virtualenv
Creem un virtualenv (oju! SENSE sudo), normalment al nostre home directory:
virtualenv --no-site-packages --distribute ~/env
Activem el virtualenv:
source ~/env/bin/activate
El prompt de Linux hauria d'indicar el nom de la carpeta, en el nostre cas
(env) $
Instal·lem els bobtemplates de Plone:
pip install bobtemplates.plone
Creem l'esquelet del projecte Plone (ha de tenir nom.cognom):
mrbob -O plone.test1 bobtemplates:plone_addon
Entrem a la carpeta i construïm el projecte (ull, que triga molt perquè ha de descarregar moltes llibreries):
cd plone.test1 python bootstrap-buildout.py bin/buildout
De vegades el bootstrap falla si es fa dins del virtualenv. Si fos el cas, desactivem-lo abans de fer el bootstrap:
(env) $ cd plone.test1 (env) $ deactivate $ python bootstrap-buildout.py $ bin/buildout
És molt possible que doni errors perquè li falten llibreries. Mira aquest article i instal·la les llibreries del sistema que et facin falta.
Finalment, podem arrencar Plone i demés amb:
bin/instance start bin/instance stop bin/instance status
Pots començar a configurar la teva site plone a:
http://localhost:8080
Desplegament amb Apache
Podeu posar en marxa Plone tal i com hem fet en desenvolupament, és a dir, fent que escolti al port 8080. Caldrà redireccionar un VirtualHost d'Apache cap al port 8080 per poder accedir des d'un domini, per exemple:
http://plone.enric.com
Seguiu la documentació oficial de Plone pel desplegament amb Apache.
De totes maneres, a mi no em funcionava, i em sortia el HTML però sense CSS ni imatges. Els links no funcionaven. En realitat la RewriteRule m'ha funcionat fent un petit canvi. Enlloc d'aquesta línia:
RewriteRule ^/(.*) http://localhost:8080/VirtualHostBase/http/plone.enric.com:80/Plone1/VirtualHostRoot/$1 [P,L]
He aplicat aquest petit intercanvi:
RewriteRule ^/(.*) http://localhost:8080/VirtualHostBase/http/plone.enric.com:80/VirtualHostRoot/Plone1/$1 [P,L]
De fet, aquest sistema utilitza VirtualHostMonster, un mòdul de Zope que realitza el reescrit de les URLs d'acord amb el domini necessari (plone.enric.com pel nostre cas).
Per cert, en aquest cas Plone1 és el nom (ID) de la site.
Instal·lació amb Supervisor
Podem instal·lar Plone de moltes maneres en un servidor:
- Amb unified installer
- Arrencant-ho manualment com hem fet en la secció de desenvolupament
- Instal·lant-ho a l'arranc del sistema a init.d
- Amb Apache2
- Amb Supervisor: aquesta és la més senzilla i la que utilitzarem
- Tutorial principal de Plone: http://developer.plone.org/reference_manuals/active/deployment/
- En concret ens interessa: http://developer.plone.org/reference_manuals/active/deployment/processes.html#process-control-with-supervisor
- Algunes pistes (tutorial) a: https://www.digitalocean.com/community/articles/how-to-install-and-manage-supervisor-on-ubuntu-and-debian-vps
En realitat és senzill si hem treballat amb un buildout.
- Instal·lar Plone amb buildout i configurar ports, etc. (mai fer buildout com a sudo, només quan l'arrenquem)
- Instal·lem supervisor amb
$ sudo apt-get install supervisor
- Configurem
/etc/supervisor/supervisor.conf
d'acord amb el link "process control with supervisor".- Afegim els paràmetres
autostart=true
iautorestart=true
- Afegim els paràmetres
- Entrem a la consola de supervisor:
$ sudo supervisorctl
- Actualitzem supervisor:
supervisor> update
- Comprovem com va amb:
supervisor> status
Per saber més de supervisor fem "help" en la consola de supervisorctl.
Referències
Referències vàries:
- plone.org
- ZopeSkel: http://plone.org/countries/mx/instalacion-de-setuptools-y-easyinstall-para-python
- buildout.cfg diversos per Plone 4: http://keeshink.blogspot.com.es/2010/02/plone-4-buildout-setup.html
- http://plone.org/documentation/manual/developer-manual/managing-projects-with-buildout/creating-a-buildout-for-your-project
- http://plone.org/products/dexterity/documentation/manual/developer-manual/pre-requisites/buildout-configuration