Ubuntu搭建trac平台步骤

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

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-setuptools


# easy_install Genshi==0.6


# easy_install Babel==0.9.6


# easy_install Trac==0.12.2


# 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进入编辑模式



<Location /ming>

       SetHandler mod_python

       PythonInterpreter main_interpreter

       PythonHandler trac.web.modpython_frontend

       PythonOption  TracEnv /var/www/ming

       PythonOption  TracUriRoot /

       SetEnv  PYTHON_EGG_CACHE /tmp

</Location>


<Location /ming/login>   (将该下所有登录控制写到上面/框架里可实现必须登录才能打开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)

</Location>


其它不变


按Esc键退出编辑模式


:wq (保存并退出)


# service apache2 restart



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


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


<VirtualHost *:80>


<Location /ming>

   SetHandler mod_python

   PythonInterpreter main_interpreter

   PythonHandler trac.web.modpython_frontend

   PythonOption TracEnv /srv/trac/projects/ming

#   PythonOption TracUriRoot /ASIC

</Location>


<Location /ming/login>

        AuthType Basic

        AuthName "ming"

        AuthBasicProvider "ldap"

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

        AuthLDAPBindDN       trac@spreadtrum.com

        AuthLDAPBindPassword "123@abAB$0"

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

        require valid-user

</Location>



ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined


</VirtualHost>


: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

    <Directory /srv/trac_root/ming>

    WSGIApplicationGroup %{GLOBAL}

    Order deny,allow

    Allow from all

    </Directory>


<Location /ming/login>   (将该下所有登录控制写到上面/框架里可实现必须登录才能打开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)

</Location>

:wq


# cd /etc/apache2/sites-enabled

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

# service apache2 restart



注:


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


(<babel.support.LazyProxy object at 0x7fe1d6e089b0>,))


是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



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


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


新建wiki页面:


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

本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/1614325如需转载请自行联系原作者


yangzhimingg

相关文章
|
7月前
|
Ubuntu 关系型数据库 MySQL
构建高效问题解答平台:使用Cpolar和Tipas在Ubuntu上搭建专属问答网站-1
构建高效问题解答平台:使用Cpolar和Tipas在Ubuntu上搭建专属问答网站
|
Ubuntu Windows
Qt开发笔记之编码h264码流并封装mp4(六):ubuntu平台编译mp4v2并封装mp4
Qt开发笔记之编码h264码流并封装mp4(六):ubuntu平台编译mp4v2并封装mp4
Qt开发笔记之编码h264码流并封装mp4(六):ubuntu平台编译mp4v2并封装mp4
|
Ubuntu 编译器 芯片
FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
|
7月前
|
Ubuntu
百度搜索:蓝易云【ubuntu 20.04 aarch64 平台交叉编译 glib教程!】
现在,你已经完成了在Ubuntu 20.04 aarch64平台上交叉编译glib的过程。你可以使用aarch64平台的交叉编译工具链来编译和构建适用于该平台的应用程序。记得参考glib的文档和相关资源,以获取更多关于配置和使用的详细信息。
118 1
|
7月前
|
Ubuntu 安全
构建高效问题解答平台:使用Cpolar和Tipas在Ubuntu上搭建专属问答网站-2
构建高效问题解答平台:使用Cpolar和Tipas在Ubuntu上搭建专属问答网站
|
存储 Ubuntu
Ubuntu用Apache2快速搭建一个HTTP文件服务器
Ubuntu用Apache2快速搭建一个HTTP文件服务器
427 0
|
Ubuntu 安全
Ubuntu 20.04 搭建NFS文件系统
Ubuntu 20.04 搭建NFS文件系统
252 0
|
Ubuntu Java 应用服务中间件
自己买的服务器Ubuntu上搭建tomcat详细步骤
一、选购服务器 1.这一步就不说了,主要是以下步骤; 2.登录服务器 我选用的登陆方式为FinalShell,你也可以用MobaXterm;
238 0
自己买的服务器Ubuntu上搭建tomcat详细步骤
|
编解码 Kubernetes Ubuntu
VirtualBox 仅主机网络配置,搭建Ubuntu系统
需要系统同时支持 x86_64 和 arm64。我们选择 Ubuntu 22.04 Jammy Jellyfish 桌面版(https://ubuntu.com/download/desktop),非常适合运行 Kubernetes,方便调试和测试。
362 0
VirtualBox 仅主机网络配置,搭建Ubuntu系统
|
负载均衡 NoSQL 算法
Ubuntu搭建Redis集群
Ubuntu搭建Redis集群
324 0
Ubuntu搭建Redis集群