Installation Steps After you have met the system requirements, You can install it from the TarBall or you can get it directly from CVS. Installing from TarBall The files should be installed in the webserver directory. So all you need to do is unpack the tar ball and copy the whole directory to the webserver directory (eg. /home/httpd/html for default apache configuration in many linux distros). 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. Installing from CVS Grabbing a copy from CVS is not as hard as it may seem. You will need to have a cvs client installed. Then try the following commands: export CVSROOT=':pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware' cvs login (just hit enter when prompted for a password) cvs checkout phpgroupware If you need to install into a different dirname, you can add ' -d dirname' after 'checkout' and before 'phpgroupware'. The commands would look like this: export CVSROOT=':pserver:anonymous@cvs.phpgroupware.sourceforge.net:/cvsroot/phpgroupware' cvs login (just hit enter when prompted for a password) cvs checkout -d dirname phpgroupware Setup / Configure phpGroupWare The config file Copy the header.inc.php.sample file to header.inc.php and edit the file, following the directions in the comments. Create database in MySQL An empty database will be needed for phpGroupWare. Here are the instructions for doing so with MySQL. First create the database: mysqladmin create phpgroupware -p Then login to the mysql: mysql -p Finally grant the needed security rights: grant all on phpgroupware.* to phpgroupware@localhost identified by "some_password"; Create database in PostreSQL An empty database will be needed for phpGroupWare. Here are the instructions for doing so with PostgreSQL. Create the database: postmaster -i -D /home/[username]/[dataDir] You will probably need to review PostgreSQL documentation for futher details. The Setup Program Then point your browser to phpgroupware/setup/ which will create (or upgrade) the database tables. You wil be asked to login, using the password set in header.inc.php. Setup will attempt to determine what version of the phpGroupWare database you have installed, and upgrade to the most recent version. Note The developers are concentrating on getting the beta working, and have not spent a great deal of time building upgrade scripts from the alpha versions of phpGroupWare. You are advised to backup your existing alpha database before running the setup script to avoid problems! If you get no error messages, continue on to phpgroupware/setup/config.php to configure phpGroupWare to your system. 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"; } ?> The phpGroupWare Daemon 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 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. 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. 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/ for more on this and other 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.