Назад | Перейти на главную страницу

Установить Trac без настройки VirtualHost в Apache?

Я пытаюсь настроить Trac, чтобы проверить его функциональность, и единственные руководства, которые я могу найти в Интернете, рассказывают о настройке VirtualHost. Прямо сейчас у меня сложилось впечатление, что мне нужен доступ к DNS-серверу для правильного использования директивы VirtualHost, и по разным причинам у меня нет доступа к нему. Можно ли настроить Trac без настройки VirtualHost? Мне не повезло. Если я запускаю сайт с помощью tracd, он работает - это означает, что по крайней мере часть его настроена правильно.

Прямо сейчас все, что у меня есть, это директива каталога Apache, указывающая на / pathToTracSite / htdocs /, и когда я посещаю местоположение трассировки, все, что я получаю при просмотре сайта из браузера, - это пустой каталог (что имеет смысл, потому что htdocs / пуст ).

На моем сервере работает Apache2

Я знаю, что мне здесь многого не хватает, потому что я не очень хорошо понимаю систему Apache Trac - любая помощь будет принята с благодарностью.

Если вы хотите, чтобы trac работал быстрее, используйте mod_wsgi (который быстрее, чем mod_python, оба из которых быстрее, чем CGI). Его можно установить как модуль apache из исходного кода или из двоичного пакета (см. Yum или apt-get). При установке MoinMoin я обнаружил, что разница между mod_python и wsgi значительна. Вы только что заметили, что вашим камнем преткновения является то, что веб-приложения Python должны быть настроены в Apache, прежде чем они будут запущены (это не работает как приложение PHP или CGI).

Trac

Чтобы настроить trac для WSGI:

  • создайте каталог apache в вашей установке trac (mkdir / trac / apache)
  • создайте файл wsgi для trac в / trac / apache (перечислены ниже)
  • создайте каталог яйца в вашей установке trac (mkdir / trac / egg)
  • добавьте следующее в свой apache conf (используйте включаемые файлы для удобства чтения)
  • изменить владельца trac на веб-сервер (chown -R apache / trac)

Конфигурация Apache


 WSGIScriptAlias /trac   /trac/apache/trac.wsgi

 ## This is required if you plan to use HTTP authorization. Without it the
 ## user name won't be passed
 WSGIPassAuthorization On

<Directory /trac/apache >
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
    AuthName "Trac at My Company"
    AuthType Basic
    AuthUserFile /var/secure/authfiles/trac-authfile
    Require valid-user
</Directory >

trac.wsgi


import sys
sys.stdout = sys.stderr

import os
os.environ['TRAC_ENV'] = '/trac'
os.environ['PYTHON_EGG_CACHE'] = '/trac/eggs'

import trac.web.main

application = trac.web.main.dispatch_request

Чтобы настроить Trac для mod_python, вы можете следовать инструкциям на TracModPython, скопировано сюда для вашего удовольствия от чтения:


<Location /projects/myproject>
   SetHandler mod_python
   PythonInterpreter main_interpreter
   PythonHandler trac.web.modpython_frontend 
   PythonOption TracEnv /var/trac/myproject
   PythonOption TracUriRoot /projects/myproject
</Location>

Trac также отлично работает в / Location

Вам не нужно вносить изменения в DNS, чтобы использовать виртуальный хост, /etc/hosts запись на вашем клиентском компьютере также будет работать нормально. Вам также не нужно запускать Apache; tracd отлично справится с этой задачей для целей тестирования.

Отличный совет !! У меня были проблемы с запуском Trac на mod_python, и я использовал эти инструкции, чтобы изменить его на mod_wsgi. Но все же внесу некоторые исправления

  1. Используйте apt-get или yum для установки пакета libapache2-mod-wsgi
  2. Установка Trac по существу относится к местоположению ваших проектов, в котором вы сделали свой trac-admin initenv
  3. Apache conf (в ubuntu) находится в папке /etc/apache2/conf.d/. Вам нужно создать файл, скажем, trac, чтобы добавить информацию о маршрутизации. Первый оператор определяет URL-адрес. В приведенном здесь примере / trac сопоставлен с /trac/apache/trac.wsgi, здесь / trac будет корнем вашего веб-сервера.