Changes between Version 1 and Version 2 of TracEnvironment


Ignore:
Timestamp:
09/10/09 19:34:22 (15 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracEnvironment

    v1 v2  
    55== Creating an Environment ==
    66
    7 A new Trac environment is created using  [wiki:TracAdmin trac-admin]:
     7A new Trac environment is created using [wiki:TracAdmin trac-admin]:
    88{{{
    9 $ trac-admin /path/to/myproject initenv
     9$ trac-admin /path/to/projectenv initenv
    1010}}}
    1111
     
    1818the appropriate permissions. The same applies to the Subversion repository
    1919Trac is eventually using, although Trac will only require read access as long
    20 as you're not using the BDB file system. Also, it seems that project names
    21 with spaces can be problematic for authentication (see [trac:#7163]).''
     20as you're not using the BDB file system.''
    2221
    2322== Database Connection Strings ==
    2423
    25 Since version 0.9, Trac supports both [http://sqlite.org/ SQLite] and
    26 [http://www.postgresql.org/ PostgreSQL] database backends.  Preliminary
    27 support for [http://mysql.com/ MySQL] was added in 0.10.  The default is
    28 to use SQLite, which is probably sufficient for most projects. The database
    29 file is then stored in the environment directory, and can easily be
    30 [wiki:TracBackup backed up] together with the rest of the environment.
     24Since version 0.9, Trac supports both [http://sqlite.org/ SQLite],
     25[http://www.postgresql.org/ PostgreSQL] and [http://mysql.com/ MySQL] as
     26database backends.  The default is to use SQLite, which is probably sufficient
     27for most projects. The database file is then stored in the environment
     28directory, and can easily be [wiki:TracBackup backed up] together with the
     29rest of the environment.
    3130
    32 === Embedded SQLite Connection String ===
    3331The connection string for an embedded SQLite database is:
    3432{{{
     
    3634}}}
    3735
    38 === PostgreSQL Connection String ===
    3936If you want to use PostgreSQL or MySQL instead, you'll have to use a
    4037different connection string. For example, to connect to a PostgreSQL
     
    4441postgres://johndoe:letmein@localhost/trac
    4542}}}
    46 ''Note that due to the way the above string is parsed, the "/" and "@" characters cannot be part of the password.''
    4743
    4844If PostgreSQL is running on a non-standard port (for example 9342), use:
     
    5147}}}
    5248
    53 On UNIX, you might want to select a UNIX socket for the transport,
    54 either the default socket as defined by the PGHOST environment variable:
    55 {{{
    56 postgres://user:password@/database
    57 }}}
    58 or a specific one:
    59 {{{
    60 postgres://user:password@/database?host=/path/to/socket/dir
    61 }}}
    62 
    6349Note that with PostgreSQL you will have to create the database before running
    6450`trac-admin initenv`.
    6551
    66 See the [http://www.postgresql.org/docs/ PostgreSQL documentation] for detailed instructions on how to administer [http://postgresql.org PostgreSQL].
    67 Generally, the following is sufficient to create a database user named `tracuser`, and a database named `trac`.
     52And make sure PostgreSQl DB name is "trac". What worked for me:
     53And didn't work uppercase trac-user-name
    6854{{{
    69 createuser -U postgres -E -P tracuser
    70 createdb -U postgres -O tracuser -E UTF8 trac
    71 }}}
    72 When running `createuser` you will be prompted for the password for the user 'tracuser'. This new user will not be a superuser, will not be allowed to create other databases and will not be allowed to create other roles. These privileges are not needed to run a trac instance. If no password is desired for the user, simply remove the `-P` and `-E` options from the `createuser` command.  Also note that the database should be created as UTF8. LATIN1 encoding causes errors trac's use of unicode in trac.  SQL_ASCII also seems to work.
    73 
    74 Under some default configurations (debian) one will have run the `createuser` and `createdb` scripts as the `postgres` user.  For example:
    75 {{{
    76 sudo su - postgres -c 'createuser -U postgres -S -D -R -E -P tracuser'
    77 sudo su - postgres -c 'createdb -U postgres -O tracuser -E UTF8 trac'
     55sudo su - postgres -c createdb trac
     56sudo su - postgres -c psql trac
     57CREATE USER trac-user-name WITH PASSWORD 'trac-pass-name';
    7858}}}
    7959
    80 Trac uses the `public` schema by default but you can specify a different schema in the connection string:
    81 {{{
    82 postgres://user:pass@server/database?schema=yourschemaname
    83 }}}
    84 
    85 === MySQL Connection String ===
    86 
    87 If you want to use MySQL instead, you'll have to use a
    88 different connection string. For example, to connect to a MySQL
    89 database on the same machine called `trac`, that allows access to the
    90 user `johndoe` with the password `letmein`, the mysql connection string is:
    91 {{{
    92 mysql://johndoe:letmein@localhost:3306/trac
    93 }}}
     60(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.)
    9461
    9562== Source Code Repository ==
     
    13198 * `db`
    13299   * `trac.db` - The SQLite database (if you're using SQLite).
    133  * `htdocs` - directory containing web resources, which can be referenced in Genshi templates. '''''(0.11 only)'''''
    134  * `log` - default directory for log files, if logging is turned on and a relative path is given.
    135  * `plugins` - Environment-specific [wiki:TracPlugins plugins] (Python eggs, since [trac:milestone:0.10 0.10])
    136  * `templates` - Custom Genshi environment-specific templates. '''''(0.11 only)'''''
    137    * `site.html` - method to customize header, footer, and style, described in TracInterfaceCustomization#SiteAppearance
    138  * ''`templates` - Custom [trac:ClearSilver ClearSilver] environment-specific templates. '''(0.10 only)''' ''
    139    * ''`site_css.cs` - Custom CSS rules.''
    140    * ''`site_footer.cs` - Custom page footer.''
    141    * ''`site_header.cs` - Custom page header.''
    142  * ''`wiki-macros` - Environment-specific [WikiMacros Wiki macros]. '''(0.10 only)''' ''
     100 * `plugins` - Environment-specific [wiki:TracPlugins plugins] (Python eggs)
     101 * `templates` - Custom environment-specific templates.
     102   * `site_css.cs` - Custom CSS rules.
     103   * `site_footer.cs` - Custom page footer.
     104   * `site_header.cs` - Custom page header.
     105 * `wiki-macros` - Environment-specific [wiki:WikiMacros Wiki macros].
    143106
    144107  '''Note: don't confuse a Trac environment directory with the source code repository directory.