phpGroupWare HOWTO Joseph Engo <jengo@phpgroupware.org>, Dan Kuykendall <dan@kuykendall.org> v1.0, 7 July 2000 This document explains how to install and configure phpGroupWare. Introduction

phpGroupWare is a web based groupware application that includes integrated features such as email, calendar, todo list, address book, file manager, headline news, and a trouble ticket system.

It should run on all systems where PHP is avalible and currently supports MySQL and PostgreSQL.

What is phpGroupWare and why should I use it?

phpGroupWare is:

phpGroupWare is a web based groupware application that includes integrated features such as email, calendar, todo list, address book, file manager, headline news, and a trouble ticket system.

You should use it if:

You would like a powerful groupware system that can be access from anywhere on the Internet. For companies with a distributed user base, it's an ideal solution. Oh, and did I mention that its FREE?

Installation Requirements

You will need PHP compiled and installed on your system. You will also need MySQL or PostgreSQL setup. If you are planning on using the email system, you will need to have an IMAP server installed and IMAP support compiled into PHP. You can have it installed as an Apache module or command line version, the Apache module is prefered. We will assume that you are running on a Linux or other Unix system for these steps. Windows is supported, but there is no documentation for it currently.

Tested Systems

On Linux 2.2.x PHP 3.0.15+ / PHP 4.0.x Apache 1.3.x MySQL 3.22.25 or PostgreSQL 7.0.x Courier-IMAP 0.33+ We have reports of it working on Windows NT and OS/2.

Tested Systems

After you have met the system requirements, unpack the tarball in the html directory of your webserver. (eg, /home/httpd/html)

The first step is to setup the database and create the tables needed. In the doc directory there is a file called create_tables.(name of your database)

Installation with MySQL

We will assume that you are using the database named phpgroupware.

$ mysql phpgroupware -u username -p < create_tables.mysql Then add the language entries (used for translation purposes).

$ mysql phpgroupware -u username -p < lang.sql

Installation with PostgreSQL

We will assume that you are using the database named phpgroupware.

$ psql -d phpgroupware -U username < create_tables.pgsql Then add the language entries (used for translation purposes).

$ psql -d phpgroupware -U username < lang.sql

Configure phpGroupWare

Change to the inc directory. Edit globalconfig.inc.php to reflect your system settings.

If you are using the email system you will need to create a temporary directory where file uploads will be stored. For security reasons, you should chown nobody.nobody and chmod 700 to that directory. Depending on your system configuration. Default installs of Apache normally run as the user nobody. You may need your system administrator to do this for you if you do not have root access.

If you do not have access to root, create this file and run it. If you have access to cron, you may want to setup the files in the cron directory.

stalesessions.pl - There are 2 reasons for this file. Users always forget to logout. This way the session doesn't sit around forever, creating a possible security risk. The email system requires plain text passwords which are stored in the sessions table. This file is not required, you can simply disable cron_apps in the admin -> applications section to clean out the sessions table durring login and logout.

stale_uploads.pl - This will delete file attachments for messages that where not completed. If a users browser crashes, internet connection dies, etc, their files will sit there forever unless deleted. You could add a few lines to logout.php that will look in the temp directory for any stale uploads and delete them. But, once again, it becomes a performance issue.

If your config is setup properly you can now login. Point your browser to the installed location and login with the username demo and the password is 1234 At this point it would be a good idea to create a new user and delete the old one.

About this document New versions

The newest version of this document can be found on our website as SGML source, HTML, or TEXT.

Comments

Comments on this HOWTO should be directed to the phpGroupWare developers mailing list .

To subscribe, go to

History

This document was started by Joseph Engo and reworked by Dan Kuykendall.

Version History

Old Version

Created by Jengo, wasn't in SGML HOWTO format.

v1.0 (July 6, 2000)

Built proper SGML version. Included the FAQ. Other minor additions.

Copyrights and Trademarks

Copyright (c) Dan Kuykendall. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation

A copy of the license is available at .

Acknowledgements and Thanks

Thanks to Joesph Engo for starting phpGroupWare (at the time called webdistro) and the core of this HOWTO. Thanks to all the developers and users who contribute to making phpGroupWare such a success.