Changes between Version 3 and Version 4 of Trac Install


Ignore:
Timestamp:
Feb 3, 2015, 5:53:07 PM (10 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Trac Install

    v3 v4  
    44Trac 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.
    55
    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.
     6Since 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.
    77
    88If 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].
    99
    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.
     10What 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.
    1111
    1212[[PageOutline(2-3,Installation Steps,inline)]]
     
    2121 * [http://genshi.edgewall.org/wiki/Download Genshi], version >= 0.6
    2222
    23 You also need a database system and the corresponding python bindings.
    24 The database can be either SQLite, PostgreSQL or MySQL.
     23You also need a database system and the corresponding python bindings. The database can be either SQLite, PostgreSQL or MySQL.
    2524
    2625==== For the SQLite database #ForSQLite
    2726
    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'd like, you can download the latest and greatest version of [[trac:PySqlite]] from
     27As 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
     29However, if you like, you can download the latest and greatest version of [[trac:PySqlite]] from
    3130[http://code.google.com/p/pysqlite/downloads/list google code], where you'll find the Windows
    3231installers or the `tar.gz` archive for building from source:
     
    3736}}}
    3837 
    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].
     38This will download the latest SQLite code and build the bindings. SQLite 2.x is no longer supported.
     39
     40A 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].
    4841
    4942==== For the PostgreSQL database #ForPostgreSQL
     
    5548See [trac:DatabaseBackend#Postgresql DatabaseBackend] for details.
    5649
    57 
    5850==== For the MySQL database #ForMySQL
    5951
    60 Trac can now work quite well with MySQL, provided you follow the guidelines.
     52Trac works well with MySQL, provided you follow the guidelines:
    6153
    6254 * [http://mysql.com/ MySQL], version 5.0 or later
    6355 * [http://sf.net/projects/mysql-python MySQLdb], version 1.2.2 or later
    6456
    65 It is '''very''' important to read carefully the [trac:MySqlDb] page before creating the database.
     57Given the caveats and known issues surrounding MySQL, read carefully the [trac:MySqlDb] page before creating the database.
    6658
    6759=== Optional Dependencies
     
    7264 * [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.
    7365
    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.)
     66There 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.)
    7567
    7668Note that Trac '''doesn't''' use [http://pysvn.tigris.org/ PySVN], neither does it work yet with the newer `ctype`-style bindings.
    7769
    78 
    7970'''Please note:''' if using Subversion, Trac must be installed on the '''same machine'''. Remote repositories are currently [trac:ticket:493 not supported].
    80 
    8171
    8272===== Others =====
     
    8777A web server is optional because Trac is shipped with a server included, see the [#RunningtheStandaloneServer Running the Standalone Server ] section below.
    8878
    89 Alternatively you can configure Trac to run in any of the following environments.
     79Alternatively you can configure Trac to run in any of the following environments:
    9080 * [http://httpd.apache.org/ Apache] with
    9181   - [http://code.google.com/p/modwsgi/ mod_wsgi], see [wiki:TracModWSGI] and
     
    114104   an internal time zone implementation.
    115105
    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
     108Please 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!
    120109
    121110== Installing Trac ==
    122111=== 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;
     112One way to install Trac is using [http://pypi.python.org/pypi/setuptools setuptools]. With setuptools you can install Trac from the Subversion repository.
    125113
    126114A few examples:
     
    159147All 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)
    160148
    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 
     149Additionally, you can install several Trac plugins (listed [https://pypi.python.org/pypi?:action=browse&show=all&c=516 here]) through pip.
    164150
    165151=== 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).
     152Of 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.
    169153
    170154{{{
     
    172156}}}
    173157
    174 ''You'll need root permissions or equivalent for this step.''
     158''You will need root permissions or equivalent for this step.''
    175159
    176160This will byte-compile the Python source code and install it as an .egg file or folder in the `site-packages` directory
     
    206190The 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.
    207191
    208 
    209192== Creating a Project Environment ==
    210193
    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 various other files and directories.
     194A [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.
    212195
    213196A new environment is created using [wiki:TracAdmin trac-admin]:
     
    225208Also note that the values you specify here can be changed later by directly editing the [TracIni conf/trac.ini] configuration file.
    226209
    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).
     210When 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.
    228211
    229212Finally, 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:
     
    237220'''Warning:''' Please only use ASCII-characters for account name and project path, unicode characters are not supported there.
    238221}}}
    239 
    240222
    241223== Deploying Trac
     
    276258Don't forget to check that the web server has the execution right on scripts in the `/usr/share/trac/cgi-bin` directory.
    277259
    278 
    279260==== Mapping Static Resources ====
    280261
     
    297278Assuming the deployment has been done this way:
    298279{{{
    299 $ trac-admin /var/trac/env deploy /path/to/trac/htdocs/common
     280$ trac-admin /var/trac/env deploy /path/to/shared/trac
    300281}}}
    301282
     
    342323}}}
    343324
    344 
    345325==== Setting up the Plugin Cache ====
    346326