egroupware_official/doc/HOWTO.txt
2000-09-27 21:18:02 +00:00

463 lines
16 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.
______________________________________________________________________
Table of Contents
1. Introduction
1.1 What is phpGroupWare and why should I use it?
2. Installation
2.1 Requirements
2.2 Tested Systems
2.3 Obtaining phpGroupWare
2.3.1 Released Versions
2.3.2 Developer's version from CVS
2.4 Installing on Tested Systems
2.4.1 Installation with MySQL
2.4.2 Installation with PostgreSQL
2.5 Configure phpGroupWare
3. Testing the install
4. Installing additional applications
5. Trouble-shooting
5.1 I get "Unable to open mailbox" when using the email application
5.2 It seems to hang when I try to read my mail
5.3 When I log in I see the directory listing instead of a web page
5.4 I get garbage that looks like code when I go to the phpGroupWare URL
6. About this document
6.1 New versions
6.2 Comments
6.3 History
6.4 Version History
6.5 Copyrights and Trademarks
6.6 Acknowledgments and Thanks
______________________________________________________________________
11.. IInnttrroodduuccttiioonn
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 available and currently
supports MySQL and PostgreSQL.
11..11.. WWhhaatt iiss pphhppGGrroouuppWWaarree aanndd wwhhyy sshhoouulldd II uussee iitt??
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?
22.. IInnssttaallllaattiioonn
22..11.. RReeqquuiirreemmeennttss
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.
22..22.. TTeesstteedd SSyysstteemmss
On Linux 2.2.x
+o PHP 3.0.15+ / PHP 4.0.x
+o Apache 1.3.x
+o MySQL 3.22.25 or PostgreSQL 7.0.x
+o Courier-IMAP 0.33+ and/or qmail 1.03 for POP3 access
We have reports of it working on Windows NT and OS/2, and using Oracle
as the database.
22..33.. OObbttaaiinniinngg pphhppGGrroouuppWWaarree
While we are still in the Beta phase of phpGroupWare, you may want to
track the CVS copy as closely as possible. The released versions are
more stable, but often contain bugs that have been fixed in the CVS
version.
22..33..11.. RReelleeaasseedd VVeerrssiioonnss
The downloads section on the <http://www.phpgroupware.org/> site
contains links to the most recent releases, and several mirror sites
for the releases.
22..33..22.. DDeevveellooppeerr''ss vveerrssiioonn ffrroomm CCVVSS
If you have never used CVS, you may want to read through the
doucmentation found at <http://www.cvshome.org/>. The CVS pages for
the core and apps projects can be found at phpGroupWare Core CVS
<http://sourceforge.net/cvs/?group_id=7305>, and phpGroupWare Apps CVS
<http://sourceforge.net/cvs/?group_id=9787>. Follow the directions
for AAnnoonnyymmoouuss CCVVSS aacccceessss and you should have the most recent
development copy of phpGroupWare in no time.
22..44.. IInnssttaalllliinngg oonn TTeesstteedd SSyysstteemmss
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)
22..44..11.. IInnssttaallllaattiioonn wwiitthh MMyySSQQLL
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
22..44..22.. IInnssttaallllaattiioonn wwiitthh PPoossttggrreeSSQQLL
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
22..55.. CCoonnffiigguurree pphhppGGrroouuppWWaarree
Copy the header.inc.php.sample file to header.inc.php and edit the
file, following the directions in the comments.
Change to the inc directory.
Copy globalconfig.inc.php.sample to globalconfig.inc.php and edit it
to reflect your system settings, again following the comments in the
file.
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.
<?php
if (mkdir("/path/to/temp/directory",0700)) {
echo "Directory created successfully";
} else {
echo "Error creating directory";
}
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.
+o Users always forget to logout. This way the session doesn't sit
around forever, creating a possible security risk.
+o 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 during
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.
33.. TTeessttiinngg tthhee iinnssttaallll
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.
44.. IInnssttaalllliinngg aaddddiittiioonnaall aapppplliiccaattiioonnss
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/> for more on this and other
applications).
+o Download the .tar.gz file for the application, or check out the
source with cvs with
export CVSROOT=':pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgwapps'
cvs login (just hit enter if prompted for a password)
cvs co headlines
+o Move the headlines directory into your phpGroupWare install
directory.
+o Log into phpGroupWare as an administrative user, and go to the
Administration page.
+o In the first section, choose the Applications link
+o Click on add, and fill in the form.
AApppplliiccaattiioonn nnaammee
should be identical to the name of the directory you moved into
the phpGroupWare install, in this case use headlines
AApppplliiccaattiioonn TTiittllee
this is shown in the navigation bar and other places to refer to
the new application. Enter Headlines for this example.
EEnnaabblleedd
This can be used to disable an application for all users
temporially. You should normal check the box to enable the
application.
+o 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.
+o 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.
+o 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.
55.. TTrroouubbllee--sshhoooottiinngg
WWAARRNNIINNGG!! 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 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
55..11.. II ggeett ""UUnnaabbllee ttoo ooppeenn mmaaiillbbooxx"" wwhheenn uussiinngg tthhee eemmaaiill aapppplliiccaattiioonn
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.
55..22.. IItt sseeeemmss ttoo hhaanngg wwhheenn II ttrryy ttoo rreeaadd mmyy mmaaiill
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 inc/phpgwapi/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.
55..33.. WWhheenn II lloogg iinn II sseeee tthhee ddiirreeccttoorryy lliissttiinngg iinnsstteeaadd ooff aa wweebb ppaaggee
If 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
______________________________________________________________________
55..44.. II ggeett ggaarrbbaaggee tthhaatt llooookkss lliikkee ccooddee wwhheenn II ggoo ttoo tthhee pphhppGGrroouuppWWaarree
UURRLL
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
______________________________________________________________________
66.. AAbboouutt tthhiiss ddooccuummeenntt
66..11.. NNeeww vveerrssiioonnss
The newest version of this document can be found on our website
<http://www.phpgroupware.org> as SGML source, HTML, or TEXT.
66..22.. CCoommmmeennttss
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>
66..33.. HHiissttoorryy
This document was started by Joseph Engo and reworked by Dan
Kuykendall.
66..44.. VVeerrssiioonn HHiissttoorryy
Old Version
+o Created by Jengo, wasn't in SGML HOWTO format.
v1.0 (July 6, 2000)
+o Built proper SGML version.
+o Included the FAQ.
+o Other minor additions.
v1.1 (September 27, 2000) - blinky
+o Added Testing Install section
+o Added Trouble-shooting section
+o Added description of application installation
66..55.. CCooppyyrriigghhttss aanndd TTrraaddeemmaarrkkss
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 GNU Free Documentation License
<http://www.gnu.org/copyleft/fdl.txt>.
66..66.. AAcckknnoowwlleeddggmmeennttss aanndd TThhaannkkss
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.