#LyX 1.1 created this file. For more info see http://www.lyx.org/
\lyxformat 218
\textclass article
\begin_preamble
\usepackage{fullpage, graphicx, url}
\setlength{\parskip}{1ex}
\setlength{\parindent}{0ex}
\title{phpGroupWare Docs}
\end_preamble
\language english
\inputencoding auto
\fontscheme default
\graphics default
\paperfontsize 10
\spacing single 
\papersize Default
\paperpackage a4
\use_geometry 0
\use_amsmath 0
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\quotes_times 2
\papercolumns 1
\papersides 1
\paperpagestyle default

\layout Title


\series bold 
phpGroupWare Installation
\layout Author


\series bold 
Joseph Engo
\layout Author


\series bold 
Dan Kuykendall 
\series default 
 
\layout Author

Editor: Darryl VanDorp
\layout Standard

$Id: index.lyx,v 1.4 2001/03/01 04:50:01 themaniac Exp $
\layout Standard


\begin_inset LatexCommand \tableofcontents{}

\end_inset 


\layout Section*

Dedication 
\layout Standard

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.
 
\layout Section

What is phpGroupWare 
\layout Standard

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.
\layout Standard

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.
 
\layout Section

Why you should use it 
\layout Standard

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? 
\layout Section

Installation
\layout Standard

Installation and Configuration of phpGroupWare has never been easier.
 Just point and click, yeah it's very easy.
\layout Standard

Since this is still a beta version we do expect some bugs.
 By carefully reading this document you can easly install phpGroupWare.
 
\layout Subsection

Requirements 
\layout Standard

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.
 
\layout Standard

In order to check if you have php installed create the file with your favorite
 text editor named test.php in your webserver root directory:
\layout Standard


\family typewriter 
<? phpinfo(); ?>
\layout Standard

Then point your browser to http://yourserverroot/test.php.
 You should get a very detailed page describing various options in php.
\layout Standard

If you need to to compile php and apache the following links are good starting
 points: 
\layout Standard

A set of scripts to compile and install various modules with apache: 
\begin_inset LatexCommand \url{http://www.apachetoolbox.com}

\end_inset 


\layout Standard

The Linux Apache MySQL PHP (LAMP) Guide v2 (latest as of this writing):
 
\begin_inset LatexCommand \url{http://www.linuxhelp.net/guides/}

\end_inset 


\layout Standard

The Soothing Seemless Setup of Apache, SSL, MySQL, and PHP: 
\begin_inset LatexCommand \url{http://www.devshed.com/Server_Side/PHP/SoothinglySeamless}

\end_inset 


\layout Subsection

Tested Systems 
\layout Standard

On Linux 2.2.x, 2.4.x
\layout Standard

PHP 3.0.15+ / PHP 4.0.x
\layout Standard

Apache 1.3.x
\layout Standard

MySQL 3.22.25 or PostgreSQL 7.0.x
\layout Standard

Courier-IMAP 0.33+ and/or qmail 1.03 for POP3 access
\layout Standard

We have reports of it working on Windows NT and OS/2, and using Oracle as
 the database.
 
\layout Section

Obtaining and Installing phpGroupWare 
\layout Standard

After you have met the system requirements, You can install it from the
 TarBall or you can get it directly from CVS.
 
\layout Subsection

Installing from TarBall 
\layout Standard

Installing from a TarBall is very easy.
 The files should be installed in the webserver directory.
 Example steps (please adjust to your servers config):
\layout Standard

cp phpgroupware-version.tar.gz /home/httpd/html
\layout Standard

cd /home/httpd/html
\layout Standard

tar zxf phpgroupware-version.tar.gz
\layout Standard

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.
\layout Standard

You can get current releases of phpGroupWare at the phpGroupware 
\emph on 
website
\emph default 
 (
\latex latex 

\backslash 
url{http://www.phpgroupware.org/downloads.php}
\latex default 
).
 
\layout Subsection

Installing from CVS 
\layout Standard

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):
\layout Itemize

cd /home/httpd/html
\layout Itemize

cvs -d:pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware
 login (just hit enter if prompted for a password)
\layout Itemize

cvs -z3 -d:pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware
 co phpgroupware
\layout Standard

or if you prefer using CVSROOT:
\layout Itemize

export CVSROOT=':pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgro
upware'
\layout Itemize

cvs login (just hit enter if prompted for a password)
\layout Itemize

cvs co phpgroupware
\layout Standard

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.
 
\layout Subsubsection

Patched Branches in CVS
\layout Standard

Recently the phpGroupWare developers started a branch for patches to released
 versions.
 This is to facilitate bugs being fixed in a released version without having
 to wait for the next offical release.
 There is a developer who has been assigned the responsibility for maintaining
 that branch and applying patches and fixes.
 To check out this version of the code using 0.9.9 as an example you would
 do the following:
\layout Itemize

login to cvs anonymously as described above
\layout Itemize

cvs -z3 -d:pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware
 -r Version-0_9_9-patches co phpgroupware
\layout Subsection

Setting File Permissions 
\layout Standard

There are a few directories which will need special fie permissions set
 for phpGroupWare to work properly.
\layout Standard

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.
\layout Standard

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.
\layout Standard

chown nobody:nobody (note: this assumes your webserver runs as user nobody,
 adjust for your installation)
\layout Standard

chmod 700 /home/httpd/html/phpgroupware/files
\layout Standard

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.
\layout Standard

If you want to do it:
\layout Standard

chown :nobody /home/httpd/html/phpgroupware
\layout Standard

chmod 770
\layout Standard

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.
 
\layout Subsection

Setup the database
\layout Standard

You need to create empty databases for the setup app to create the tables
 in.
\layout Subsubsection

Mysql (assuming an existing and working Mysql install)
\layout Itemize

Mandrake or Redhat: /etc/rc.d/init.d/mysqld start
\layout Itemize

other: /usr/local/mysql/bin/safe_mysqld &
\layout Itemize

create the empty database: mysqldadmin -u someuser create phpgroupware -p
\layout Itemize

login to mysql: mysql -u someuser -p
\layout Itemize

issue the following at the mysql prompt:
\layout Itemize

grant all on phpgroupware.* to phpgroupware@localhost identified by 
\begin_inset Quotes eld
\end_inset 

somepassword
\begin_inset Quotes erd
\end_inset 

;
\layout Standard

For more detailed user documentation on Mysql see their website : 
\begin_inset LatexCommand \url{http://www.mysql.com}

\end_inset 


\layout Subsubsection

Postgresql (assuming an existing and working Postgresql install)
\layout Standard

To create the required database in Postgresql make sure postgresql is started:
\layout Itemize

Mandrake or Redhat : /etc/rc.d/init.d/postgresql start
\layout Itemize

others: /usr/bin/postmaster -D /var/lib/pgsql/data or /usr/bin/pg_ctl -D
 /var/lib/pgsq/data start (adjust for your install dirs)
\layout Itemize

create the empty database: /usr/bin/createdb phpgroupware
\layout Itemize

create a database user: /usr/bin/createuser phpgroupware
\layout Standard

For more detailed user documentation on Postgresql see their website : 
\begin_inset LatexCommand \url{http://www.postgresql.org}

\end_inset 


\layout Subsection

Setup / Configure phpGroupWare 
\layout Standard

Point your browser to http://yourserverroot/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.
 
\layout Standard


\series bold 
Note: 
\series default 
 You are advised to backup your existing database before running the setup
 script to avoid problems!
\layout Subsection

Testing the install 
\layout Standard

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
\layout Standard

At this point it would be a good idea to create a new user with administrative
 privileges and delete the old one.
 
\layout Subsection

Installing additional applications 
\layout Standard

Once you have the core phpGroupWare install up and running, you may want
 to download and install additional applications.
\layout Standard

You should consult any README or INSTALL files that come with the new applicatio
n 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)
\layout Standard

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.
\layout Standard

For example, this is the process to install the Headlines application:
\layout Standard

(see 
\begin_inset LatexCommand \url{http://www.sourceforge.net/projects/phpgwapps}

\end_inset 

 for more applications)
\layout Standard

Download the .tar.gz file for the application, or check out the source with
 cvs with
\layout Standard

export CVSROOT=':pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgwa
pps'
\layout Standard

cvs login (just hit enter if prompted for a password)
\layout Standard

cvs co headlines
\layout Standard

Move the headlines directory into your phpGroupWare install directory.
\layout Standard

Log into phpGroupWare as an administrative user, and go to the Administration
 page.
\layout Standard

In the first section, choose the Applications link.
\layout Standard

Click on add, and fill in the form.
\layout Standard

Application name should be identical to the name of the directory you moved
 into the phpGroupWare install, in this case use headlines
\layout Standard

Application Title is shown in the navigation bar and other places to refer
 to the new application.
 Enter Headlines for this example.
\layout Standard

Enabled can be used to disable an application for all users temporially.
 You should normal check the box to enable the application.
\layout Standard

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.
\layout Standard

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.
\layout Standard

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.
 
\layout Section

Trouble Shooting
\layout Standard


\series bold 
Warning 
\layout Standard

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.
\layout Standard

 The phpGroupWare developers can most often be seen hanging out in 
\emph on 
#phpGroupWare
\emph default 
 on 
\emph on 
irc.openprojects.net
\emph default 
 if you require real-time help.
\layout Standard

Also check the FAQ in this directory for additional common questions, it
 is available as FAQ.sgml, FAQ.txt and FAQ.html 
\layout Subsection

It seems to hang when I try to read my mail 
\layout Standard

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.
\layout Standard

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.
\layout Standard

You can either clean up your mailbox with another mail program, or add the
 line
\layout Standard

set_time_limit(0);
\layout Standard

to the top of the phpgwapi/inc/phpgw_msg_pop3.inc.php file, just before the
 line class msg extends msg_common
\layout Standard

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.
 
\layout Subsection

When I log in I see the directory listing instead of a web page 
\layout Standard

You are using Apache, this often means you need to add .php to the DirectoryIndex
 line in your httpd.conf file.
 For example:
\layout Standard

DirectoryIndex index.php index.php3 index.html index.htm index.cgi 
\layout Subsection

I get garbage that looks like code when I go to the phpGroupWare URL 
\layout Standard

This is often because you have php3 installed, which does not map .php to
 the PHP engine.
 For PHP3:
\layout Standard

AddType application/x-httpd-php3 .php3 .php
\layout Standard

For PHP4:
\layout Standard

AddType application/x-httpd-php .php3 .php 
\layout Section

About this document
\layout Standard

The newest version of this document can be found on our website 
\begin_inset LatexCommand \url{http://www.phpgroupware.org}

\end_inset 

 as lyx source, HTML, or TEXT.
\layout Standard

Comments on this HOWTO should be directed to the phpGroupWare developers
 mailing list 
\emph on 
phpgroupware-developers@lists.sourceforge.net
\emph default 
 
\layout Standard

To subscribe, go to 
\emph on 
\latex latex 

\backslash 
url{http://sourceforge.net/mail/?group}
\latex default 
_id=7305
\emph default 
 
\layout Subsection

History 
\layout Standard

This document was started by Joseph Engo reworked by Dan Kuykendall then
 edited by Darryl VanDorp 
\layout Subsection

Version History 
\layout Standard

Old Version
\layout Standard

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

v1.0 (July 6, 2000)
\layout Standard

Built proper SGML version.
\layout Standard

Included the FAQ.
\layout Standard

Other minor additions.
\layout Standard

v1.1 (September 27-29, 2000) - blinky
\layout Standard

Added Testing Install section
\layout Standard

Added Trouble-shooting section
\layout Standard

Added description of application installation
\layout Standard

Changes for the new setup program
\layout Standard

v0.01 (October 15 , 2000) - gnrfan , Converted the HOWTO to DocBook format
\layout Standard

v.0.05 (November 5, 2000) - gnrfan , Completely revamped according to Seek's
 idea and intregrated the Developers HOWTO.
\layout Standard

v.0.06 (Jan 10, 2001) - Darryl VanDorp, imported to lyx source reformatted
 and touched up some sections
\layout Standard

v.0.07 (Jan 16, 2001) - Darryl VanDorp, added TOC, fixed some Postgresql setup
 instructions, added some links to install/compilation instructions for
 apache, php and mysql.`
\layout Standard

v.0.08 (Feb 22, 2001) - Darryl VanDorp, added a multipart html export
\the_end
