Navigation


Changes between Version 2 and Version 3 of TracInstall


Ignore:
Timestamp:
Mar 4, 2011, 2:02:10 PM (13 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracInstall

    v2 v3  
    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.
    7 
    8 If you're interested in contributing new translations for other languages or enhance the existing translations, then please have a look at [[trac:TracL10N]].
     6Since 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 **first** have installed the optional package [#OtherPythonPackages Babel]. Lacking Babel, you will only get the default english version, as usual. If you install Babel later on, you will need to re-install Trac.
     7
     8If 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
    1010What 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 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.
     
    2929
    3030If you're using Python 2.4 and need pysqlite, you can download from
    31 [http://code.google.com/p/pysqlite/downloads/list google code] the Windows
    32 installers or the tar.gz archive for building from source:
     31[http://code.google.com/p/pysqlite/downloads/list google code] the Windows installers or the tar.gz archive for building from source:
    3332{{{
    3433$ tar xvfz <version>.tar.gz
     
    3938This will extract the SQLite code and build the bindings.
    4039
    41 SQLite 2.x is no longer supported. For SQLite 3.x, the pysqlite 1.1.x
    42 bindings are also no longer supported, use pysqlite 2.x.
    43 
    44 See additional information in [trac:PySqlite PySqlite].
     40To install SQLite, your system may require the development headers. Without these you will get various GCC related errors when attempting to build:
     41
     42{{{
     43$ apt-get install libsqlite3-dev
     44}}}
     45
     46SQLite 2.x is no longer supported, and neither is !PySqlite 1.1.x.
     47
     48A known bug !PySqlite versions 2.5.2-4 prohibits upgrade of trac databases
     49from 0.11.x to 0.12. Please use versions 2.5.5 and newer or 2.5.1 and
     50older. See [trac:#9434] for more detail.
     51
     52See additional information in [trac:PySqlite].
    4553
    4654==== For the PostgreSQL database #ForPostgreSQL
    4755
    4856You need to install the database and its Python bindings:
    49  * [http://www.postgresql.org/ PostgreSQL]
     57 * [http://www.postgresql.org/ PostgreSQL], version 8.0 or later
    5058 * [http://pypi.python.org/pypi/psycopg2 psycopg2]
    5159
     
    6068 * [http://sf.net/projects/mysql-python MySQLdb], version 1.2.2 or later
    6169
    62 It is '''very''' important to read carefully the  [trac:MySqlDb MySqlDb] page before creating the database.
     70It is '''very''' important to read carefully the  [trac:MySqlDb] page before creating the database.
    6371
    6472=== Optional Dependencies
     
    6775
    6876===== Subversion =====
    69  * [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.
    70 
    71 There are [http://subversion.apache.org/packages.html pre-compiled SWIG bindings] available for various platforms. Note that Trac '''doesn't''' use [http://pysvn.tigris.org/ PySVN], neither does it work yet with the newer `ctype`-style bindings
     77 * [http://subversion.apache.org/ Subversion], 1.5.x or 1.6.x and the '''''corresponding''''' Python bindings. Older versions starting from 1.4.0, etc. should still work. For troubleshooting information, check the [trac:TracSubversion#Troubleshooting TracSubversion] page. Versions prior to 1.4.0 won't probably work since trac uses svn core functionality (e.g. svn_path_canonicalize) that is not implemented in the python swig wrapper in svn <= 1.3.x (although it exists in the svn lib itself).
     78
     79There 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.)
     80
     81Note that Trac '''doesn't''' use [http://pysvn.tigris.org/ PySVN], neither does it work yet with the newer `ctype`-style bindings. [Is there a ticket for implementing ctype bindings?]
    7282
    7383
     
    7787===== Others =====
    7888
    79 Support for other version control systems is provided via third-parties. See [trac:PluginList PluginList] and [trac:VersioningSystemBackend VersioningSystemBackend].
     89Support for other version control systems is provided via third-parties. See [trac:PluginList] and [trac:VersioningSystemBackend].
    8090
    8191==== Web Server ====
     
    8696   - [http://code.google.com/p/modwsgi/ mod_wsgi], see [wiki:TracModWSGI] and
    8797     http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac
    88    - [http://modpython.org/ mod_python 3.3.1], see TracModPython)
     98   - [http://modpython.org/ mod_python 3.3.1], deprecated: see TracModPython)
    8999 * a [http://www.fastcgi.com/ FastCGI]-capable web server (see TracFastCgi)
    90100 * an [http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html AJP]-capable web
    91    server (see [trac:TracOnWindowsIisAjp TracOnWindowsIisAjp])
     101   server (see [trac:TracOnWindowsIisAjp])
    92102 * a CGI-capable web server (see TracCgi), '''but usage of Trac as a cgi script
    93103   is highly discouraged''', better use one of the previous options.
     
    97107
    98108 * [http://babel.edgewall.org Babel], version >= 0.9.5,
    99    needed for localization support
     109   needed for localization support[[BR]]
     110   ''Note: '' If you want to be able to use the Trac interface in other languages, then make sure you first have installed the optional package Babel. Lacking Babel, you will only get the default english version, as usual. If you install Babel later on, you will need to re-install Trac.
    100111 * [http://docutils.sourceforge.net/ docutils], version >= 0.3.9
    101112   for WikiRestructuredText.
     
    109120   an internal time zone implementation.
    110121
    111 '''Attention''': The various available versions of these dependencies are not necessarily interchangable, 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 MailingList] or [trac:IrcChannel IrcChannel].
     122'''Attention''': The various available versions of these dependencies are not necessarily interchangable, 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].
    112123
    113124Please 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!).
     
    116127== Installing Trac ==
    117128=== Using `easy_install`
    118 One way to install Trac is using `setuptools`.
     129One way to install Trac is using [http://pypi.python.org/pypi/setuptools setuptools].
    119130With setuptools you can install Trac from the subversion repository;
    120131
    121132A few examples:
    122133
    123  - install Trac 0.12:
     134 - first install of the latest stable version Trac 0.12.1, with i18n support:
    124135   {{{
    125    easy_install Trac==0.12
     136   easy_install Babel==0.9.5 Genshi==0.6
     137   easy_install Trac
    126138   }}}
    127 
    128  - install latest development version 0.12dev:
     139   ''It's very important to run the two `easy_install` commands separately, otherwise the message catalogs won't be generated.''
     140
     141 - upgrade to the latest stable version of Trac:
    129142   {{{
    130    easy_install Trac==dev
     143   easy_install -U Trac
    131144   }}}
    132    Note that in this case you won't have the possibility to run a localized version of Trac;
    133    either use a released version or install from source
     145
     146 - upgrade to the latest trunk development version (0.13dev):
     147   {{{
     148   easy_install -U Trac==dev
     149   }}}
     150
     151For upgrades, reading the TracUpgrade page is mandatory, of course.
     152
     153=== From source
     154If you want more control, you can download the source in archive form, or do a checkout from one of the official [[Trac:TracRepositories|source code repositories]].
     155
     156Be sure to have the prerequisites already installed. You can also obtain the Genshi and Babel source packages from http://www.edgewall.org and follow for them a similar installation procedure, or you can just easy_install those, see [#Usingeasy_install above].
     157
     158Once you've unpacked the Trac archive or performed the checkout, move in the top-level folder and do:
     159{{{
     160$ python ./setup.py install
     161}}}
     162
     163''You'll need root permissions or equivalent for this step.''
     164
     165This will byte-compile the python source code and install it as an .egg file or folder in the `site-packages` directory
     166of your Python installation. The .egg will also contain all other resources needed by standard Trac, such as htdocs and templates.
     167
     168The script will also install the [wiki:TracAdmin trac-admin] command-line tool, used to create and maintain [wiki:TracEnvironment project environments], as well as the [wiki:TracStandalone tracd] standalone server.
     169
     170If you install from source and want to make Trac available in other languages, make sure  Babel is installed. Only then, perform the `install` (or simply redo the `install` once again afterwards if you realize Babel was not yet installed):
     171{{{
     172$ python ./setup.py install
     173}}}
     174Alternatively, you can do a `bdist_egg` and copy the .egg from dist/ to the place of your choice, or you can create a Windows installer (`bdist_wininst`).
     175
     176=== Advanced Options ===
     177
     178To install Trac to a custom location, or find out about other advanced installation options, run:
     179{{{
     180easy_install --help
     181}}}
     182
     183Also see [http://docs.python.org/inst/inst.html Installing Python Modules] for detailed information.
     184
     185Specifically, you might be interested in:
     186{{{
     187easy_install --prefix=/path/to/installdir
     188}}}
     189or, if installing Trac to a Mac OS X system:
     190{{{
     191easy_install --prefix=/usr/local --install-dir=/Library/Python/2.5/site-packages
     192}}}
     193Note: If installing on Mac OS X 10.6 running {{{ easy_install http://svn.edgewall.org/repos/trac/trunk }}} will install into {{{ /usr/local }}} and {{{ /Library/Python/2.6/site-packages }}} by default
     194
     195The 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.
    134196
    135197=== Using `pip`
     
    137199To get a trac installation up and running in less than 5 minutes:
    138200
    139 Assuming you want to have your entire pip installation in /opt/user/trac
     201Assuming you want to have your entire pip installation in /opt/user/trac:
    140202
    141203 -
     
    151213Make sure your OS specific headers are available for pip to automatically build PostgreSQL (libpq-dev) or MySQL (libmysqlclient-dev) bindings.
    152214
    153 pip will automatically resolve all dependencies (like Genshi, pygments, etc.) and download the latest packages on pypi.python.org and create a self contained installation in /opt/user/trac
    154 
    155 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)
     215pip will automatically resolve all dependencies (like Genshi, pygments, etc.) and download the latest packages on pypi.python.org and create a self contained installation in /opt/user/trac .
     216
     217All 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)
    156218
    157219Additionally, you can install several trac plugins (listed [http://pypi.python.org/pypi?:action=search&term=trac&submit=search here]) through pip.
    158220
    159 
    160 
    161 === From source
    162 Of course, using the python-typical setup at the top of the source directory also works.
    163 
    164 You can obtain the source for a .tar.gz or .zip file corresponding to a release (e.g. Trac-0.12.tar.gz), or you can get the source directly from the repository (see Trac:SubversionRepository for details).
    165 
    166 {{{
    167 $ python ./setup.py install
    168 }}}
    169 
    170 ''You'll need root permissions or equivalent for this step.''
    171 
    172 This will byte-compile the python source code and install it as an .egg file or folder in the `site-packages` directory
    173 of your Python installation. The .egg will also contain all other resources needed by standard Trac, such as htdocs and templates.
    174 
    175 The script will also install the [wiki:TracAdmin trac-admin] command-line tool, used to create and maintain [wiki:TracEnvironment project environments], as well as the [wiki:TracStandalone tracd] standalone server.
    176 
    177 If you install from source and want to make Trac available in other languages, make sure  Babel is installed. Only then, perform the `install` (or simply redo the `install` once again afterwards if you realize Babel was not yet installed):
    178 {{{
    179 $ python ./setup.py install
    180 }}}
    181 Alternatively, you can do a `bdist_egg` and copy the .egg from dist/ to the place of your choice, or you can create a Windows installer (`bdist_wininst`).
    182 
    183 === Advanced Options ===
    184 
    185 To install Trac to a custom location, or find out about other advanced installation options, run:
    186 {{{
    187 easy_install --help
    188 }}}
    189 
    190 Also see [http://docs.python.org/inst/inst.html Installing Python Modules] for detailed information.
    191 
    192 Specifically, you might be interested in:
    193 {{{
    194 easy_install --prefix=/path/to/installdir
    195 }}}
    196 or, if installing Trac to a Mac OS X system:
    197 {{{
    198 easy_install --prefix=/usr/local --install-dir=/Library/Python/2.5/site-packages
    199 }}}
    200 Note: If installing on Mac OS X 10.6 running {{{ easy_install http://svn.edgewall.org/repos/trac/trunk }}} will install into {{{ /usr/local }}} and {{{ /Library/Python/2.6/site-packages }}} by default
    201 
    202 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.
    203221
    204222
     
    225243# chown -R apache.apache /path/to/myproject
    226244}}}
     245
     246{{{#!div class=important
     247'''Warning:''' Please only use ASCII-characters for account name and project path, unicode characters are not supported there.
     248}}}
     249
    227250
    228251== Running the Standalone Server ==