Showing posts with label Plone. Show all posts
Showing posts with label Plone. Show all posts

Monday, August 22, 2016

Installing ftw.tika in Plone

I love being able to search in all the documents uploaded into plone. I keep on forgetting that this was an add-on and not natively provided. The latest add-on I tried to enable that feature was ftw.tika.

To install it, first download the tika.cfg file from their github page at https://github.com/4teamwork/ftw.tika. Once that has been downloaded, modify your buildout.cfg with:


[buildout]

extends =
       ...
       tika.cfg

eggs =
       ...
       ftw.tika

zcml =
       ...
       ftw.tika
       ftw.tika-meta

parts =
       ...
       tika-server-download
       tika-server

[client1]
...
zcml-additional += ${tika:zcml}
eggs += ftw.tika


[client2]
...
zcml-additional += ${tika:zcml}
eggs += ftw.tika


[client3]
...
zcml-additional += ${tika:zcml}
eggs += ftw.tika

[client4]
...
zcml-additional += ${tika:zcml}
eggs += ftw.tika


Once that is done, run buildout. Then you can start the tika server with "bin/tika-server". Then you can start your plone instance. After that make sure you login and enable the tika add-on in your "site-setup", "add-ons" page.

To allow the tika server to start automatically on Centos 7, create the file /etc/systemd/system/tika.service with the following content:

[Unit]
Description=Tika server
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/java -jar /opt/plone/zeocluster/parts/tika-server-download/tika-server.jar -h 0.0.0.0

[Install]
WantedBy=multi-user.target


Then enable the service with "systemctl enable tika".

Looks pretty nice. Now all office docs are searchable inside.

Tuesday, June 16, 2009

Buildout with python2.4

I've got to write this down before I forget. With the newer distros, python 2.5 or 2.6 is the default python version of choice. But plone and zope currently still use python 2.4. And if you want buildout goodness you have to get buildout working with python 2.4. So if you're on ubuntu, first install these packages:

python2.4
python2.4-dev

And then google for ez_setup.py. Download it. Then run in your terminal:

abdullah@codebase:/$ sudo python2.4 ez_setup.py

That would install the 2.4 version of easy_install. Then to install buildout you just have to do like so:

abdullah@codebase:/$ sudo easy_install-2.4 zc.buildout

That would install buildout into your system. And then inside your plone or zope folder run:

abdullah@codebase:~/taskmanager$ buildout init

That would create a local instance of buildout for you to run specifically for your app. All eggs will be downloaded into that folder and would not pollute your system. To run the app specific buildout just do a :

abdullah@codebase:~/taskmanager$ bin/buildout -vvvv

That would run the local buildout. I just like it very very very very verbose.. :P

update: Sarogini found a link which deals with the problem of developing plone on ubuntu 9.04 in a more comprehensive manner here.

Friday, April 24, 2009

Configuring webdav and effective user in plone-buildout

If you installed Plone 3.x from their universal installer, there is a default buildout.cfg provided. Edit this to installed cool additional packages and just run `bin/buildout`. It will download whatever you need and then ready to be up and running again. The buildout will override your zope.conf so if you want any settings to persist in your zope.conf it should be put into your buildout.cfg.

Inside the buildout.cfg there is section for client1 and client2 if you installed the default cluster settings. So to configure the effective user for client1 (so that root can start the instance) you should add:

effective-user = plone

in the client1 section. And inside client2 section you can just add:

effective-user = ${client1:effective-user}

so that you don't have to edit at 2 places later. And do you want to enable webdav with that? Then just add:

zope-conf-additional =
enable-ms-author-via on
<webdav-source-server>
address localhost:1980
force-connection-close off
</webdav-source-server>

in the client sections. All done.

Thursday, April 10, 2008

WebDav works :)

Alhamdullillah.. finally got webdav in plone not only working, but rerouted through apache lak tu... :)

First step, enable webdav in plone. Go to the zinstance/etc/zope.conf file and unremark the webdav part.

<webdav-source-server>
# # valid keys are "address" and "force-connection-close"
address localhost:1980
force-connection-close off
</webdav-source-server>

And restart your zope. That ought to make it listen to port 1980 on localhost for webdav connection.

Then go to your apache web root folder and add a folder with the same name of your plone instance. Inside there put a .htaccess file like this:

RewriteEngine on
RewriteRule ^($|.*) http://localhost:1980/dev/$1 [L,P]

And that will redirect any access to your folder to the proper port (Note: because you can't use VirtualHostMonster for webdav, it has to be in the same folder as your plone instance. You can put the redirect to your plone instance in a different folder and redirect it from there with VirtualHostMonster).

Okay.. Once that is done you should be able to access it using a webdav client. It has to be a webdav client, not your browser because your browser will not know how to handle webdav. Ok.. so for the webdav client? For ubuntu you can try here:
http://sysblogd.wordpress.com/2007/09/09/ubuntu-mounting-remote-filesystem-using-davfs2-fuse/ . Then you can use it just like a normal folder. Cool.

Oh.. for more reference go to:
http://plone.org/documentation/how-to/webdav

Saturday, February 23, 2008

Running Plone behind an apache server

Alhamdullillah.. After a whole night of googling and hacking configurations I was finally able to configure Plone to run behind an apache server. I began my quest by googling and finding this page: http://plone.org/documentation/how-to/apache-ssl . I don't need the ssl mentioned there but I did want to run Plone behind apache. But following the instructions didn't get me any result. So I tried to find out what on earth does the RewriteRule is actually about. After much googling again I found this: http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html which also led me to an interesting albeit not really what I'm looking for now at http://httpd.apache.org/docs/1.3/misc/rewriteguide.html. Sooooo... the [P] actually stands for proxy.

Ok.. so now I'm getting somewhere. After much trial and error I finally figured out that I need to run:
sudo a2enmod proxy
sudo a2enmod proxy_http

To enable the proxy function in my apache server. Once that is done, it seems the rules given at the first website is not really correct. So in the end my .htaccess contains the following:
<IfModule mod_proxy.c>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ http://localhost:8080/$1 [P]
</IfModule>
</IfModule>

But even though that is all fine and dandy, it didn't allow me to surf to more than the front page. All the subsequent links in the page was broken. And I experimented some more until finally I've got it at:

RewriteRule ^(.*) http://localhost:8080/VirtualHostBase/http/abdullahsolutions.com:80/VirtualHostRoot/_vh_plone/$1 [P]


Read the first article and it will mention about enabling Virtual Host Monster in the zope management page. But it did not mention about if you we're actually serving from a directory under your web root. Well, good thing the about page on the zope management page explained it all. So for the example above, my server was serving plone from the directory plone. The _vh_ tells the virtual host monster to append plone/ to every link it generates. Cool stuff..

So then I finally got it working. Alhamdullillah... Took a whole night. But seems to be very worth it.

Update (16 March 2008): Finally I've even got the layout working. After referring to http://matthewwhitworth.com/2008/02/06/escape-from-mod_rewrite/ and the Velo site it point to and also http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#mapfunc which explains what RewriteMap actually does. The RewriteMap part has to be part of the http.conf or if you are using Ubuntu in the sites configuration file. Then escape the request just like it says in the matthewwhitworth site and it all should work. Finally.

Is Blogging No Longer a Thing?

As I embark on my new journey to learn the Rust programming language, I find myself pondering—where have all the blogs gone? In search of pr...