User Tools

Site Tools


hannibal:phpagaserver

Billing

Two options on this page. Pick your choice…

PHPAga

Are you an independent contractor, sole proprietor, freelancer, or perhaps you run a small business? Then surely you need a system to handle your billing. PHPAGA is a billing application that can keep track of your personal or small business finances, and is built on the LAMP or LAPP framework. http://phpaga.net

Installation on debian 4.0 (etch)

phpaga 0.3

Below the phpaga installation howto, extended with some debian etch specific additions.

apt-get install apache2
apt-get install libapache2-mod-php5
apt-get install php5-common php5-gd php5-mysql php5-imagick php-db php-log php-mail php-pear
apt-get install smarty  smarty-gettext
apt-get install imagemagick
apt-get install graphviz graphviz-doc 
apt-get install mysql-client-5.0
% chown www-data pictures/
% chmod 0700 pictures/
% chown www-data files/
% chmod 0700 files/
% mkdir templates_c
% chown www-data.www-data templates_c/
% chmod 0700 templates_c/
% mysql -u root -p mysql
mysql> create database phpaga;
mysql> grant all on phpaga.* to phpaga@localhost identified by 'yourpasswd';
mysql> flush privileges;

JpGraph >= 1.20.2 (for PHP 4), >= 2.1 (for PHP 5). The phpaga's chart displaying routines are based on the excellent JpGraph by Johan Persson. JpGraph is a OO graph class library for PHP version 4.1 and above. Make sure you get the correc version: The 1.x branch is for PHP 4, the 2.x branch is for PHP 5. http://www.aditus.nu/jpgraph. Version 1.5.2 (for php4) is in the debian repository as deb package libphp-jpgraph. However, this version is too old and version 2.x is not at all in the debian repository. So this has to be added manually. Install JpGraph into ext/ (no need to change etc/config.local.php).

% cd phpaga/ext
% tar zxf jpgraph-x.x.tar.gz
% mv jpgraph-x.x jpgraph

The coolest DHTML calendar widget 1.0 This is a very nice and popular DHTML calendar widget written and maintained by Mihai Bazon (mishoo). phpaga uses the calendar in English only, as not all languages provided with the calendar package are updated. http://www.dynarch.com/projects/calendar. Install The coolest DHTML calendar widget under htdocs/ into _jsc/

% cd htdocs
% unzip jscalendar-1.0.zip
% mv jscalendar-1.0 _jsc

Install the R&OS pdf class

[% cd ext/ ]
% mkdir pdfclass
% cd pdfclass
% unzip pdfClassesAndFonts_009e.zip

Bugfix: download http://pear.php.net/package/HTTP_Upload/download

 unpack
 mkdir /usr/share/php/HTTP
 place Upload.php in the directory /usr/share/php/HTTP  (or symlink it)

Addon: copy the file nld_btw_hoog.php (from th development 0.4beta tree) to lib/bill

Addon2: Download http://download.pear.php.net/package/Image_GraphViz-1.2.1.tgz

unpack and symlink /usr/share/php/Image/GraphViz.php to the file.

phpaga 0.4 beta

Below the phpaga installation howto, extended with some debian etch specific additions.

Start with a minimal debian. Then do:

apt-get install apache2
apt-get install libapache2-mod-php5
apt-get install php5-common php5-gd php5-mysql
apt-get install php-pear
apt-get install php-db
apt-get install smarty
apt-get install smarty-gettext
apt-get install php5-imagick
apt-get install imagemagick
apt-get install graphviz
apt-get install graphviz graphviz-doc 
apt-get install mysql-client-5.0

Do not forget to select minimal one locale. It might be usefull to select a couple interesting ones.

apt-get install locales
dpkg-reconfigure locales

Create a database on your MySQL server (tested with version 5).

  $        mysql -uroot -p mysql
  mysql>   create database phpaga default character set utf8 collate utf8_general_ci;
  mysql>   grant all on phpaga.* to phpaga@localhost identified by 'yourpasswd';
  mysql>   flush privileges;

Download phpaga from http://phpaga.net and unpack the phpaga tar file on your favorite location.

Give the web server full permissions to the files/ directory. This directory will contain the files users can upload and associate to objects (project, person, company, …).

% chown www-data:www-data  files
% chmod 0700 files

Create a directory called templates_c in your phpaga-root directory (ie, /data/webs/phpaga/) and change its owner to your webserver's user (as the webserver has to write into it). Chmod it to 700. This directory is needed by Smarty, the template engine.

% mkdir  templates_c
% chown www-data:www-data  templates_c
% chmod 0700  templates_c

Now some extras have to be added manually. These are not in the Debian repository.

phpaga's chart displaying routines are based on ez Components http://ez.no/ezcomponents. Donwnload the ezcomponents-2007.1.1.tar.bz2 there and Install eZComponents into ext/ and rename the extracted directory to ezcomponents.

 % cd phpaga/ext
 % tar xjf ezcomponents-2007.1.1.tar.bz2
 % mv ezcomponents-2007.1.1 ezcomponents

Install the R&OS pdf class. The R&OS pdf class is a PHP class that allows the easy creation of PDF files. Get the file named pdfClassesAndFonts_009e.zip which contains the class, sample, and the required font metric files. Get it at: http://www.ros.co.nz/pdf

% cd phpaga/ext
% mkdir pdfclass
% cd pdfclass
% unzip pdfClassesAndFonts_009e.zip

Make a virtual server entry in the apache config.

Edit the phpaga configfiles etc/config.php and etc/config.local.php

Use the test.php page to check the setup.

Use the install.php page to populate the database schema.

Simpleinvoices

An alternative billing application is:

http://www.simpleinvoices.org
hannibal/phpagaserver.txt · Last modified: 2008/06/25 12:40 by Olivier Brugman