= Руководство по установке Trac для версии 1.2 [[TracGuideToc]] [[TranslatedPages]] Trac написан на языке программирования Python и использует базы данных [http://sqlite.org/ SQLite], [http://www.postgresql.org/ PostgreSQL] или [http://mysql.com/ MySQL]. Для генерации HTML, Trac использует систему шаблонов [http://genshi.edgewall.org/ Genshi]. Trac может быть локализован, и скорее всего перевод на ваш язык уже доступен. Если вы хотите использовать интерфейс Trac на другом языке, убедитесь в том, что у вас установлен дополнительный пакет [#OtherPythonPackages Babel]. Обратите также ваше внимание на дополнительные шаги, которые потребуются для поддержки локализации в разделе [#InstallingTrac Installing Trac] ниже. При отсутствии пакета Babel, вы получите только английскую версию. Если вас интересует поддержка новых переводов Trac на другие языки или поддержка существующих переводов, ознакомьтесь с документацией [trac:wiki:TracL10N TracL10N]. Далее приведены общие инструкции по установке и настройке Trac. Несмотря на то что вы можете найти инструкции по установке Trac на конкретные платформы в разделе [trac:TracInstallPlatforms TracInstallPlatforms], мы советуем '''предварительно ознакомится с этими общими инструкциями''' для лучшего понимания описанных в них задач. [[PageOutline(2-3,Этапы установки,inline)]] == Зависимости === Обязательное зависимости Перед установкой Trac, вам необходимо установить следующие пакеты: * [http://www.python.org/ Python] версии >= 2.6 и < 3.0 (обратите внимание, мы не поддерживаем Python 2.5 с этого выпуска) * [http://peak.telecommunity.com/DevCenter/setuptools setuptools] версии >= 0.6 * [http://genshi.edgewall.org/ Genshi] версии >= 0.6 Вам также необходима ''система управления базами данных'' и соответствующие библиотеки для Python (python bindings). Данная версия Trac поддерживает СУБД SQLite, PostgreSQL и MySQL. ===== Для базы SQLite #ForSQLite Так как вы должны использовать Python 2.6 или 2.7, у вас уже установлены все требуемые для SQLite библиотеки имеющиеся в стандартной поставке Python (модуль `sqlite3`). При желаниии вы можете установить более новую версию [https://pypi.org/project/pysqlite pysqlite] чем та, что поставляется в дистрибутиве Python. Для более подробной информации, смотрите [trac:PySqlite#ThePysqlite2bindings PySqlite]. ===== Для базы PostgreSQL #ForPostgreSQL Вам нужно установить СУБД и соответствующую библиотеку Python: * [http://www.postgresql.org/ PostgreSQL], версия 8.0 или новее. * [http://pypi.python.org/pypi/psycopg2 psycopg2], версия 2.0 или новее. Для более подробной информации, смотрите [trac:DatabaseBackend#Postgresql Серверы СУБД]. ===== Для базы MySQL Trac теперь может работать с MySQL, если вы будете следовать инструкциям. * [http://mysql.com/ MySQL] версии 5.0 или новее * [http://sf.net/projects/mysql-python MySQLdb] версии 1.2.2 или новее '''Очень''' важно внимательно прочитать страницу [trac:MySQLdb] перед созданием базы данных. === Опциональные зависимости ===== Subversion * [http://subversion.apache.org/ Subversion], 1.6 или новее и '''''соответствующие''''' библиотеки Python. [http://subversion.apache.org/packages.html Скомпилированные SWIG библиотеки] доступны для различных платформ. (Удачи в поисках скомпилированных SWIG библиотек для любого Windows пакета. TracSubversion содержит ссылку на [http://alagazam.net Algazam], где есть библиотеки, работающие с Python 2.6.) Для информации о возникающих проблемах обратитесь к странице [trac:TracSubversion#Troubleshooting TracSubversion] {{{#!div style="border: 1pt dotted; margin: 1em" **Примечание:** * Заметьте, что Trac '''не''' использует [http://pysvn.tigris.org/ PySVN], он ещё не работает с новыми `ctype`-style bindings. * При использовании Subversion, Trac должен быть установлен на '''той же машине'''. Удаленные репозитарии в данный момент [trac:ticket:493 не поддерживаются]. }}} ==== Git Поддерживается [https://git-scm.com/ Git] версии 1.5.6 или новее. Более подробная информация доступна на странице [trac:TracGit]. ==== Другие системы контроля версий Поддержка для других систем контроля версий предоставляется по средствам сторонних плагинов. Смотрите [trac:PluginList#VersionControlSystems] или [trac:VersionControlSystem]. ==== Web-сервер Web-сервер не является обязательным требованием, так как Trac предоставляется вместе со встроенным сервером, подробнее смотрите ниже в разделе [#RunningtheStandaloneServer Запуск встроенного сервера]. В противном случае вы можете настроить Trac для запуска в любом из следующих окружений: * [https://httpd.apache.org/ Apache] с модулями * [https://github.com/GrahamDumpleton/mod_wsgi mod_wsgi], смотрите [wiki:TracModWSGI] и [https://code.google.com/p/modwsgi/wiki/IntegrationWithTrac ModWSGI IntegrationWithTrac]. * [http://modpython.org/ mod_python 3.5.0], смотрите TracModPython * [http://www.fastcgi.com/ FastCGI]-совместимый web-сервер (смотрите TracFastCgi) * [https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html AJP]-совместимый web-сервер (смотрите [trac:TracOnWindowsIisAjp TracOnWindowsIisAjp]) * Microsoft IIS с FastCGI и FastCGI-to-WSGI шлюзом (смотрите [trac:CookBook/Installation/TracOnWindowsIisWfastcgi IIS с FastCGI]) * CGI-совместимый web-сервер (смотрите TracCgi), '''но использование Trac в качестве cgi-скрипта сильно обескураживает''', лучше используйте одну из предыдущих опций. ==== Прочие пакеты Python * [http://babel.edgewall.org Babel], версия 0.9.6 или >= 1.3, необходим для поддержки переводов * [http://docutils.sourceforge.net/ docutils], версия >= 0.3.9 для WikiRestructuredText. * [http://pygments.org Pygments] для [подсветки синтаксиса TracSyntaxColoring]. * [http://pytz.sf.net pytz] для получения полного списка временных зон, иначе Trac выдаст ограниченный список временных зон в соответствии со своей внутренней реализацией. {{{#!div style="border: 1pt dotted; margin: 1em" **Внимание**: Доступные версии данных зависимостей не обязательно взаимозаменяемы, поэтому обратите внимание на номера версий. Если у вас возникли проблемы с работой Trac, пожалуйста, ещё раз проверьте все зависимости, прежде чем обращаться за помощью в [trac:MailingList] или [trac:IrcChannel]. }}} Пожалуйста обратитесь к документации этих пакетов, чтобы найти информацию каким наилучшим способом они могут быть установлены. Дополнительно, большинство из [trac:TracInstallPlatforms платформо-специфических инструкций] так же описывают установку этих зависимостей. Однако имейте в виду, что информация там ''вероятно, касается более старых версий Trac, чем та, которую вы устанавливаете''. == Установка Trac Инструмент командной строки [TracAdmin trac-admin], используется для создания и поддержки [TracEnvironment проектного окружения] ,а также [TracStandalone tracd] автономный сервер устанавливаются вместе с Trac. Существует несколько способов установки Trac. В данном руководстве предполагается, что у вас есть права пользователя `root` или возможность использовать утилиту `sudo`. Umask `0002` должна использоваться для обычной установки на Unix-подобные платформы. === Использование `easy_install` Trac может быть установлен из PyPI или Subversion репозитария с помощью утилит пакета [https://pypi.org/project/setuptools setuptools]. Вот несколько примеров: - Установка последней стабильной версии Trac: {{{#!sh $ easy_install Trac }}} - Установка последней версии находящейся в разработке: {{{#!sh $ easy_install https://download.edgewall.org/trac/Trac-latest-dev.tar.gz }}} Обратите внимание, что в этом случае у вас не будет возможности запустить локализованную версию Trac; либо используйте стабильную версию, либо выполните установку из исходных файлов Более подробная информация доступна на странице [trac:wiki:setuptools setuptools]. {{{#!div style="border: 1pt dotted; margin: 1em" **Предупреждение Setuptools:** Если ваша версия setuptools находится в диапазоне от 5.4 до 5.6, переменная окружения `PKG_RESOURCES_CACHE_ZIP_MANIFESTS` должна быть установлена, воизбежание существенной потери производительности. Подробнее смотрите [#DeployingTrac Deploying Trac]. }}} === Использование `pip` 'pip' это замена easy_install, которая очень полезна для быстрой установки пакетов Python. Для установки и запуска Trac менее чем за 5 минут: Предполагаем что вы хотите видеть результат работы pip в `/opt/user/trac` {{{#!sh $ pip install trac psycopg2 }}} или {{{#!sh $ pip install trac mysql-python }}} Убедитесь, что заголовочные файлы, характерные для вашей ОС, доступны pip для выполнения автоматической сборки библиотек PostgreSQL (`libpq-dev`) или MySQL (`libmysqlclient-dev`). pip автоматически распознает все необходимые зависимости (такие как Genshi, pygments и т.д.), скачает последние версии пакетов с pypi.python.org и самостоятельно установит их в `/opt/user/trac`. Все команды (`tracd`, `trac-admin`) будут доступны из `/opt/user/trac/bin`. Они так же могут использоваться для `mod_python` (при использовании директивы `PythonHandler`) и `mod_wsgi` (при использовании директивы `WSGIDaemonProcess`). Дополнительно, с помощью pip вы можете установить некоторые подключаемые модули Trac (перечисленные [https://pypi.python.org/pypi?:action=browse&show=all&c=516 здесь]) === Сборка из исходных файлов Так же доступна типичная для Python установка из базовой директории с исходными файлами. Вы можете получить архивы .tar.gz или .zip соответствующей версии (например, `Trac-1.0.tar.gz`) на странице [trac:TracDownload], или можете скачать исходные файлы непосредственно из репозитария. Смотрите подробнее [trac:TracRepositories#OfficialSubversionrepository TracRepositories]. {{{#!sh $ python ./setup.py install }}} ''Вам нужны права root или эквивалентные для выполнения этого шага.'' Данная команда выполнит байт-компиляцию исходного кода на Python и установить его как файл .egg или каталог в директорию `site-packages` вашего дистрибутива Python. Файл .egg будет также содержать все стандартные ресурсы, необходимые Trac, такие как `htdocs` и `templates`. Если вы выполняете установку из исходных файлов и хотите добавить в Trac поддержку других языков, убедитесь что пакет Babel установлен. Только после этого, выполните команду `install` (или просто выполните команду `install` повторно если до этого пакет Babel не был у вас установлен): {{{#!sh $ python ./setup.py install }}} Кроме того, вы можете выполнить команду `bdist_egg` и скопировать файл .egg из каталога `dist/` в любое расположение на ваш выбор, а так же можете создать установочный файл Windows (`bdist_wininst`). === Использование установщика В операционной системе Windows, Trac может быть установлен с помощью стандартного установщика .exe, доступного на странице [trac:TracDownload]. Установочные файлы доступны для обеих архитектур Python 32- и 64-битной. Убедитесь что установочные файлы соответствуют вашей архитектуре Python. === Использование менеджера пакетов Trac может быть доступен в репозитарии пакетов для вашей системы. В любом случае примите к сведению, что версия предоставляемая вашим менеджером пакетов, скорее всего не будет последним доступным релизом. === Расширенные опции `easy_install` Для установки Trac в нестандартное расположение, или для получения информации по дополнительным параметрам установки, выполните команду: {{{#!sh $ easy_install --help }}} Так же смотрите [https://docs.python.org/2/install/index.html Установка Модулей Python] для подробной информации. Особенно вас может заинтересовать опция: {{{#!sh $ easy_install --prefix=/path/to/installdir }}} или, при установке Trac в операционной системе Mac OS X: {{{#!sh $ easy_install --prefix=/usr/local --install-dir=/Library/Python/2.6/site-packages }}} {{{#!div style="border: 1pt dotted; margin: 1em" **Примечание Mac OS X:** В Mac OS X 10.6, запуск команды `easy_install trac` выполнит установку в каталоги `/usr/local` и `/Library/Python/2.6/site-packages` по-умолчанию. Команды `tracd` и `trac-admin` будут расположены в `/usr/local/bin`, а библиотеки и зависимости Trac в `/Library/Python/2.6/site-packages`, который Apple предпочитает в качестве хранилища по-умолчанию, для сторонних пакетов и приложений Python. }}} == Создание окружения проекта [TracEnvironment Окружение Trac] - это серверное окружение, в котором Trac хранит информацию такую как вики страницы, карточки, отчёты, настройки и т.д. Окружение - это по существу директория, в которой содержится [TracIni конфигурационный файл], а также другие файлы и директории. Новое окружение создаётся с помощью [TracAdmin trac-admin]: {{{ $ trac-admin /path/to/myproject initenv }}}