25 | | [http://www.postgresql.org/ PostgreSQL] as database backends. The default |
26 | | is to use SQLite, which is probably sufficient for most projects. The database file |
27 | | is then stored in the environment directory, and can easily be |
| 25 | [http://www.postgresql.org/ PostgreSQL] database backends. Preliminary |
| 26 | support for [http://mysql.com/ MySQL] was added in 0.10. The default is |
| 27 | to use SQLite, which is probably sufficient for most projects. The database |
| 28 | file is then stored in the environment directory, and can easily be |
35 | | If you want to use PostgreSQL instead, you'll have to use a different |
36 | | connection string. For example, to connect to a database on the same |
37 | | machine called `trac`, that allows access to the user `johndoe` with |
38 | | the password `letmein`, use: |
| 37 | === PostgreSQL Connection String === |
| 38 | If you want to use PostgreSQL or MySQL instead, you'll have to use a |
| 39 | different connection string. For example, to connect to a PostgreSQL |
| 40 | database on the same machine called `trac`, that allows access to the |
| 41 | user `johndoe` with the password `letmein`, use: |
| 64 | |
| 65 | See the [http://www.postgresql.org/docs/ PostgreSQL documentation] for detailed instructions on how to administer [http://postgresql.org PostgreSQL]. |
| 66 | Generally, the following is sufficient to create a database user named `tracuser`, and a database named `trac`. |
| 67 | {{{ |
| 68 | createuser -U postgres -E -P tracuser |
| 69 | createdb -U postgres -O tracuser -E UTF8 trac |
| 70 | }}} |
| 71 | 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. |
| 72 | |
| 73 | Under some default configurations (debian) one will have run the `createuser` and `createdb` scripts as the `postgres` user. For example: |
| 74 | {{{ |
| 75 | sudo su - postgres -c 'createuser -U postgres -S -D -R -E -P tracuser' |
| 76 | sudo su - postgres -c 'createdb -U postgres -O tracuser -E UTF8 trac' |
| 77 | }}} |
| 78 | |
| 79 | Trac uses the `public` schema by default but you can specify a different schema in the connection string: |
| 80 | {{{ |
| 81 | postgres://user:pass@server/database?schema=yourschemaname |
| 82 | }}} |
| 83 | |
| 84 | === MySQL Connection String === |
| 85 | |
| 86 | If you want to use MySQL instead, you'll have to use a |
| 87 | different connection string. For example, to connect to a MySQL |
| 88 | database on the same machine called `trac`, that allows access to the |
| 89 | user `johndoe` with the password `letmein`, the mysql connection string is: |
| 90 | {{{ |
| 91 | mysql://johndoe:letmein@localhost:3306/trac |
| 92 | }}} |
| 93 | |
| 94 | == Source Code Repository == |
| 95 | |
| 96 | You'll first have to provide the ''type'' of your repository (e.g. `svn` for Subversion, |
| 97 | which is the default), then the ''path'' where the repository is located. |
| 98 | |
| 99 | If you don't want to use Trac with a source code repository, simply leave the ''path'' empty |
| 100 | (the ''type'' information doesn't matter, then). |
| 101 | |
| 102 | For some systems, it is possible to specify not only the path to the repository, |
| 103 | but also a ''scope'' within the repository. Trac will then only show information |
| 104 | related to the files and changesets below that scope. The Subversion backend for |
| 105 | Trac supports this; for other types, check the corresponding plugin's documentation. |
| 106 | |
| 107 | Example of a configuration for a Subversion repository: |
| 108 | {{{ |
| 109 | [trac] |
| 110 | repository_type = svn |
| 111 | repository_dir = /path/to/your/repository |
| 112 | }}} |
| 113 | |
| 114 | The configuration for a scoped Subversion repository would be: |
| 115 | {{{ |
| 116 | [trac] |
| 117 | repository_type = svn |
| 118 | repository_dir = /path/to/your/repository/scope/within/repos |
| 119 | }}} |