设为首页 收藏本站
查看: 713|回复: 0

[经验分享] Ubuntu搭建trac平台步骤

[复制链接]

尚未签到

发表于 2018-5-2 08:22:21 | 显示全部楼层 |阅读模式
  

  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即会显示会链接,然后点击链接即会让新建页面
  

  

  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-454657-1-1.html 上篇帖子: Ubuntu下安装Zend Studio 下篇帖子: ubuntu 14.04.1 kvm
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表