Changes between Version 4 and Version 5 of TracInstall
- Timestamp:
- Jun 16, 2024, 8:59:07 AM (5 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracInstall
v4 v5 1 = Trac Installation Guide for 1. 41 = Trac Installation Guide for 1.5 2 2 [[TracGuideToc]] 3 3 … … 8 8 If you're interested in contributing new translations for other languages or enhancing the existing translations, please have a look at [trac:wiki:TracL10N TracL10N]. 9 9 10 What followsare generic instructions for installing and setting up Trac. While you may find instructions for installing Trac on specific systems at [trac:TracInstallPlatforms TracInstallPlatforms], please '''first read through these general instructions''' to get a good understanding of the tasks involved.10 These are generic instructions for installing and setting up Trac. While you may find instructions for installing Trac on specific systems at [trac:TracInstallPlatforms TracInstallPlatforms], 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)]] … … 14 14 == Dependencies 15 15 === Mandatory Dependencies 16 16 17 To install Trac, the following software packages must be installed: 17 18 18 * [https://www.python.org/ Python], version >= 2.7 and < 3.0 19 (note that we dropped the support for Python 2.6 in this release) 20 * [https://pypi.org/project/setuptools setuptools], version >= 0.6 19 * [https://www.python.org/ Python], version >= 3.5 20 * [https://pypi.org/project/setuptools setuptools], version > 5.6 21 21 * [https://pypi.org/project/Jinja2 Jinja2], version >= 2.9.3 22 22 23 {{{#!div style="border: 1pt dotted; margin: 1em" 24 **Setuptools Warning:** If the version of your setuptools is in the range 5.4 through 5.6, the environment variable `PKG_RESOURCES_CACHE_ZIP_MANIFESTS` must be set in order to avoid significant performance degradation. More information may be found in [#DeployingTrac Deploying Trac]. 25 }}} 26 27 You also need a database system and the corresponding python bindings. 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. 28 24 29 25 ==== For the SQLite database #ForSQLite … … 37 33 You need to install the database and its Python bindings: 38 34 * [https://www.postgresql.org/ PostgreSQL], version 9.1 or later 39 * [https://pypi.org/project/psycopg2 psycopg2], version 2. 0or later35 * [https://pypi.org/project/psycopg2 psycopg2], version 2.5 or later 40 36 41 37 See [trac:DatabaseBackend#Postgresql DatabaseBackend] for details. … … 54 50 ==== Subversion 55 51 56 [https://subversion.apache.org/ Subversion], 1. 6.x or later and the '''''corresponding''''' Python bindings.52 [https://subversion.apache.org/ Subversion], 1.14.x or later and the '''corresponding''' Python bindings. 57 53 58 54 There are [https://subversion.apache.org/packages.html pre-compiled SWIG bindings] available for various platforms. See [trac:TracSubversion#GettingSubversion getting Subversion] for more information. … … 60 56 {{{#!div style="border: 1pt dotted; margin: 1em" 61 57 **Note:** 62 * Trac '''doesn't''' use [http ://pysvn.tigris.org/PySVN], nor does it work yet with the newer `ctype`-style bindings.58 * Trac '''doesn't''' use [https://pypi.org/project/PySVN PySVN], nor does it work yet with the newer `ctype`-style bindings. 63 59 * If using Subversion, Trac must be installed on the '''same machine'''. Remote repositories are [trac:ticket:493 not supported]. 64 60 }}} … … 75 71 76 72 ==== Web Server 73 77 74 A web server is optional because Trac is shipped with a server included, see the [#RunningtheStandaloneServer Running the Standalone Server] section below. 78 75 … … 83 80 - [http://modpython.org/ mod_python 3.5.0], see TracModPython 84 81 * a [https://fastcgi-archives.github.io FastCGI]-capable web server (see TracFastCgi) 85 * an [https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html AJP]-capable web 86 server (see [trac:TracOnWindowsIisAjp TracOnWindowsIisAjp]) 82 * an [https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html AJP]-capable web server (see [trac:TracOnWindowsIisAjp TracOnWindowsIisAjp]) 87 83 * Microsoft IIS with FastCGI and a FastCGI-to-WSGI gateway (see [trac:CookBook/Installation/TracOnWindowsIisWfastcgi IIS with FastCGI]) 88 * a CGI-capable web server (see TracCgi), '''but usage of Trac as a cgi script 89 is highly discouraged''', better use one of the previous options. 90 84 * a CGI-capable web server (see TracCgi), '''but usage of Trac as a cgi script is highly discouraged''', better use one of the previous options. 91 85 92 86 ==== Other Python Packages 93 87 94 * [http://babel.pocoo.org Babel], version 0.9.6 or >= 1.3, 95 needed for localization support 96 * [http://pytz.sourceforge.net pytz] to get a complete list of time zones, 97 otherwise Trac will fall back on a shorter list from 98 an internal time zone implementation. Installing Babel 99 will install pytz. 100 * [http://docutils.sourceforge.net docutils], version >= 0.3.9 101 for WikiRestructuredText. 102 * [http://pygments.org Pygments] for 103 [TracSyntaxColoring syntax highlighting]. 104 * [https://pypi.org/project/textile Textile] for rendering the [https://github.com/textile/python-textile Textile markup language]. 88 * [http://babel.pocoo.org Babel], version >= 2.2, needed for localization support 89 * [http://pytz.sourceforge.net pytz] to get a complete list of time zones, otherwise Trac will fall back on a shorter list from an internal time zone implementation. Installing Babel will install pytz. 90 * [http://docutils.sourceforge.net docutils], version >= 0.14, for WikiRestructuredText. 91 * [http://pygments.org Pygments], version >= 1.0, for [TracSyntaxColoring syntax highlighting]. 92 * [https://pypi.org/project/textile Textile], version >= 2.3, for rendering the [https://github.com/textile/python-textile Textile markup language]. 105 93 * [https://pypi.org/project/passlib passlib] on Windows to decode [TracStandalone#BasicAuthorization:Usingahtpasswdpasswordfile htpasswd formats] other than `SHA-1`. 106 94 * [https://pypi.org/project/pyreadline pyreadline] on Windows for trac-admin [TracAdmin#InteractiveMode command completion]. … … 119 107 120 108 === Using `pip` 121 `pip` is the modern Python package manager and is included in Python 2.7.9 and later. Use [https://bootstrap.pypa.io/get-pip.py get-pip.py] to install `pip` for an earlier version of Python. 122 123 {{{#!sh 124 $ pip install Trac 125 }}} 126 127 `pip` will automatically resolve the //required// dependencies (Jinja2 and setuptools) and download the latest packages from pypi.org. 109 110 `pip` is the modern Python package manager and is included in Python distributions. `pip` will automatically resolve the //required// dependencies (Jinja2 and setuptools) and download the latest packages from pypi.org. 128 111 129 112 You can also install directly from a source package. You can obtain the source in a tar or zip from the [trac:TracDownload] page. After extracting the archive, change to the directory containing `setup.py` and run: … … 135 118 `pip` supports numerous other install mechanisms. It can be passed the URL of an archive or other download location. Here are some examples: 136 119 137 * Install the latest stable version from a zip archive:138 {{{#!sh139 $ pip install https://download.edgewall.org/trac/Trac-latest.zip140 }}}141 120 * Install the latest development version from a tar archive: 142 121 {{{#!sh 143 122 $ pip install https://download.edgewall.org/trac/Trac-latest-dev.tar.gz 144 123 }}} 145 * Install the unreleased 1. 2-stable from subversion:146 {{{#!sh 147 $ pip install svn+https://svn.edgewall.org/repos/trac/branches/1. 2-stable124 * Install the unreleased 1.4-stable from subversion: 125 {{{#!sh 126 $ pip install svn+https://svn.edgewall.org/repos/trac/branches/1.4-stable 148 127 }}} 149 128 * Install the latest development preview (//not recommended for production installs//): … … 206 185 207 186 == Deploying Trac 208 209 {{{#!div style="border: 1pt dotted; margin: 1em"210 **Setuptools Warning:** If the version of your setuptools is in the range 5.4 through 5.6, the environment variable `PKG_RESOURCES_CACHE_ZIP_MANIFESTS` must be set in order to avoid significant performance degradation.211 212 If running `tracd`, the environment variable can be set system-wide or for just the user that runs the `tracd` process. There are several ways to accomplish this in addition to what is discussed here, and depending on the distribution of your OS.213 214 To be effective system-wide a shell script with the `export` statement may be added to `/etc/profile.d`. To be effective for a user session the `export` statement may be added to `~/.profile`.215 {{{#!sh216 export PKG_RESOURCES_CACHE_ZIP_MANIFESTS=1217 }}}218 219 Alternatively, the variable can be set in the shell before executing `tracd`:220 {{{#!sh221 $ PKG_RESOURCES_CACHE_ZIP_MANIFESTS=1 tracd --port 8000 /path/to/myproject222 }}}223 224 If running the Apache web server, !Ubuntu/Debian users should add the `export` statement to `/etc/apache2/envvars`. !RedHat/CentOS/Fedora should can add the `export` statement to `/etc/sysconfig/httpd`.225 }}}226 187 227 188 === Running the Standalone Server … … 292 253 Assuming the deployment has been done this way: 293 254 {{{#!sh 294 $ trac-admin /var/trac/<project> deploy /var/www 255 $ trac-admin /var/trac/<project> deploy /var/www/trac 295 256 }}} 296 257 297 258 Add the following snippet to Apache configuration, changing paths to match your deployment. The snippet must be placed ''before'' the `ScriptAlias` or `WSGIScriptAlias` directive, because those directives map all requests to the Trac application: 298 259 {{{#!apache 299 Alias /trac/chrome / path/to/trac/htdocs300 301 <Directory "/ path/to/www/trac/htdocs">260 Alias /trac/chrome /var/www/trac/htdocs 261 262 <Directory "/var/www/trac/htdocs"> 302 263 # For Apache 2.2 303 264 <IfModule !mod_authz_core.c> … … 355 316 == Configuring Authentication 356 317 357 Trac uses HTTP authentication. You'll need to configure your web server to request authentication when the `.../login` URL is hit (the virtual path of the "login" button). Trac will automatically pick the `REMOTE_USER` variable up after you provide your credentials. Therefore, all user management goes through your web server configuration. Please consult the documentation of your web server for more info.318 Trac uses HTTP authentication. You'll need to configure your web server to request authentication when the `.../login` URL is hit (the virtual path of the "login" button). Trac will automatically pick the `REMOTE_USER` variable up after you provide your credentials. Therefore, all user management goes through your web server configuration. Please consult the documentation of your web server for more info. 358 319 359 320 The process of adding, removing, and configuring user accounts for authentication depends on the specific way you run Trac.