PHP Groupware on windows. Requirements: 1. A webserver supporting PHP ( >= 4.0.6 ) I use apache (1.3.20) for windows, you can download an installer for the latest version (1.3.22 as of this writing) from http://www.apache.org/ PHP is downloadable from http://www.php.org/ and supports at least the following webservers (under windows): * Personal Web Server 3 and 4 or newer (Win 9x/ME) * Internet Information Server 3 or newer (Win NT/2k/XP) * Apache 1.3.x * OmniHTTPd 2.0b1 and up * Oreilly Website Pro * Xitami Note: There are some issues with threading web servers (Such as IIS/PWS/Apache 2 + others) and PHP that are still being resolved as of January 2002 Installation and configuration of those services is not covered here, there are good resorces on the web (for apache) and in PHP's manual. To test PHP create a file with your favorite text editor named test.php in your webserver root directory containing only the following lins: Then point your browser to http://yourserverroot/test.php. You should get a very detailed page describing various options in php. In this page you should see sections showing that IMAP, MySQL and/or PostgreSQL support is configured. A word of warning, this page could offer assistance to hackers, never leave it in place on a production web server. 2. The following PHP modules to be enabled and configured. * php_imap.dll - For Email Support * php_mysql.dll - For MySQL database Support * php_pgsql.dll - For PostgreSQL database support 3. A database server running either MySQL (preffered) or PostgreSQL. Note: The database server does not have to be on the same machine, or even running windows. If you are going to use windows for the server, unless you are a professional PostgreSQL admin use MySQL, it works without the need for mashing of teeth. Installation: 1. Download the latest relese from the phpgroupware site (http://www.phpgroupware.org/) and extract it into a subdirectory of your website. 2. If you want to save some hard drive space you can remove all the directories called "Cvs" that almost halves the amount of files there. 3. Set up your database: You now need to create empty databases for the setup app to create the tables in. Mysql: To create the required database in MySQL make sure the mysqld is running: * 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 address@hidden identified by "somepassword"; For more detailed user documentation on Mysql see their website: [http://www.mysql.com] Postgresql: [Unix ONLY] To create the required database in Postgresql make sure the postmaster is running: * create the 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. File Permissions [Win NT/2k/XP only] There are a few directories which will need special fie permissions set for phpGroupWare to work properly if you are running Windows NT/2000/XP. If using IIS the user account is IUSR_SERVERNAME Temp Directory: I recomend your global temp directory [The All Users\temp its location changes every windows version...] Simply make sure that the webserver can add/delete files in it. Files Directory: This can be should be the files dir under the phpgroupware dir. You will need to give the webserver account owndership of this directory. You will have to create this directory and the users subdirectory. Web server root directory (Not recommended): You can give the webserver account write access to the phpgroupware directory, so that 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. 5. Basic setup. Note: from now all URL's will be in the following form, change to appropriate. Go to: http://servername/phpgroupware/setup/ Here are some hints to fill in this page: 1. Under the analysis section ensure that support for the database that you wish to use is detected, if not double check your PHP configuration. 2. Server root & Include root, these should be autodetected, if they seem correct don't touch them, they need to be filesystem path not the web path to the files. 3. Admin password to header manager: Set this password to something secure, you will need it if you ever need to change any of the settings on this page after the inital setup and if guessed it will show anyone your database passwords. 4. DB Host - Hostname/IP of Databaseserver eg. 127.0.0.1 5. DB Name - Name of Database eg. phpgroupware 5. DB User - Name of DB User for phpgroupware to use eg. phpgroupware 5. DB Password - Password of DB User eg. S3cur3 6. DB Type - MySQL/PostgreSQL 7. Configuration Password - password needed for secondary configuration 8. MCrypt - Allow an encryped database, has not been tested on windows would likely need cygwin libraries. 9. Domain select box - If you need to support many email domains eg (address@hidden, address@hidden, address@hidden) you can enable the box so that users only have to type their username. If you're unsure select false. 10. If possible select write config, otherwise downlaod or view the file and put it in the /phpgroupware directory as header.inc.php Secondary config: You should now be at a login screen for setup/config or header admin. Login to setup/config using the configuration password you set in the last section.