Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
OpenPSA is an open-source business management web application suite
PHP JavaScript CSS HTML
Failed to load latest commit information.
config Switch to dev mode in default config
debian Version bump
lib Redirect to view now that we can set everything at once in the normal…
schemas
src Add support for filterchain to images type
static Add files missing from last commit & switch to desc order for backwar…
test Import new (wip) datamanager
themes/OpenPsa2 Add quicker way to add custom invoice status entries
tools remove closing php tags as per psr-2
.gitattributes force unix line endings
.gitignore Add installer-generated dirs to gitignore
.travis.yml Typo fix
README.markdown Update README.markdown
composer.json Import new (wip) datamanager
config-default.inc.php Add possibility to dynamcially create a DB for tests under mgd2
phpunit.xml.dist Remove unneeded boilerplate
rootfile.php remove closing php tags as per psr-2

README.markdown

OpenPSA Build Status

OpenPSA is a management suite for web agencies and consultants that provides a unified interface for handling many common business processes. It is built on a component architecture that makes it easy to integrate new components for specific requirements and is available as free software under the terms of the LGPL license.

OpenPSA 1.x was initially released as Open Source under the GNU GPL license by Nemein on May 8th 2004 to support the 5th anniversary of the Midgard Project. The package was originally known as Nemein.Net.

The currently active branch (OpenPSA 9) is developed and supported by CONTENT CONTROL.

Read more in http://openpsa2.org/

Dependencies

OpenPSA interacts with database backends through the Midgard API. There are currently three different environments supported:

  • legacy Midgard1 8.09 (in which case you must use PHP 5.3, Apache and MySQL backend)

  • Midgard2 Content Repository, provided by libmidgard2-2010 with PHP bindings to Midgard2 (php5-midgard2), and GNOME database abstraction layer (libgda-4.0). No restrictions on webserver or database choice. PHP 5.4 is recommended

  • midgard-portable, which is based on Doctrine, so it will support all environments Doctrine supports. Be advised that midgard-portable is still considered experimental

The repository's composer.json does not force any of those choices, but you will have to select one to be able to run the application.

On the client side, all modern web browser should work

Setting up a Midgard server

You need php-cgi (typically at /etc/php5/cgi/conf.d/midgard2.ini) with some settings that open a Midgard2 database connection:

extension=midgard2.so

[midgard2]
midgard.engine = On
midgard.http = On
midgard.configuration_file="/etc/midgard2/conf.d/openpsa"
midgard.superglobals_compat = On

Next you should install OpenPSA under your document root:

$ cp -R openpsa /var/www/

Then, use Composer to install PHP dependencies

$ cd /var/www/openpsa
$ wget http://getcomposer.org/installer && php installer
$ php composer.phar install

This will setup the project directory for OpenPSA usage. You can then create new database by running:

$ ./vendor/bin/openpsa-installer midgard2:setup

See the openpsa-installer documentation for more details.

Setting up Lighttpd

Enable rewrite and fastcgi modules in your Lighttpd config (by default /etc/lighttpd/lighttpd.conf):

server.modules += (
    "mod_fastcgi",
    "mod_rewrite"
)

Also enable FastCGI to talk to your PHP installation:

fastcgi.server = (
    ".php" => (
        (
            "bin-path" => "/usr/bin/php-cgi",
            "socket" => "/tmp/php.socket"
        )
    )
)

Then just configure your Lighttpd to pass all requests to the OpenPSA "rootfile":

url.rewrite-once = (
    "^/openpsa2-static/OpenPsa2/(.*)$" => "/openpsa/themes/OpenPsa2/static/$1",
    "^/openpsa2-static/(.*)$" => "/openpsa/static/$1",
    "^([^\?]*)(\?(.+))?$" => "openpsa/rootfile.php$2"
)

Note: this rewrite rule is a bit too inclusive, to be improved.

Restart your Lighttpd and point your browser to the address you're using with the server. Default login to OpenPSA is admin/password.

Setting up Apache

Alternatively, you can also run under Apache (or any other web server, for that matter). Just make sure that you have mod_rewrite enabled:

a2enmod rewrite

And use something like this in your vhost config (or .htaccess file):

RewriteEngine On
RewriteRule ^/midcom-static/OpenPsa2/(.*)$ /openpsa/themes/OpenPsa2/static/$1 [L]
RewriteRule ^/midcom-static/(.*)$ /openpsa/static/$1 [L]
RewriteRule ^/(.*)$ /openpsa/rootfile.php [QSA,L]
Something went wrong with that request. Please try again.