Changes between Version 3 and Version 4 of Trac Install
- Timestamp:
- Feb 3, 2015, 5:53:07 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Trac Install
v3 v4 4 4 Trac is written in the Python programming language and needs a database, [http://sqlite.org/ SQLite], [http://www.postgresql.org/ PostgreSQL], or [http://mysql.com/ MySQL]. For HTML rendering, Trac uses the [http://genshi.edgewall.org Genshi] templating system. 5 5 6 Since version 0.12, Trac can also be localized, and there 's probably a translation available for your language. If you want to be able to use the Trac interface in other languages, then make sure you have installed the optional package [#OtherPythonPackages Babel]. Pay attention to the extra steps for localization support in the [#InstallingTrac Installing Trac] section below. Lacking Babel, you will only get the default English version, as usual.6 Since version 0.12, Trac can also be localized, and there is probably a translation available in your language. If you want to use the Trac interface in other languages, then make sure you have installed the optional package [#OtherPythonPackages Babel]. Pay attention to the extra steps for localization support in the [#InstallingTrac Installing Trac] section below. Lacking Babel, you will only get the default English version. 7 7 8 8 If you're interested in contributing new translations for other languages or enhance the existing translations, then please have a look at [trac:wiki:TracL10N TracL10N]. 9 9 10 What follows are generic instructions for installing and setting up Trac and its requirements. While you may find instructions for installing Trac on specific systems at [trac:TracInstallPlatforms TracInstallPlatforms] on the main Trac site, please be sure to'''first read through these general instructions''' to get a good understanding of the tasks involved.10 What follows are generic instructions for installing and setting up Trac. While you may find instructions for installing Trac on specific systems at [trac:TracInstallPlatforms TracInstallPlatforms] on the main Trac site, please '''first read through these general instructions''' to get a good understanding of the tasks involved. 11 11 12 12 [[PageOutline(2-3,Installation Steps,inline)]] … … 21 21 * [http://genshi.edgewall.org/wiki/Download Genshi], version >= 0.6 22 22 23 You also need a database system and the corresponding python bindings. 24 The database can be either SQLite, PostgreSQL or MySQL. 23 You also need a database system and the corresponding python bindings. The database can be either SQLite, PostgreSQL or MySQL. 25 24 26 25 ==== For the SQLite database #ForSQLite 27 26 28 As you must be using Python 2.5, 2.6 or 2.7, you already have the SQLite database bindings bundled with the standard distribution of Python (the `sqlite3` module).29 30 However, if you 'dlike, you can download the latest and greatest version of [[trac:PySqlite]] from27 As you must be using Python 2.5, 2.6 or 2.7, you already have the SQLite database bindings bundled with the standard distribution of Python: the `sqlite3` module. 28 29 However, if you like, you can download the latest and greatest version of [[trac:PySqlite]] from 31 30 [http://code.google.com/p/pysqlite/downloads/list google code], where you'll find the Windows 32 31 installers or the `tar.gz` archive for building from source: … … 37 36 }}} 38 37 39 This will download the latest SQLite code and build the bindings. 40 41 SQLite 2.x is no longer supported. 42 43 A known bug in PySqlite versions 2.5.2-4 prohibits upgrades of Trac databases 44 from 0.11.x to 0.12. Please use versions 2.5.5 and newer or 2.5.1 and 45 older. See #9434 for more detail. 46 47 See additional information in [trac:PySqlite PySqlite]. 38 This will download the latest SQLite code and build the bindings. SQLite 2.x is no longer supported. 39 40 A known bug in [trac:PySqlite] versions 2.5.2-4 prohibits upgrades of Trac databases from 0.11.x to 0.12. Please use versions 2.5.5 and newer or 2.5.1 and older. See #9434 for more detail. See additional information in [trac:PySqlite PySqlite]. 48 41 49 42 ==== For the PostgreSQL database #ForPostgreSQL … … 55 48 See [trac:DatabaseBackend#Postgresql DatabaseBackend] for details. 56 49 57 58 50 ==== For the MySQL database #ForMySQL 59 51 60 Trac can now work quite well with MySQL, provided you follow the guidelines.52 Trac works well with MySQL, provided you follow the guidelines: 61 53 62 54 * [http://mysql.com/ MySQL], version 5.0 or later 63 55 * [http://sf.net/projects/mysql-python MySQLdb], version 1.2.2 or later 64 56 65 It is '''very''' important to read carefully the[trac:MySqlDb] page before creating the database.57 Given the caveats and known issues surrounding MySQL, read carefully the [trac:MySqlDb] page before creating the database. 66 58 67 59 === Optional Dependencies … … 72 64 * [http://subversion.apache.org/ Subversion], 1.5.x or 1.6.x and the '''''corresponding''''' Python bindings. Older versions starting from 1.0, like 1.2.4, 1.3.2 or 1.4.2, etc. should still work. For troubleshooting information, check the [trac:TracSubversion#Troubleshooting TracSubversion] page. 73 65 74 There are [http://subversion.apache.org/packages.html pre-compiled SWIG bindings] available for various platforms. (Good luck finding precompiled SWIG bindings for any Windows package at that listing. TracSubversion points you to [http://alagazam.net Algazam], which works for me under Python 2.6.)66 There are [http://subversion.apache.org/packages.html pre-compiled SWIG bindings] available for various platforms. (Good luck finding precompiled SWIG bindings for any Windows package at that listing. [trac:TracSubversion] points you to [http://alagazam.net Alagazam], which works for me under Python 2.6.) 75 67 76 68 Note that Trac '''doesn't''' use [http://pysvn.tigris.org/ PySVN], neither does it work yet with the newer `ctype`-style bindings. 77 69 78 79 70 '''Please note:''' if using Subversion, Trac must be installed on the '''same machine'''. Remote repositories are currently [trac:ticket:493 not supported]. 80 81 71 82 72 ===== Others ===== … … 87 77 A web server is optional because Trac is shipped with a server included, see the [#RunningtheStandaloneServer Running the Standalone Server ] section below. 88 78 89 Alternatively you can configure Trac to run in any of the following environments .79 Alternatively you can configure Trac to run in any of the following environments: 90 80 * [http://httpd.apache.org/ Apache] with 91 81 - [http://code.google.com/p/modwsgi/ mod_wsgi], see [wiki:TracModWSGI] and … … 114 104 an internal time zone implementation. 115 105 116 '''Attention''': The various available versions of these dependencies are not necessarily interchangeable, so please pay attention to the version numbers above. If you are having trouble getting Trac to work please double-check all the dependencies before asking for help on the [trac:MailingList] or [trac:IrcChannel]. 117 118 Please refer to the documentation of these packages to find out how they are best installed. In addition, most of the [trac:TracInstallPlatforms platform-specific instructions] also describe the installation of the dependencies. Keep in mind however that the information there ''probably concern older versions of Trac than the one you're installing'' (there are even some pages that are still talking about Trac 0.8!). 119 106 '''Attention''': The available versions of these dependencies are not necessarily interchangeable, so please pay attention to the version numbers. If you are having trouble getting Trac to work, please double-check all the dependencies before asking for help on the [trac:MailingList] or [trac:IrcChannel]. 107 108 Please refer to the documentation of these packages to find out how they are best installed. In addition, most of the [trac:TracInstallPlatforms platform-specific instructions] also describe the installation of the dependencies. Keep in mind however that the information there ''probably concern older versions of Trac than the one you're installing''. There are even some pages that are still talking about Trac 0.8! 120 109 121 110 == Installing Trac == 122 111 === Using `easy_install` 123 One way to install Trac is using [http://pypi.python.org/pypi/setuptools setuptools]. 124 With setuptools you can install Trac from the Subversion repository; 112 One way to install Trac is using [http://pypi.python.org/pypi/setuptools setuptools]. With setuptools you can install Trac from the Subversion repository. 125 113 126 114 A few examples: … … 159 147 All commands (`tracd`, `trac-admin`) are available in `/opt/user/trac/bin`. This can also be leveraged for `mod_python` (using `PythonHandler` directive) and `mod_wsgi` (using `WSGIDaemonProcess` directive) 160 148 161 Additionally, you can install several Trac plugins (listed [http://pypi.python.org/pypi?:action=search&term=trac&submit=search here]) through pip. 162 163 149 Additionally, you can install several Trac plugins (listed [https://pypi.python.org/pypi?:action=browse&show=all&c=516 here]) through pip. 164 150 165 151 === From source 166 Of course, using the python-typical setup at the top of the source directory also works. 167 168 You can obtain the source for a .tar.gz or .zip file corresponding to a release (e.g. `Trac-1.0.tar.gz`), or you can get the source directly from the repository (see [trac:SubversionRepository] for details). 152 Of course, using the python-typical setup at the top of the source directory also works. You can obtain the source for a .tar.gz or .zip file corresponding to a release (e.g. `Trac-1.0.tar.gz`), or you can get the source directly from the repository. See [trac:SubversionRepository] for details. 169 153 170 154 {{{ … … 172 156 }}} 173 157 174 ''You 'll need root permissions or equivalent for this step.''158 ''You will need root permissions or equivalent for this step.'' 175 159 176 160 This will byte-compile the Python source code and install it as an .egg file or folder in the `site-packages` directory … … 206 190 The above will place your `tracd` and `trac-admin` commands into `/usr/local/bin` and will install the Trac libraries and dependencies into `/Library/Python/2.5/site-packages`, which is Apple's preferred location for third-party Python application installations. 207 191 208 209 192 == Creating a Project Environment == 210 193 211 A [TracEnvironment Trac environment] is the backend storage where Trac stores information like wiki pages, tickets, reports, settings, etc. An environment is basically a directory that contains a human-readable [TracIni configuration file], and variousother files and directories.194 A [TracEnvironment Trac environment] is the backend where Trac stores information like wiki pages, tickets, reports, settings, etc. An environment is basically a directory that contains a human-readable [TracIni configuration file], and other files and directories. 212 195 213 196 A new environment is created using [wiki:TracAdmin trac-admin]: … … 225 208 Also note that the values you specify here can be changed later by directly editing the [TracIni conf/trac.ini] configuration file. 226 209 227 When selecting the location of your environment, make sure that the filesystem on which the environment directory resides supports sub-second timestamps (i.e. **not** `ext2` or `ext3` on Linux), as the modification time of the `conf/trac.ini` file will be monitored to decide whether an environment restart is needed or not. A too coarse-grained timestamp resolution may result in inconsistencies in Trac < 1.0.2 (though the best advice is to opt for a platform with sub-second timestamp resolution when possible regardless of the version of Trac you are running).210 When selecting the location of your environment, make sure that the filesystem on which the environment directory resides supports sub-second timestamps (i.e. **not** `ext2` or `ext3` on Linux), as the modification time of the `conf/trac.ini` file will be monitored to decide whether an environment restart is needed or not. A too coarse-grained timestamp resolution may result in inconsistencies in Trac < 1.0.2. The best advice is to opt for a platform with sub-second timestamp resolution, regardless of the Trac version. 228 211 229 212 Finally, make sure the user account under which the web front-end runs will have '''write permissions''' to the environment directory and all the files inside. This will be the case if you run `trac-admin ... initenv` as this user. If not, you should set the correct user afterwards. For example on Linux, with the web server running as user `apache` and group `apache`, enter: … … 237 220 '''Warning:''' Please only use ASCII-characters for account name and project path, unicode characters are not supported there. 238 221 }}} 239 240 222 241 223 == Deploying Trac … … 276 258 Don't forget to check that the web server has the execution right on scripts in the `/usr/share/trac/cgi-bin` directory. 277 259 278 279 260 ==== Mapping Static Resources ==== 280 261 … … 297 278 Assuming the deployment has been done this way: 298 279 {{{ 299 $ trac-admin /var/trac/env deploy /path/to/ trac/htdocs/common280 $ trac-admin /var/trac/env deploy /path/to/shared/trac 300 281 }}} 301 282 … … 342 323 }}} 343 324 344 345 325 ==== Setting up the Plugin Cache ==== 346 326