当前位置: 首页 > 工具软件 > Trac > 使用案例 >

trac linux,Ubuntu搭建trac平台步骤

漆雕皓轩
2023-12-01

Ubuntu搭建trac平台步骤:

注:如果不用mysql模式,mysql相关均可不装

# apt-get install apache2

# apt-get install libapache2-mod-python

# apt-get install libapache2-mod-authnz-external

# a2enmod authnz_ldap

# apt-get install mysql-server-5.5  (设置root密码,如:123456)

# apt-get install python-mysqldb

# apt-get install python-babel

# apt-get install trac

# mysql -u root -p123456

mysql> create database trac;

mysql> grant all on trac.* to tracadmin@'localhost' identified by '123456';

mysql>  flush privileges;

mysql> quit

# mkdir -p /var/www/ming   (创建trac项目ming,多个trac得建多个目录,并做initenv操作)

# trac-admin /var/www/ming initenv

ming

mysql://tracadmin:123456@127.0.0.1/trac   (或 sqlite:db/trac.db,用mysql多个trac得建多个数据库,sqlite可用1个数据库)

# chown -R www-data:www-data /var/www/ming  (一定要记得修改权限)

#  vi /etc/apache2/http.conf   (要建多个trac,上面操作后把里面内容复制一份即可)

按a或i进入编辑模式

SetHandler mod_python

PythonInterpreter main_interpreter

PythonHandler trac.web.modpython_frontend

PythonOption  TracEnv /var/www/ming

PythonOption  TracUriRoot /

SetEnv  PYTHON_EGG_CACHE /tmp

  (将该下所有登录控制写到上面/框架里可实现必须登录才能打开trac页面)

AuthType Basic

AuthName "Trac"

AuthBasicProvider "ldap"

AuthLDAPURL  "ldap://10.0.0.3:3268/DC=ming,dc=com?sAMAccountName?sub?(objectClass=user)"   (只允许某个ou人员登录,ldap://10.0.0.3:3268/ou=aa,dc=ming,dc=com?sAMAccoutName?sub?,后面为require valid-user)

AuthLDAPBindDN  yang@ming.com

AuthLDAPBindPassword "123456"

authzldapauthoritative Off

require valid-user (valid-user为所有用户,ldap-user为单个用户,多个用户中间空格隔开,ldap-group为某个ou)

其它不变

按Esc键退出编辑模式

:wq (保存并退出)

# service apache2 restart

Ubuntu 16.04上配置(16.04上不认httpd.conf):

# vi /etc/apache2/sites-available/wiki.conf

SetHandler mod_python

PythonInterpreter main_interpreter

PythonHandler trac.web.modpython_frontend

PythonOption TracEnv /srv/trac/projects/ming

#   PythonOption TracUriRoot /ASIC

AuthType Basic

AuthName "ming"

AuthBasicProvider "ldap"

AuthLDAPURL "ldap://10.0.0.3:3268/Dc=ming,dc=com?sAMAccountName?sub?(objectClass=user)"

AuthLDAPBindDN       ming

AuthLDAPBindPassword "xxxxxx"

##require valid-user CN=Users,dc=ming,dc=com

require valid-user

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

:wq

# cd /etc/apache2/site-enabled/

# ln -s /etc/apache2/site-available/wiki.conf .

WSGI模块搭建trac:

# apt-get install libapache2-mod-wsgi

# vi /var/www/trac.wsgi

import sys

sys.stdout = sys.stderr

import os

os.environ[ 'TRAC_ENV_PARENT_DIR' ] = '/srv/trac_root'

os.environ[ 'PYTHON_EGG_CACHE' ] = '/tmp'

import trac.web.main

application=trac.web.main.dispatch_request

:wq

# vi /etc/apache2/sites-available/ming

WSGIScriptAlias / /srv/trac_root/ming2.wsgi

WSGIApplicationGroup %{GLOBAL}

Order deny,allow

Allow from all

  (将该下所有登录控制写到上面/框架里可实现必须登录才能打开trac页面)

AuthType Basic

AuthName "Trac"

AuthBasicProvider "ldap"

AuthLDAPURL  "ldap://10.0.0.3:3268/DC=ming,dc=com?sAMAccountName?sub?(objectClass=user)"   (只允许某个ou人员登录,ldap://10.0.0.3:3268/ou=aa,dc=ming,dc=com?sAMAccoutName?sub?,后面为require valid-user)

AuthLDAPBindDN  yang@ming.com

AuthLDAPBindPassword "123456"

authzldapauthoritative Off

require valid-user (valid-user为所有用户,ldap-user为单个用户,多个用户中间空格隔开,ldap-group为某个ou)

:wq

# cd /etc/apache2/sites-enabled

# ln -s ../sites-available/ming .

# service apache2 restart

注:

如果报错:TimeoutError:Unable to get database connection within 0 seconds. (TracError

(,))

是trac.ini的权限没设置好

# chown www-data:www-data /var/www/ming/conf/trac.ini即可

给某个账号管理员权限(可以是域账号)

# trac-admin /var/www/ming permission add zhi.yang TRAC_ADMIN

(会多出删除页面、删除附件等按钮)

删除管理员权限

# trac-admin /var/www/ming permission remove zhi.yang TRAC_ADMIN

查看所有账号的权限:

# trac-admin /var/www/ming permission list

去掉匿名访问wiki的权限:

# trac-admin /var/www/ming permission remove remove anonymous WIKI_VIEW

trac删除附件(上面给过管理员权限,就不需要命令了):

# trac-admin /var/www/ming  attachment remove wiki:WikiStart aa.rar

新建wiki页面:

编辑原有页面,在自己想放的位置输入"[wiki:aa]",(aa为页面名),点击保存,aa即会显示会链接,然后点击链接即会让新建页面

 类似资料: