Warning: Can't synchronize with repository "(default)" (Unsupported version control system "svn": No module named svn). Look in the Trac log for more information.

Changes between Version 4 and Version 5 of TracEnvironment


Ignore:
Timestamp:
07/11/06 10:05:44 (13 years ago)
Author:
jay@…
Comment:

Doh!

Legend:

Unmodified
Added
Removed
Modified
  • TracEnvironment

    v4 v5  
    1 The blank homepage - I think wikiwords work to link to new pages - let's see - I want a new page called HowToUsePlugins 
     1= Trac Storage - The Environment = 
     2 
     3Trac uses a directory structure and a database for storing project data. 
     4 
     5== Creating an Environment == 
     6 
     7A new Trac environment is created using [wiki:TracAdmin trac-admin]: 
     8{{{ 
     9$ trac-admin /path/to/projectenv initenv 
     10}}} 
     11 
     12[wiki:TracAdmin trac-admin] will ask you for the name of the project, the 
     13database connection string (explained below), and the type and the path  
     14to your source code repository. 
     15 
     16  ''Note: The web server user will require file system write permission to 
     17the environment directory and all the files inside. Please remember to set 
     18the appropriate permissions. The same applies to the Subversion repository  
     19Trac is eventually using, although Trac will only require read access as long  
     20as you're not using the BDB file system.'' 
     21 
     22== Database Connection Strings == 
     23 
     24Since version 0.9, Trac supports both [http://sqlite.org/ SQLite] and 
     25[http://www.postgresql.org/ PostgreSQL] as database backends.  The default 
     26is to use SQLite, which is probably sufficient for most projects. The database file 
     27is then stored in the environment directory, and can easily be 
     28[wiki:TracBackup backed up] together with the rest of the environment. 
     29 
     30The connection string for an embedded SQLite database is: 
     31{{{ 
     32sqlite:db/trac.db 
     33}}} 
     34 
     35If you want to use PostgreSQL instead, you'll have to use a different 
     36connection string. For example, to connect to a database on the same 
     37machine called `trac`, that allows access to the user `johndoe` with 
     38the password `letmein`, use: 
     39{{{ 
     40postgres://johndoe:letmein@localhost/trac 
     41}}} 
     42 
     43If PostgreSQL is running on a non-standard port (for example 9342), use: 
     44{{{ 
     45postgres://johndoe:letmein@localhost:9342/trac 
     46}}} 
     47 
     48Note that with PostgreSQL you will have to create the database before running 
     49`trac-admin initenv`. 
     50 
     51And make sure PostgreSQl DB name is "trac". What worked for me: 
     52And didn't work uppercase trac-user-name 
     53{{{ 
     54sudo su - postgres -c createdb trac 
     55sudo su - postgres -c psql trac 
     56CREATE USER trac-user-name WITH PASSWORD 'trac-pass-name'; 
     57}}} 
     58 
     59== Source Code Repository == 
     60 
     61You'll first have to provide the ''type'' of your repository (e.g. `svn` for Subversion, 
     62which is the default), then the ''path'' where the repository is located. 
     63 
     64If you don't want to use Trac with a source code repository, simply leave the ''path'' empty 
     65(the ''type'' information doesn't matter, then). 
     66 
     67For some systems, it is possible to specify not only the path to the repository, 
     68but also a ''scope'' within the repository. Trac will then only show information 
     69related to the files and changesets below that scope. The Subversion backend for 
     70Trac supports this; for other types, check the corresponding plugin's documentation. 
     71 
     72Example of a configuration for a Subversion repository: 
     73{{{ 
     74[trac] 
     75repository_type = svn 
     76repository_dir = /path/to/your/repository 
     77}}} 
     78 
     79The configuration for a scoped Subversion repository would be: 
     80{{{ 
     81[trac] 
     82repository_type = svn 
     83repository_dir = /path/to/your/repository/scope/within/repos 
     84}}} 
     85 
     86== Directory Structure == 
     87 
     88An environment directory will usually consist of the following files and directories: 
     89 
     90 * `README` - Brief description of the environment. 
     91 * `VERSION` - Contains the environment version identifier. 
     92 * `attachments` - Attachments to wiki pages and tickets are stored here. 
     93 * `conf` 
     94   * `trac.ini` - Main configuration file. See TracIni. 
     95 * `db` 
     96   * `trac.db` - The SQLite database (if you're using SQLite). 
     97 * `plugins` - Environment-specific [wiki:TracPlugins plugins] (Python eggs) 
     98 * `templates` - Custom environment-specific templates. 
     99   * `site_css.cs` - Custom CSS rules. 
     100   * `site_footer.cs` - Custom page footer. 
     101   * `site_header.cs` - Custom page header. 
     102 * `wiki-macros` - Environment-specific [wiki:WikiMacros Wiki macros]. 
     103 
     104  '''Note: don't confuse a Trac environment directory with the Source Code Repository directory. 
     105It happens that the above structure is loosely modelled after the Subversion repository directory  
     106structure, but they are not and ''must not'' be located at the same place.''' 
     107 
     108---- 
     109See also: TracAdmin, TracBackup, TracIni, TracGuide