phpGroupWare Docs V0.05
Joseph Engo
Dan Kuykendall
phpGroupWare Docs V0.05
by Joseph Engo and Dan Kuykendall
Dedication
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.
Table of Contents
I. Introduction
Table of Contents
If you wondering what phpGroupWare is, why you should use it, and how to do so. Then read on.
Chapter 1. What is phpGroupWare
phpGroupWare is a web based GroupWare system. It comes with serveral core apps for email, calendar, todo list, address book, file manager, and a notepad.
It also provides a framework for add-on applications to integrate seamlessly in phpGroupWare. Some samples are a bookmark manager, a trouble ticket system, a weather reporter, a phone log, a chat program, and a forum system. There are many more in development, and you can develop your own as well.
Chapter 2. Why you should use it
You should use it if you would like a powerful groupware system that can be access from anywhere on the Internet, and allows for custom add-ons. For companies with a distributed user base, it's an ideal solution. Oh, and did I mention that its FREE?
II. Installation
Table of Contents
Installation and Configuration of phpGroupWare has never been easier. Just point and click, yeah its very easy :-).
Since this is still a beta version we do expect some bugs. By carefully reading this document you can easly install phpGroupWare.
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 preferred. 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.
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+ and/or qmail 1.03 for POP3 accessWe have reports of it working on Windows NT and OS/2, and using Oracle as the database.
Chapter 4. Obtaining and Installing phpGroupWare
After you have met the system requirements, You can install it from the TarBall or you can get it directly from CVS.
Installing from a TarBall is very easy. The files should be installed in the webserver directory. Example steps (please adjust to your servers config):
cp phpgroupware-version.tar.gz /home/httpd/html
cd /home/httpd/html
tar zxf phpgroupware-version.tar.gz
You may have to get required permissions to do this. Contact your system administrator if you dont have the permission to write to your webserver directory.
You can get current releases of phpGroupWare at the phpGroupware website (http://www.phpgroupware.org/downloads.php).
Installing from a CVS is fairly easy. The files should be checked out in the webserver directory. Example steps (please adjust to your servers config):
cd /home/httpd/html
cvs -d:pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware login (just hit enter if prompted for a password)
cvs -z3 -d:pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware co phpgroupware
or if you prefer using CVSROOT:
export CVSROOT=':pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware'
cvs login (just hit enter if prompted for a password)
cvs co headlines
You may have to get required permissions to do this. Contact your system administrator if you dont have the permission to write to your webserver directory.
There are a few directories which will need special fie permissions set for phpGroupWare to work properly.
Temp Directory (Required) - This can be /tmp for simplicity, but it is required for several apps to function properly. Simply make sure that the webserver can add/delete files in it.
Files Directory (Required) - This can be should be the files dir under the phpgroupware dir. You will need to give the webserver account owndership of this directory.
chown nobody:nobody
chmod 700 /home/httpd/html/phpgroupware/files
Root Directory (Not recommended) - If you give the webserver account write access to the phpgroupware directory, then the setup program can create the header.inc.php for you. Otherwise you will need to use the setup program to create it, and then you can manually save it to file.
If you want to do it:
chown :nobody /home/httpd/html/phpgroupware
chmod 770
You may have to get required permissions to do this. Contact your system administrator if you dont have the permission to write to your webserver directory.
4.4. Setup / Configure phpGroupWare
Point your browser to phpgroupware/setup/ which will create (or upgrade) the header.inc.php and database tables. Setup will attempt to determine what version of the phpGroupWare databases and header.inc.php you have installed, and upgrade to the most recent version.
Note:
You are advised to backup your existing alpha database before running the setup script to avoid problems!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 with administrative privileges and delete the old one.
4.6. Installing additional applications
Once you have the core phpGroupWare install up and running, you may want to download and install additional applications.
You should consult any README or INSTALL files that come with the new application first, as most require you to create additional tables in the database, and add additional translation data to the lang table (typically a file called lang.sql)
You install the new application within the phpGroupWare install tree by copying the application directory into the phpGroupWare install location, and enabling the application through the Administration page.
For example, this is the process to install the Headlines application (see http://sourceforge.net/phpgwapps/ (http://sourceforge.net/phpgwapps/) for more on this and other applications).
•
Download the .tar.gz file for the application, or check out the source with cvs withexport CVSROOT=':pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgwapps'
cvs login (just hit enter if prompted for a password)
cvs co headlines
•
Move the headlines directory into your phpGroupWare install directory.•
Log into phpGroupWare as an administrative user, and go to the Administration page.•
In the first section, choose the Applications link.•
Click on add, and fill in the form.Application name should be identical to the name of the directory you moved into the phpGroupWare install, in this case use headlines
Application Title is shown in the navigation bar and other places to refer to the new application. Enter Headlines for this example.
Enabled can be used to disable an application for all users temporially. You should normal check the box to enable the application.
•
Back in the Administration page, you need to enable the application for specific users or user groups by editing them, and checking the new Headlines box that appears in the middle of the account editing page.•
Once you have added the Headlines app to your account, you should see a Headlines entry in the Administration and Preferences pages, and there should be an icon for the Headlines application in the navigation bar.•
Once you enable a few of the Headlines sites through the Administration page link, you should see headlines grabbed from the sites you selected when you click on the Headlines icon in the navigation bar.
Warning
phpGroupWare is still Beta software, expect some bugs along the way. If you run into a problem not discussed here, contact us through one of the methods listed on the website.
The phpGroupWare developers can most often be seen hanging out in #phpGroupWare on irc.openprojects.net if you require real-time help.
Also check the FAQ in this directory for additional common questions, it is available as FAQ.sgml, FAQ.txt and FAQ.html
5.1. I get "Unable to open mailbox" when using the email application
At the time of this writing (2000-09-27) you must use the same username and password in phpGroupWare that you use to log into your mail server. If you change your password and it still isn't working, try logging out of phpGroupWare (the rightmost icon in the navigation bar) and then log back in.
An preference page to edit the email settings is being developed, and should appear shortly after the first beta release.
5.2. It seems to hang when I try to read my mail
This is often a problem if you are using POP3 instead of IMAP, and you have more than a few hundred messages in your mailbox.
By default, php is set up to time-out a request that takes over 30 seconds to complete. phpGroupWare must do a lot of work the first time your POP3 mailbox is opened, and every time you get new mail, which may take more than the 30 second timeout.
You can either clean up your mailbox with another mail program, or add the line
set_time_limit(0);
to the top of the phpgwapi/inc/phpgw_msg_pop3.inc.php file, just before the line class msg extends msg_common
If you choose to edit the file, be patient when loading a large POP3 mailbox - the author tested against a mailbox with 2500 messages in it, but it took 15 minutes to load the page. We highly suggest you use IMAP if you expect to have more than a few hundred messages in your mailbox.
5.3. When I log in I see the directory listing instead of a web page
You are using Apache, this often means you need to add .php to the DirectoryIndex line in your httpd.conf file. For example:
DirectoryIndex index.php index.php3 index.html index.htm index.cgi
5.4. I get garbage that looks like code when I go to the phpGroupWare URL
This is often because you have php3 installed, which does not map .php to the PHP engine. For PHP3:
AddType application/x-httpd-php3 .php3 .php
For PHP4:
AddType application/x-httpd-php .php3 .php
VII. About
Table of Contents
The newest version of this document can be found on our website www.phpgroupware.org (http://www.phpgroupware.org) as SGML source, HTML, or TEXT.
Comments on this HOWTO should be directed to the phpGroupWare developers mailing list phpgroupware-developers@lists.sourceforge.net (mailto:phpgroupware-developers@lists.sourceforge.net)
To subscribe, go to http://sourceforge.net/mail/?group_id=7305 (http://sourceforge.net/mail/?group_id=7305)
Chapter 6. History of this document
This document was started by Joseph Engo and reworked by Dan Kuykendall.
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.
v1.1 (September 27-29, 2000) - blinky
•
Added Testing Install section•
Added Trouble-shooting section•
Added description of application installation•
Changes for the new setup program
v0.01 (October 15 , 2000) - gnrfan , Converted the HOWTO to DocBook format
v.0.05 (November 5, 2000) - gnrfan , Completely revamped according to Seek's idea and intregrated the Developers HOWTO.
v 0.xx (Somewhere in the near future) - gnrfan, Trail map comming up on how to hack and learn about coding phpGroupWare(core) and its apps too :-).