Home

Documentation

Project Support

Changes in Version 1 of TracInstall

Author:
trac
Timestamp:
Wed Aug 23 17:34:43 2006

Legend:

Unmodified
Added
Removed
Modified
  • TracInstall

    v0 v1
      1  = Trac Installation Guide = 
      2  [[TracGuideToc]] 
      3   
      4  The Trac web-based project management tool is implemented as a CGI- or standalone program. Trac is written in the [http://www.python.org/ Python] programming language 
      5  and uses the [http://www.sqlite.org/ SQLite] embedded database for persistant storage. For HTML rendering, Trac uses the [http://www.clearsilver.net/ Clearsilver] template system. 
      6   
      7   
      8  == Requirements == 
      9   
      10  To install Trac, the following software packages must be installed: 
      11   
      12   * [http://www.python.org/ Python], version >= 2.1 (>=2.3 recommended). 
      13     * Please keep in mind, that for RPM-based systems you will also need python-devel and python-xml packages. 
      14   * [http://subversion.tigris.org/ Subversion], version >= 1.0. (>=1.1 recommended) 
      15   * [http://svnbook.red-bean.com/svnbook-1.1/ch08s02.html#svn-ch-8-sect-2.3 Subversion Python bindings] (Caveat: Trac uses the [http://www.swig.org/ SWIG] bindings included in the Subversion distribution,  '''not''' the  [http://pysvn.tigris.org/ PySVN] package!) 
      16   * [http://www.sqlite.org/ SQLite], version 2.8.x or 3.0.x 
      17   * [http://pysqlite.sf.net/ PySQLite], version >= 0.5 but < 1.1.0 (for SQLite 2.8.x), version >= 1.1.1 (for SQLite 3.0.x)  
      18   * [http://clearsilver.net/ Clearsilver], version >= 0.9.3 
      19   * [http://docutils.sourceforge.net/ docutils], version >= 0.3.3 (??) 
      20   * A CGI-capable web server (tested on [http://httpd.apache.org/ Apache] ) 
      21   
      22  === Optional Packages === 
      23   
      24   * [http://www.modpython.org/ mod_python] (see TracModPython) 
      25   
      26  == Installing Trac == 
      27  Like most Python programs, install the Trac python modules by running the following command at the top of the source directory: 
      28  {{{ 
      29  $ python ./setup.py install 
      30  }}} 
      31   
      32  This will byte-compile the python source code and install it in the {{{site-packages}}} directory 
      33  of your python installation. The directories {{{cgi-bin}}}, {{{templates}}}, {{{htdocs}}} and {{{wiki-default}}} are all copied to $prefix/share/trac/ .  
      34   
      35  The script will also install the [wiki:TracAdmin trac-admin] command-line tool, used to create and maintain [wiki:TracEnvironment project environments].  
      36   
      37  The [wiki:TracAdmin trac-admin] program is the ''control center'' for Trac. 
      38   
      39  '''Note:''' you'll need root permissions or equivalent for this step. 
      40   
      41  For more information on installing Trac on specific platforms, see the [http://projects.edgewall.com/trac/wiki/TracInstallPlatforms TracInstallPlatforms] page (on the main project web site). 
      42   
      43  === Advanced Users === 
      44  To install Trac in a custom location, and view other advanced install options, run: 
      45  {{{ 
      46  $ python ./setup.py --help 
      47  }}} 
      48   
      49  == Creating a Project Environment == 
      50   
      51  TracEnvironment is the backend storage format where Trac stores 
      52  information like wiki pages, tickets, reports, settings, etc. 
      53  An environment consist of a directory containing an SQLite database,  
      54  human-readable configuration file, log-files and attachments. 
      55   
      56  A new Trac environment is created using [wiki:TracAdmin trac-admin], like: 
      57   
      58  {{{ 
      59  $ trac-admin /path/to/projectenv initenv 
      60  }}} 
      61   
      62  [wiki:TracAdmin trac-admin] will ask you where your subversion repository is located and 
      63  where it can find the trac templates directory (the default value should work for a typical install). 
      64   
      65  '''Note:''' The web server user will require file system write permission to the environment 
      66  directory and all the files inside. '''Remember to set the appropriate permissions.'' 
      67   
      68  The same applies for the subversion repository files (unless using the [http://svn.collab.net/repos/svn/trunk/notes/fsfs FSFS Subversion backend], something we highly recommend.  
      69   
      70  == Configuring Apache == 
      71   
      72  Make "{{{trac/cgi-bin/trac.cgi}}}" accessible to your web server at {{{/cgi-bin/}}}, either by copying/symlinking or use the "{{{trac/cgi-bin/}}}" directory directly. 
      73   
      74  Edit the apache config and add this snippet, filenames edited to match your installation: 
      75    
      76  {{{ 
      77  Alias /trac/ "/usr/share/trac/htdocs/" #or where you installed the trac htdocs 
      78  #You have to allow people to read the files in htdocs 
      79  <Directory "/usr/share/trac/htdocs"> 
      80         Options Indexes MultiViews 
      81         AllowOverride None 
      82         Order allow,deny 
      83         Allow from all 
      84  </Directory> 
      85   
      86   
      87  # Trac need to know where the database is located 
      88  <Location "/cgi-bin/trac.cgi"> 
      89         SetEnv TRAC_ENV "/path/to/projectenv" 
      90  </Location> 
      91   
      92  # You need this to allow users to authenticate 
      93  # trac.htpasswd can be created with  
      94  # cmd 'htpasswd -c trac.htpasswd' (UNIX) 
      95  # do 'man htpasswd' to see all the options 
      96  <Location "/cgi-bin/trac.cgi/login"> 
      97         AuthType Basic 
      98         AuthName "trac" 
      99         AuthUserFile /somewhere/trac.htpasswd 
      100         Require valid-user 
      101  </Location> 
      102  }}} 
      103   
      104  '''Note:''' If Apache complains about the Set''''''Env line make sure you have the Load''''''Module for mod_env uncommented (Apache 1.3). 
      105   
      106  '''Note:''' When creating a new environment, {{{trac-admin}}} will print a config snippet customized for your project. 
      107   
      108  '''Note:''' If you are using [http://httpd.apache.org/docs/suexec.html Apache suEXEC] feature see [http://projects.edgewall.com/trac/wiki/ApacheSuexec ApacheSuexec] (on the project web site). 
      109   
      110  == Using Trac == 
      111   
      112  '''Congratulations!''' You should now have a running Trac installation at: 
      113   
      114  http://<yourhostname>/cgi-bin/trac.cgi 
      115   
      116  You should be able to browse your subversion repository, create tickets, 
      117  view the timeline and use all the features of Trac. 
      118   
      119  Keep in mind that anonymous users (not logged in) can only access a restricted subset of all Trac features by default.  
      120   
      121  '''Note:''' If you don't want long, and relatively ugly, URLs, you can prettify them by changing your Apache config. See [http://projects.edgewall.com/trac/wiki/TracPrettyUrls TracPrettyUrls] (on the project website). 
      122   
      123  Please continue to TracPermissions to learn how to grant additional privileges to authenticated users. 
      124   
      125  For user documentation, see TracGuide. 
      126   
      127  ''Enjoy!'' 
      128   
      129  [http://projects.edgewall.com/trac/wiki/TracTeam The Trac Team] 
      130   
      131  ---- 
      132  See also:  TracGuide, TracUpgrade, TracPermissions, TracInstallPlatforms, TracModPython