home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Freeware / Programare / dotproject / modules / help / en / install.install.hlp < prev    next >
Encoding:
Text File  |  2003-07-01  |  9.9 KB  |  210 lines

  1. <!-- $Id: install.install.hlp,v 1.4 2003/07/01 04:12:13 kobudo Exp $ -->
  2. <h1>Installing dotProject</h1>
  3.  
  4. <h2>Requirements</h2>
  5. <p><b>dotProject</b> requires a functioning web server with integrated PHP and MySQL support, and, of course, a web browser.  Web server implemenations include:</p>
  6.  
  7. <ul>
  8.     <li><b>LAMP</b>: Linux+Apache+MySQL+PHP</li>
  9.     <li><b>WAMP</b>: Windows+Apache+MySQL+PHP</li>
  10.     <li><b>WIMP</b>: Windows+IIS+MySQL+PHP</li>
  11. </ul>
  12.  
  13. <br />
  14.  
  15. <p><b>Web Server</b></p>
  16.  
  17. <p>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.</p>
  18.  
  19. <p>Apache 1.3.20+ implementations have been successfully tested on Windows and Linux.</p>
  20.  
  21. <br />
  22.  
  23. <p><b>PHP</b></p>
  24.  
  25. <p>PHP (www.php.net) version 4.1.x or higher is required.  PHP versions earlier than 4.0.x are NO LONGER SUPPORTED.</p>
  26.  
  27. <p>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.<p>
  28.  
  29. <br />
  30.  
  31. <p><b>MySQL</b></p>
  32.  
  33. <p>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).</p>
  34.  
  35. <br />
  36.  
  37. <p><b>Browser</b></p>
  38.  
  39. <p>You will also need a forth generation browser that supports style sheets and javascript
  40. (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.</p>
  41.  
  42. <br />
  43.  
  44. <h2>Installing dotProject for the first time</h2>
  45.  
  46. <ol>
  47.     <li>Download the most recent dotproject tarball from <a href="http://sourceforge.net/projects/dotproject/" target="_blank">http://sourceforge.net/projects/dotproject/</a></li>
  48.         
  49.     <li>Unpack the tarball in your web root directory with a Windows unzip program or on *nix:
  50.     <pre>tar -zxvf dotproject_*.tar.gz</pre>
  51.     [Note: replace the * with the appropriate version.]</li>
  52.  
  53.     <li>Create the dotproject database in MySQL.
  54.         <ul>
  55.             <li>Create a new mysql database called {dotproject}</li>
  56.             <li>Create a new user called {dotproject}</li>
  57.             <li>Grant access to user {dotproject} on the {dotproject} database.</li>
  58.             <li>Make sure to record the dotproject user's password, {yourpassword}.</li>
  59.             <pre>
  60.     // Customize to match your db_name, db_user, and db_pass.
  61.     mysql> CREATE DATABASE dotproject;
  62.     mysql> GRANT ALL PRIVILEGES ON dotproject.* 
  63.             TO dotproject@localhost IDENTIFIED BY
  64.             "yourpassword" WITH GRANT OPTION;</pre></li>
  65.         </ul>
  66.         </li>
  67.     
  68.     <li>Customize your Database Schema Script [OPTIONAL].
  69.     <p>Open the file dotproject/db/dotproject_100.sql with a text editor
  70.     and edit the last section where the default dotproject Admin
  71.     Account is setup (line 351).</p>
  72.     
  73.     <p>We recommend that you specify a new admin username, password, 
  74.     and email. Save your changes. [Alternatively, this step can 
  75.     be completed in the "User Admin" section of dotproject after
  76.     installation].</p>
  77.     </li>
  78.  
  79.     <li>Populate the Database.
  80.     Utilize the information from the Database Setup and the provided
  81.     "/db/dotproject_100.sql" script to populate the dotproject database.
  82.     <pre>#mysql -udotproject -pyourpassword dotproject < dotproject/db/dotproject_100.sql </pre>
  83.     </li>
  84.     
  85.     <li>Configuration File Customization. Follow the instructions at the top of the file <code>dotproject/includes/config-dist.php</code></li>
  86.  
  87.     <li>Point your browser to http://yourdomain.com/dotproject/index.php.  If all is well, you should see a login page. 
  88.     <pre>
  89. Username: admin
  90. Password: passwd</pre>
  91.     </li>
  92.  
  93.     <li>Admin Password and Adding Other Users
  94.     <p>Click on the "User Admin" button and change the admin password as soon as 
  95.     possible (if not completed in step four above). You may also add other users
  96.     with differing levels of access to your dotproject database.</p>
  97.     
  98.     <p>If you would like to provide an alternative email address for the login 
  99.     screen's "Help! I've forgotten my username and password" mailto link, edit line 
  100.     56 (or thereabouts) of /includes/login.php.  The default entry is:
  101.         <?php echo 'admin@' . $site_domain;?></p>
  102.     </li>
  103.  
  104.     <li>File Management Configuration.
  105.     
  106.     <p>The File Management Module provides users with an opportunity to upload and
  107.     share files. Several steps are necessary to make sure this module works 
  108.     correctly.</p>
  109.  
  110.     <ol type="a">
  111.         <li>It is very important that the $dPconfig['root_dir'] variable is set correctly in <code>"includes/config.php"</code>. $dPconfig['root_dir'] must provide the full path to the dotproject installation AND INCLUDE the installation folder name.
  112.         <pre>
  113. $dPconfig['root_dir'] = "/wwwroot/dotproject";  // Example ONE
  114. $dPconfig['root_dir'] = "/var/www/html/dotproject";  // Example TWO
  115. $dPconfig['root_dir'] = "C:/apache/htdocs/dotproject";  // No trailing slash
  116.         </pre>
  117.         </li>
  118.  
  119.         <li><p>Files Folder Permissions</p>
  120.         <p>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 <code>"files"</code> and contains an <code>".htaccess"</code> file to 
  121.         prevent unauthorized access.<p>
  122.         <p>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:
  123.         <pre>[user@localhost dotproject]# ps -ef | grep httpd</pre>
  124.         The resulting list will show you the user that is running Apache (probably <code>apache</code>).  Change the owner of the files directory to this user:
  125.         <pre>[user@localhost dotproject]# chown -R apache files/
  126. [user@localhost dotproject]# chmod -R 0700 files/</pre>
  127.         <p>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.</p>
  128.         </li>
  129.  
  130.         <li><p>Troubleshooting</p>
  131.         <p>Failure to specify the proper <code>$root_dir</code> OR failure to provide write permissions on the file upload folder will result in numerous error messages along the lines of:
  132.         <pre>
  133. Warning: Unable to create '{$root_dir}/files/0/{rnd #}': 
  134.     Permission denied in {$root_dir}/dosql/addfile.php on line 17
  135. Warning: Unable to move '/tmp/phpt9SeKp' to '{$root_dir}/files/0/{rnd #}'
  136.     in {$root_dir}/dosql/addfile.php on line 17
  137. Warning: fopen("{$root_dir}/files/0/{rnd #}","r") - No such file 
  138.     or directory in {$root_dir}/dosql/addfile.php on line 51
  139. Warning: Supplied argument is not a valid File-Handle resource in
  140.     {$root_dir}/addfile.php on line 52
  141. Warning: Cannot add header information - headers already sent by (output 
  142.     started at {$root_dir}/dosql/addfile.php:17) in 
  143.     {$root_dir}/dosql/addfile.php on line 92
  144.         </pre>
  145.         <p>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.</p>
  146.         <p>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 <code>$root_dir</code> path.</p>
  147.         <p>You will also want to confirm that your <code>php.ini</code> file is configured to allow file uploading with <code>file_uploads = on</code>.</p>
  148.         <p>You may want to increase your <b>Maximum File Upload Size</b> beyond your <code>php.ini</code> default setting. This procedure is described in the "Troubleshooting Page" of this documentation module.</p>
  149.         </li>
  150.  
  151.         <li><p>Improving Security</p>
  152.         <p>The default "files" folder contains an ".htaccess" file containing the following:
  153.         </pre>
  154. Options -All
  155. deny from all</pre>
  156.         <p>While this provides basic security, the paranoid can improve security further by:
  157.         <ul>
  158.             <li>Changing the name of the <code>"files"</code> folder to something less obvious.</li>
  159.             <li>Moving the <code>"files"</code> folder outside of the webroot</li>
  160.             <li>Both</li>
  161.         </ul>
  162.         <p>These security improvements will require technical skill, and will make "upgrading" to future versions of dotproject more challenging.</p>
  163.         </li>
  164.     </ol>
  165.     </li>
  166. </ol>
  167.             
  168. <h2>Web trouble ticket email gateway: dotproject/includes/gateway.pl</h2>
  169. <pre>
  170. ---------------------------------------------------------------------------
  171. (from the ticketsmith installation)
  172.  
  173. 1.  Have a working perl install, with DBI and the DBD::MySQL bundles installed
  174. 2.  Be sure to protect the gateway.pl file.  You basically need to do one 
  175.     of two things, either move it out of a web-accessible place or somehow 
  176.     protect it from being accessed over the web:
  177.     
  178.             <Files "gateway.pl">
  179.                     order deny,allow
  180.                     deny from all
  181.             </Files>
  182.     
  183.     If you don't protect it, one of two things will happen,  either users will be
  184.     able to see the source and thus grab your Ticketsmith MySQL password, or
  185.     something unpredictable will happen when Apache tries  to run it as a CGI
  186.     script.  I don't think this could be harmful, but hey,  you never know.
  187.  
  188.  
  189.  
  190. 7.  Edit the top of gateway.pl to fit your setup.
  191.  
  192.  
  193.     
  194. 9.  Configure your MDA or MTA to pipe mail for your support list to gateway.pl.  For
  195.     example,  here is a sample procmail recipe:
  196.  
  197.             :0
  198.             * (^To:|^CC:|^Cc:) .*support@foo.bar
  199.             |/path/to/gateway.pl
  200.  
  201.     You can also set Ticketsmith up directly with sendmail in /etc/aliases: 
  202.  
  203.             support: "|/path/to/gateway.pl"
  204.  
  205.     Keep in mind that with sendmail you need to either put gateway.pl in 
  206.     /etc/smrsh or at least symlink to it from that directory so that 
  207.     sendmail will execute it.  If you do this, you'll have to point 
  208.     the /etc/aliases entry to the copy in /etc/smrsh.
  209. </pre>
  210.