dotProject requires a functioning web server with integrated PHP and MySQL support, and, of course, a web browser. Web server implemenations include:
Web Server
Apache (www.apache.org) is recommended to be version 1.3.27. Apache version 2.x may have some issues as the implementation of the SAPI module with Apache is considered experimental.
Apache 1.3.20+ implementations have been successfully tested on Windows and Linux.
PHP
PHP (www.php.net) version 4.1.x or higher is required. PHP versions earlier than 4.0.x are NO LONGER SUPPORTED.
PHP needs to have the GD library installed to allow the Gantt charts to work. Use the phpinfo() function on your local (or hosted) system to see if this is compiled/installed with PHP.
MySQL
MySQL (www.mysql.com) version 3.23.51 or higher is recommended. You will also need an administration client for MySQL (such as MySQL Command Centre available from the MySQL web site).
Browser
You will also need a forth generation browser that supports style sheets and javascript (IE Version 5.5 or better, Mozilla 1.2, Netscape 7.x, etc). Many PNG image files are used in dotProject with alpha-transparency. Later versions of Mozilla and Netscape will render these properly. A patch has been applied to allow IE 6.0 to render these images also. However, earlier version of IE will not display the background of the images properly.
tar -zxvf dotproject_*.tar.gz[Note: replace the * with the appropriate version.]
// Customize to match your db_name, db_user, and db_pass. mysql> CREATE DATABASE dotproject; mysql> GRANT ALL PRIVILEGES ON dotproject.* TO dotproject@localhost IDENTIFIED BY "yourpassword" WITH GRANT OPTION;
Open the file dotproject/db/dotproject_{version}.sql* with a text editor and edit the last section where the default dotproject Admin Account is setup (line 351).
We recommend that you specify a new admin username, password, and email. Save your changes. [Alternatively, this step can be completed in the "User Admin" section of dotproject after installation].
#mysql -udotproject -pyourpassword dotproject < dotproject/db/dotproject_{version}.sql*
dotproject/includes/config-dist.php
Username: admin Password: passwd
Click on the "User Admin" button and change the admin password as soon as possible (if not completed in step four above). You may also add other users with differing levels of access to your dotproject database.
If you would like to provide an alternative email address for the login screen's "Help! I've forgotten my username and password" mailto link, edit line 56 (or thereabouts) of /includes/login.php. The default entry is: <?php echo 'admin@' . $site_domain;?>
The File Management Module provides users with an opportunity to upload and share files. Several steps are necessary to make sure this module works correctly.
"includes/config.php"
. $dPconfig['root_dir'] must provide the full path to the dotproject installation AND INCLUDE the installation folder name.
$dPconfig['root_dir'] = "/wwwroot/dotproject"; // Example ONE $dPconfig['root_dir'] = "/var/www/html/dotproject"; // Example TWO $dPconfig['root_dir'] = "C:/apache/htdocs/dotproject"; // No trailing slash
Files Folder Permissions
In order for the file upload to function, you will need to provide write priviledges to the file upload folder. The "default" file upload folder is named "files"
and contains an ".htaccess"
file to
prevent unauthorized access.
The safe way to the write permission on a POSIX system is via the following. Determine what user is running the apache web server with the following system command:
[user@localhost dotproject]# ps -ef | grep httpdThe resulting list will show you the user that is running Apache (probably
apache
). Change the owner of the files directory to this user:
[user@localhost dotproject]# chown -R apache files/ [user@localhost dotproject]# chmod -R 0700 files/
You should not be lazy and just set the permissions on this directory to 777. While this will work it provides leverage for a malicious attack from a cracker.
Troubleshooting
Failure to specify the proper $root_dir
OR failure to provide write permissions on the file upload folder will result in numerous error messages along the lines of:
Warning: Unable to create '{$root_dir}/files/0/{rnd #}': Permission denied in {$root_dir}/dosql/addfile.php on line 17 Warning: Unable to move '/tmp/phpt9SeKp' to '{$root_dir}/files/0/{rnd #}' in {$root_dir}/dosql/addfile.php on line 17 Warning: fopen("{$root_dir}/files/0/{rnd #}","r") - No such file or directory in {$root_dir}/dosql/addfile.php on line 51 Warning: Supplied argument is not a valid File-Handle resource in {$root_dir}/addfile.php on line 52 Warning: Cannot add header information - headers already sent by (output started at {$root_dir}/dosql/addfile.php:17) in {$root_dir}/dosql/addfile.php on line 92
Even though you may encounter error messages, there will still be an entry made for the various files in the database. However, the contents of the uploaded files will likely be lost. Instead the "files" will contain error messages that may help with troubleshooting.
If you find that you are accumulating "file" listings, but your contents of the "files" folder is not changing, then you have probably provided an incorrect $root_dir
path.
You will also want to confirm that your php.ini
file is configured to allow file uploading with file_uploads = on
.
You may want to increase your Maximum File Upload Size beyond your php.ini
default setting. This procedure is described in the "Troubleshooting Page" of this documentation module (see link above).
Improving Security
The default "files" folder contains an ".htaccess" file containing the following: Options -All deny from all
While this provides basic security, the paranoid can improve security further by:
"files"
folder to something less obvious."files"
folder outside of the webrootThese security improvements will require technical skill, and will make "upgrading" to future versions of dotproject more challenging.
Most distributions have one or more dotproject_{version}.sql files where {version} is the version of dotProject. You should always choose the highest numbered version. This version number will match the version of the dotProject code. E.g. dotProject version 1.0.1 uses dotproject_101.sql.
--------------------------------------------------------------------------- (from the ticketsmith installation) 1. Have a working perl install, with DBI and the DBD::MySQL bundles installed 2. Be sure to protect the gateway.pl file. You basically need to do one of two things, either move it out of a web-accessible place or somehow protect it from being accessed over the web:order deny,allow deny from all If you don't protect it, one of two things will happen, either users will be able to see the source and thus grab your Ticketsmith MySQL password, or something unpredictable will happen when Apache tries to run it as a CGI script. I don't think this could be harmful, but hey, you never know. 7. Edit the top of gateway.pl to fit your setup. 9. Configure your MDA or MTA to pipe mail for your support list to gateway.pl. For example, here is a sample procmail recipe: :0 * (^To:|^CC:|^Cc:) .*support@foo.bar |/path/to/gateway.pl You can also set Ticketsmith up directly with sendmail in /etc/aliases: support: "|/path/to/gateway.pl" Keep in mind that with sendmail you need to either put gateway.pl in /etc/smrsh or at least symlink to it from that directory so that sendmail will execute it. If you do this, you'll have to point the /etc/aliases entry to the copy in /etc/smrsh.