Plone FreeBSD

After the fiasco with Django-CMS on TrueOS 10.1.1 I am trying Plone. After installation I see zope213 message. I start that daemon. However there is nothing related to plone itself (how to create users zeo and plone) no install.sh script, no plonectl command and no FreeBSD specific documentation. I don't see anything on

http://127.0.0.1:8080


Is anybody running Plone on FreeBSD. Any documentation if upstream utilities like install.sh and plonectl are removed?

I can't believe how bad is the FreeBSD ports related documentation and how many ports are defacto broken except for people who created them for themselves.
 
Found this on the mailing list from one of the FreeBSD Python devs: https://lists.freebsd.org/pipermail/freebsd-zope/2013-November/000169.html. According to that the message displayed by Zope is indeed the correct way to start the service.

However, according to the startup script (/usr/local/etc/rc.d/zope213), it's attempting to start the service from a directory that doesn't exist.
Code:
: ${zope213_enable:="NO"}
: ${zope213_instances:="/usr/local/www/Zope213/"}

So I am just as confused as you are. Can you open a PR at https://bugs.freebsd.org/bugzilla/ that www/zope213 doesn't work out of the box and the package message doesn't match up with reality?
 
  • Thanks
Reactions: Oko
So I am just as confused as you are. Can you open a PR at https://bugs.freebsd.org/bugzilla/ that www/zope213 doesn't work out of the box and the package message doesn't match up with reality?
I appreciate your attempt to help me and more over I appreciate your posts on this forum so much. I learned a lot from you over the years. I am not going to do PR as I got cold feet with Plone and I am not going to pursue that route. This is the whole story

http://daemonforums.org/showthread.php?t=9103


I might make a post or two while getting php and PostgreSQL to work with Nginx in FreeBSD jail. I got Nginx but I can't see PHP files. Once that is done I will try to plug PostgreSQL and see if Drupal7 is working. This is decent post

http://loga.us/2015/01/16/apache-php-mysql-and-drupal-in-freebsd-10-part-i-apache24-and-php5/

but I pretty much stop reading it as I have distaste for Apache and MySQL.
 
So starting off, there's no need to jump to the conclusion that something true for one port is true for everything. In a perfect world everything would work but back in reality everything has compromises, every OS has pros and cons, and things get missed. See https://lists.freebsd.org/pipermail/freebsd-zope/2014-May/000283.html as your not the first person with issues.

With that said, I looked at the port while I was at work and I got a few ideas and found the solution pretty quickly. I think user error on both our part here came into play as the pkg-message says right at the top to run /usr/local/bin/mkzopeinstance --dir <INSTANCEDIR> and I looked right past this. However, even with this Zope still doesn't start. I used cd /usr/local/www/Zope213; bin/zopectl fg and seeing the debug message led me to fixing the effective-user and then permissions. I later saw that cd /usr/ports/www/zope213; make instance should have done the same thing. But that was absolutely too much work for something that should have just worked out of the box so I fixed the port and opened the PR.

See PR 200040 for the permanent fix. If you do decide to give it a go, my updated pkg-message in the PR displays this with the exception of the config file edit that I handled in the Makefile. This will get you rolling with Plone on port 8080.

/usr/local/bin/mkzopeinstance --dir /usr/local/www/Zope213/
sed -i '' -e 's/#.*effective-user chrism/effective-user www/' /usr/local/www/Zope213/etc/zope.conf
chown www:www /usr/local/www/Zope213/var
chown www:www /usr/local/www/Zope213/log
service zope213 start
 
I could get neither www/zope213 nor www/plone to work usefully from the ports. I'd guess it's assuming a pre-installed apache setup to install into and I cannot find that supported in the way zope/plone is now installed.

Ignore the ports completely, read the Plone download page and run the Plone Unified installer, run it, look under /usr/local/Plone/zinstance/bin and you'll see the plone_ctl, buildout commands, etc. Using this method I have 3 plone instances running on one host, fronted by net/haproxy and www/nginx.

By default it'll pull in a new python2.7, zope2 and install everything under that /usr/local/Plone.
 
  • Thanks
Reactions: Oko
Actually Zope is the web server in this case. What did you have happen? The steps I've shown above was sufficient to change the configuration needed to get Zope up and running on port 8080 on the local system. The PR to streamline the port is still in progress so you'll have to stick to those steps for the time being.

There's always a maintenance burden installing things outside package management. Sometimes it makes sense but in this case I don't see enough of a benefit when the ports do exist.
 
My mistake, of course it's Zope. I think the major problem I had was how different the recommended method of installing with buildout was versus what ports is doing. I couldn't figure out how to modify the buildout.cfg for example to add in new products and where I should be running the buildout command from.

For me, I found the unified installer simpler because it created a self-contained tree of a Zope server, I could easily make multiple separate servers or create multiple plone sites with a single zope server. Setting up the zeoserver cluster was simple too with the script.
 
Last edited by a moderator:
Thanks. Here is fine. If I need to follow up with another port PR in the future then I will but hopefully that shouldn't be needed.
 
  • Thanks
Reactions: Oko
This is a huge improvement over my experience before. I don't remember the details, but I do know I could not figure out how to get Zope started. This time around it was just copy/paste from the install message, service zope213 onestart and bingo. I was also able to easily find the zopectl command so I could run it in the foreground.

However I still maintain the Plone port sucks. It does get Plone installed and Zope does pick it up, but buildout does not seem to be an option, which is the recommended and documented way to utilize Plone now. For the user who isn't familiar with Zope, this leave you in the dark.

I do understand (now, from hindsight) that these are two totally different mechanisms. Buildout is providing a bundled solution allowing multiple instances of zope on the same box, whereas zope+plone ports are a single instance, managed entirely within the zope management interface. Plone documentation doesn't seem to cover this case and it appears to lose the ability to cluster zope. Just my 2p.
 
  • Thanks
Reactions: Oko
  • I had the same kind of fiasko years ago when I tried to evaluate Plone on FreeBSD
    (sub-optimal port settings, to put it politely... ;))
  • Does anyone have news about Plone 4.3 (www/plone) or maybe even the new version Plone 5.2 running on FreeBSD?
  • The Plone docs suggest not to install Plone via package or port. Any hints?
  • Do I need an extra webserver for a low-traffic site or can I just use the one built-in?
 
Back
Top