Two options on this page. Pick your choice…
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
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.
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.
An alternative billing application is:
http://www.simpleinvoices.org