I wanted to share long ago this software, but it seems I never really found the time to do it. So here we are freedif.org, it’s Pod time!
In POD, everything is a document and can be managed as we usually do for documents. 4 types of documents are available (text document, files, contact and comments).
It is easy to create, modify, move, delete these documents, but POD also allows you to share them and set different access rights for each different document. You can also search and filter your query per type.
Similar to a Wiki, you can check different version of a document (versioning) and set access rights for a specific user or usergroup in read and/or write mode.
Obviously the best for you is to give a try to their latest demo (login: demo@localhost // password: demo) and to check below tutorial on how to install pod on your server.
If you are on Debian/Ubuntu like,
1) Install the dependencies
In root, run:
apt-get install realpath python3 python-virtualenv python3-dev python-pip build-essential postgresql-server-dev-all postgresql postgresql-client
2) Clone their git repository into your /var/www
cd /var/www git clone https://bitbucket.org/lebouquetin/pod.git
3) Create the database
To create a database with PostGreSQL, you will need first to login as the postgres user
cd pod su postgres
and then run the psql client
You should get something like this:
psql (9.1.14) Type "help" for help. postgres=#
Now, create the database poddb with the user poduser and the password podpassword
CREATE ROLE poduser WITH LOGIN PASSWORD 'podpassword'; CREATE DATABASE poddb OWNER poduser; GRANT ALL PRIVILEGES ON DATABASE poddb TO poduser;
Obviously replace the user and password by the one you want.
then quit the psql client by typing:
and logout from postgres user by running:
4) Import the database schema and initial data
Simply execute below sql query by replacing the database name and username by the one you previously created
psql -h 127.0.0.1 -W -U poduser poddb < doc/database/pod-init-database.sql
enter your password and wait for your database to be initialized.
You can now test your database by running the following command:
psql -h 127.0.0.1 -W -U poduser poddb -c 'SELECT * from pod_user;'
You should see the admin@localhost user entry, simply press “q” to quit.
5) Setup the python virtualenv
To avoid conflict between your system-wide python modules and the pod required ones, you need to setup the Python virtualenv as following:
virtualenv -p /usr/bin/python3 tg2env source tg2env/bin/activate cd pod && python setup.py develop && cd - pip install -r install/requirements.txt
You may get an error with stevedore/pbr since it is not supported by python 3.2, but you can ignore this error.
Note that for Ubuntu users, you need to remove distribute and wsgiref from the requirements.txt file
6) Edit the POD configuration to match your settings
First, copy the development.ini file.base as development.ini
cp pod/development.ini.base pod/development.ini
and edit it:
You will need to indicate your postgresql configuration, found the line:
sqlalchemy.url = postgresql://pod_user:email@example.com:5432/pod
and replace the user/password/pod database by what you have created before, in the case of this tutorial, I will replace it by:
sqlalchemy.url = postgresql://poduser:firstname.lastname@example.org:5432/poddb
You could also change the port to listen to (Default is 8080), the language (From English to French for example) and some more.
When done, save the file (CTRL +X, then Y)
7) Launch the pod
If no issue, you should now be able to visit your pod at http://YourIP:8080 with the login: admin@localhost and password: admin