tracenvironment
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | tracenvironment [2015/06/09 15:23] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== The Trac Environment ====== | ||
+ | |||
+ | Trac uses a directory structure and a database for storing project data. The directory is referred to as the “environment”. | ||
+ | |||
+ | ===== Creating an Environment ===== | ||
+ | |||
+ | A new Trac environment is created using [[: | ||
+ | < | ||
+ | $ trac-admin / | ||
+ | </ | ||
+ | |||
+ | |||
+ | [[: | ||
+ | database connection string (explained below), and the type and path to | ||
+ | your source code repository. | ||
+ | |||
+ | '' | ||
+ | the environment directory and all the files inside. Please remember to set | ||
+ | the appropriate permissions. The same applies to the Subversion repository | ||
+ | Trac is eventually using, although Trac will only require read access as long | ||
+ | as you're not using the BDB file system.'' | ||
+ | |||
+ | ===== Database Connection Strings ===== | ||
+ | |||
+ | Since version 0.9, Trac supports both [[http:// | ||
+ | [[http:// | ||
+ | database backends. | ||
+ | for most projects. The database file is then stored in the environment | ||
+ | directory, and can easily be [[: | ||
+ | rest of the environment. | ||
+ | |||
+ | The connection string for an embedded SQLite database is: | ||
+ | < | ||
+ | sqlite: | ||
+ | </ | ||
+ | |||
+ | |||
+ | If you want to use PostgreSQL or MySQL instead, you'll have to use a | ||
+ | different connection string. For example, to connect to a PostgreSQL | ||
+ | database on the same machine called `trac`, that allows access to the | ||
+ | user `johndoe` with the password `letmein`, use: | ||
+ | < | ||
+ | postgres:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | If PostgreSQL is running on a non-standard port (for example 9342), use: | ||
+ | < | ||
+ | postgres:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | Note that with PostgreSQL you will have to create the database before running | ||
+ | `trac-admin initenv`. | ||
+ | |||
+ | And make sure PostgreSQl DB name is " | ||
+ | And didn't work uppercase trac-user-name | ||
+ | < | ||
+ | sudo su - postgres -c createdb trac | ||
+ | sudo su - postgres -c psql trac | ||
+ | CREATE USER trac-user-name WITH PASSWORD ' | ||
+ | </ | ||
+ | |||
+ | |||
+ | (Just to remind you, if you don't have a sudo/su setup, you just need to do the createdb and psql statements. That threw me the first couple of times I read this.) | ||
+ | |||
+ | ===== Source Code Repository ===== | ||
+ | |||
+ | You'll first have to provide the //type// of your repository (e.g. `svn` for Subversion, | ||
+ | which is the default), then the //path// where the repository is located. | ||
+ | |||
+ | If you don't want to use Trac with a source code repository, simply leave the //path// empty | ||
+ | (the //type// information doesn' | ||
+ | |||
+ | For some systems, it is possible to specify not only the path to the repository, | ||
+ | but also a //scope// within the repository. Trac will then only show information | ||
+ | related to the files and changesets below that scope. The Subversion backend for | ||
+ | Trac supports this; for other types, check the corresponding plugin' | ||
+ | |||
+ | Example of a configuration for a Subversion repository: | ||
+ | < | ||
+ | [[:trac]] | ||
+ | repository_type = svn | ||
+ | repository_dir = / | ||
+ | </ | ||
+ | |||
+ | |||
+ | The configuration for a scoped Subversion repository would be: | ||
+ | < | ||
+ | [[:trac]] | ||
+ | repository_type = svn | ||
+ | repository_dir = / | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Directory Structure ===== | ||
+ | |||
+ | An environment directory will usually consist of the following files and directories: | ||
+ | |||
+ | * `README` - Brief description of the environment. | ||
+ | * `VERSION` - Contains the environment version identifier. | ||
+ | * `attachments` - Attachments to wiki pages and tickets are stored here. | ||
+ | * `conf` | ||
+ | * `trac.ini` - Main configuration file. See TracIni. | ||
+ | * `db` | ||
+ | * `trac.db` - The SQLite database (if you're using SQLite). | ||
+ | * `plugins` - Environment-specific [[: | ||
+ | * `templates` - Custom environment-specific templates. | ||
+ | * `site_css.cs` - Custom CSS rules. | ||
+ | * `site_footer.cs` - Custom page footer. | ||
+ | * `site_header.cs` - Custom page header. | ||
+ | * `wiki-macros` - Environment-specific [[: | ||
+ | |||
+ | ''' | ||
+ | It happens that the above structure is loosely modelled after the Subversion repository directory | ||
+ | structure, but they are not and //must not// be located at the same place.''' | ||
+ | |||
+ | ---- | ||
+ | See also: TracAdmin, TracBackup, TracIni, TracGuide | ||
+ | |||
tracenvironment.txt · Last modified: 2015/06/09 15:23 by 127.0.0.1