Ubuntu搭建trac平台步骤

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

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

相关文章
|
8月前
|
Ubuntu 关系型数据库 MySQL
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
121 2
|
8月前
|
存储 Ubuntu
百度搜索:蓝易云【在ubuntu系统下安装配置onedrive步骤】
现在,你已经成功在Ubuntu系统下安装和配置了OneDrive,可以使用该工具与OneDrive云端存储进行同步。
124 0
|
8月前
|
Ubuntu Python
百度搜索:蓝易云【Ubuntu安装Anaconda详细步骤】
现在,你已经成功在Ubuntu上安装了Anaconda。你可以使用Anaconda来管理Python环境和安装各种数据科学工具和库。
98 0
|
Ubuntu 关系型数据库 MySQL
构建高效问题解答平台:使用Cpolar和Tipas在Ubuntu上搭建专属问答网站-1
构建高效问题解答平台:使用Cpolar和Tipas在Ubuntu上搭建专属问答网站
|
4月前
|
存储 Prometheus 监控
在Ubuntu系统上安装与配置Prometheus的步骤
通过以上步骤,您应该已经成功在Ubuntu系统上安装并配置了Prometheus。您现在可以开始使用Prometheus收集和分析您的系统和应用程序的指标数据了。
285 1
|
5月前
|
Ubuntu Linux 开发工具
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
|
4月前
|
Ubuntu 开发工具 git
在Ubuntu上部署BOA服务器的步骤
部署BOA服务器是一个涉及多个步骤的过程,包括系统更新、安装依赖、下载和编译源代码、配置服务器以及启动和验证。遵循上述步骤,可以在Ubuntu系统上成功部署BOA服务器,为开发和测试提供一个轻量级的Web服务器环境。
112 0
|
8月前
|
Ubuntu 计算机视觉 C++
Ubuntu 20.04 编译 Opencv 4.11,详细步骤(带图)及报错解决,我的踩坑之旅~
Ubuntu 20.04 编译 Opencv 4.11,详细步骤(带图)及报错解决,我的踩坑之旅~
4818 0
|
7月前
|
缓存 Ubuntu 应用服务中间件
Ubuntu 22.04 上安装、配置和使用 Nginx 可以分为几个简单的步骤
Ubuntu 22.04 上安装、配置和使用 Nginx 可以分为几个简单的步骤
|
7月前
|
Ubuntu Python
蓝易云 - minion在ubuntu上的搭建步骤
这样,你就在Ubuntu上搭建了Minion。你可以通过浏览器访问"http://localhost:8000"来使用Minion。
53 0