mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-25 17:33:49 +01:00
473 lines
14 KiB
Plaintext
473 lines
14 KiB
Plaintext
|
||
|
||
phpGroupWare Installation
|
||
|
||
Joseph Engo
|
||
|
||
Dan Kuykendall
|
||
|
||
Editor: Darryl VanDorp
|
||
|
||
$Id$
|
||
|
||
Table of Contents
|
||
|
||
1 What is phpGroupWare
|
||
2 Why you should use it
|
||
3 Installation
|
||
3.1 Requirements
|
||
3.2 Tested Systems
|
||
4 Obtaining and Installing phpGroupWare
|
||
4.1 Installing from TarBall
|
||
4.2 Installing from CVS
|
||
4.2.1 Patched Branches in CVS
|
||
4.3 Setting File Permissions
|
||
4.4 Setup the database
|
||
4.4.1 Mysql (assuming an existing and working Mysql install)
|
||
4.4.2 Postgresql (assuming an existing and working Postgresql install)
|
||
4.5 Setup / Configure phpGroupWare
|
||
4.6 Testing the install
|
||
4.7 Installing additional applications
|
||
5 Trouble Shooting
|
||
5.1 It seems to hang when I try to read my mail
|
||
5.2 When I log in I see the directory listing instead of a web page
|
||
5.3 I get garbage that looks like code when I go to the phpGroupWare URL
|
||
6 About this document
|
||
6.1 History
|
||
6.2 Version History
|
||
|
||
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
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?
|
||
|
||
3 Installation
|
||
|
||
Installation and Configuration of phpGroupWare has never
|
||
been easier. Just point and click, yeah it's very easy.
|
||
|
||
Since this is still a beta version we do expect some bugs.
|
||
By carefully reading this document you can easly install
|
||
phpGroupWare.
|
||
|
||
3.1 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 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.
|
||
|
||
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:
|
||
|
||
<? phpinfo(); ?>
|
||
|
||
Then point your browser to http://yourserverroot/test.php.
|
||
You should get a very detailed page describing various options
|
||
in php.
|
||
|
||
If you need to to compile php and apache the following links
|
||
are good starting points:
|
||
|
||
A set of scripts to compile and install various modules with
|
||
apache: [http://www.apachetoolbox.com]
|
||
|
||
The Linux Apache MySQL PHP (LAMP) Guide v2 (latest as of
|
||
this writing): [http://www.linuxhelp.net/guides/]
|
||
|
||
The Soothing Seemless Setup of Apache, SSL, MySQL, and PHP: [http://www.devshed.com/Server_Side/PHP/SoothinglySeamless]
|
||
|
||
3.2 Tested Systems
|
||
|
||
On Linux 2.2.x, 2.4.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 access
|
||
|
||
We have reports of it working on Windows NT and OS/2, and
|
||
using Oracle as the database.
|
||
|
||
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.
|
||
|
||
4.1 Installing from TarBall
|
||
|
||
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 ().
|
||
|
||
4.2 Installing from CVS
|
||
|
||
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 phpgroupware
|
||
|
||
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.2.1 Patched Branches in CVS
|
||
|
||
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:
|
||
|
||
* login to cvs anonymously as described above
|
||
|
||
* cvs -z3 -d:pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware
|
||
-r Version-0_9_9-patches phpgroupware
|
||
|
||
4.3 Setting File Permissions
|
||
|
||
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 (note: this assumes your webserver runs
|
||
as user nobody, adjust for your installation)
|
||
|
||
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 the database
|
||
|
||
You need to create empty databases for the setup app to create
|
||
the tables in.
|
||
|
||
4.4.1 Mysql (assuming an existing and working Mysql install)
|
||
|
||
* Mandrake or Redhat: /etc/rc.d/init.d/mysqld start
|
||
|
||
* other: /usr/local/mysql/bin/safe_mysqld &
|
||
|
||
* create the empty database: mysqldadmin -u someuser create
|
||
phpgroupware -p
|
||
|
||
* login to mysql: mysql -u someuser -p
|
||
|
||
* issue the following at the mysql prompt:
|
||
|
||
* grant all on phpgroupware.* to phpgroupware@localhost identified
|
||
by "somepassword";
|
||
|
||
For more detailed user documentation on Mysql see their website
|
||
: [http://www.mysql.com]
|
||
|
||
4.4.2 Postgresql (assuming an existing and working Postgresql
|
||
install)
|
||
|
||
To create the required database in Postgresql make sure postgresql
|
||
is started:
|
||
|
||
* Mandrake or Redhat : /etc/rc.d/init.d/postgresql start
|
||
|
||
* 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)
|
||
|
||
* create the empty database: /usr/bin/createdb phpgroupware
|
||
|
||
* create a database user: /usr/bin/createuser phpgroupware
|
||
|
||
For more detailed user documentation on Postgresql see their
|
||
website : [http://www.postgresql.org]
|
||
|
||
4.5 Setup / Configure phpGroupWare
|
||
|
||
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.
|
||
|
||
Note: You are advised to backup your existing database before
|
||
running the setup script to avoid problems!
|
||
|
||
4.6 Testing the install
|
||
|
||
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.7 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://www.sourceforge.net/projects/phpgwapps]
|
||
for more applications)
|
||
|
||
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
|
||
|
||
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.
|
||
|
||
5 Trouble Shooting
|
||
|
||
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.
|
||
|
||
<EFBFBD>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 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.2 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.3 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
|
||
|
||
6 About this document
|
||
|
||
The newest version of this document can be found on our website
|
||
[http://www.phpgroupware.org] as lyx source, HTML, or TEXT.
|
||
|
||
Comments on this HOWTO should be directed to the phpGroupWare
|
||
developers mailing list phpgroupware-developers@lists.sourceforge.net
|
||
|
||
To subscribe, go to _id=7305
|
||
|
||
6.1 History
|
||
|
||
This document was started by Joseph Engo reworked by Dan
|
||
Kuykendall then edited by Darryl VanDorp
|
||
|
||
6.2 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.
|
||
|
||
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.06 (Jan 10, 2001) - Darryl VanDorp, imported to lyx source
|
||
reformatted and touched up some sections
|
||
|
||
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.`
|
||
|
||
v.0.08 (Feb 22, 2001) - Darryl VanDorp, added a multipart
|
||
html export
|