多trac的安装和配置
其他相关网页:
trac+svn: http://wenku.baidu.com/view/84389a81ec3a87c24028c43f.html
apache(GCI):http://hi.baidu.com/andrew2yang/item/480dc838aaa266c12f8ec25e
trac的安装设置: http://wiki.ubuntu.org.cn/Trac%E7%9A%84%E5%AE%89%E8%A3%85%E8%AE%BE%E7%BD%AE
多个trac的安装有一点复杂,关键是设置上会产生冲突,需要多多注意。具体的安装方法和一个trac的安装区别不是很大,需要注意的是每个trac项目必须使用自己的数据库,而且所有trac要在同一个父目录下。下面是我创建两个trac的过程,创建父路径在/home/trac下,两个trac的名字分别叫project1和project2:
首先要创建两个数据库,因为在之前的trac创建过程中,我们已经使用过了名叫trac的数据库了,如果再次使用,会出现数据库冲突,无法建立项目。所以我们要先删除之前的项目和数据库,然后再建立两个新的数据库:
- sudo rm -rf /var/www/trac (删除之前的trac项目)
- sudo -u postgres sh (切换到postgres用户)
- createuser -A -D -P hcx(创建hcx用户,并提示输入密码,请输入123456 )
- Shall the new role be allowed to create more new roles? (y/n) y
- dropdb trac (删除之前的数据库)
- createdb -O hcx trac (创建trac数据库)
- createdb -O hcx trac2 (创建trac2数据库)
- exit (退出postgres用户,回到正常用户提示行)
数据库创建完毕,然后就可以开始创建项目了。创建第一个项目:
- cd /home
- sudo mkdir trac
- cd trac
- sudo mkdir project1
- sudo chown -R www-data:www-data project1
- sudo -u www-data trac-admin project1 initenv
- Project Name [My Project]> project1(在这里输入你的项目名称)
- Database connection string [sqlite:db/trac.db]> postgres://hcx:123456@localhost/trac (输入PostgreSQL数据库的位置)
- Repository type [svn]>
- Path to repository [/path/to/repos]>
- Templates directory [/usr/share/trac/templates]>
创建第二个项目:
- sudo mkdir project2
- sudo chown -R www-data:www-data project2
- sudo -u www-data trac-admin project2 initenv
- Project Name [My Project]> project1(在这里输入你的项目名称)
- Database connection string [sqlite:db/trac.db]> postgres://hcx:123456@localhost/trac2 (输入PostgreSQL数据库的位置)
- Repository type [svn]>
- Path to repository [/path/to/repos]>
- Templates directory [/usr/share/trac/templates]>
创建完毕后,需要配置服务器:
- sudo a2enmod python
- sudo gedit /etc/apache2/sites-available/trac
然后编辑如下的配置:
- <VirtualHost 192.168.0.108:80>
- ServerName hcx_project
- ServerAdmin 407643110@qq.com
- DocumentRoot /home/trac
- <Directory "/home/trac/project1">
- Options Indexes FollowSymLinks MultiViews
- AllowOverride None
- # Order allow,deny
- # allow from 127.0.0.1 192.168.0.0/24 192.168.1.0/24
- </Directory>
- <Directory "/home/trac/project2">
- Options Indexes FollowSymLinks MultiViews
- AllowOverride None
- # Order allow,deny
- # allow from 127.0.0.1 192.168.0.0/24 192.168.1.0/24 218.199.23.94 115.156.219.36 115.156.219.35
- </Directory>
- <Location />
- SetHandler mod_python
- PythonInterpreter main_interpreter
- PythonHandler trac.web.modpython_frontend
- PythonOption TracEnvParentDir /home/trac/ (这里一定要改成TracEnvParentDir)
- PythonOption TracUriRoot /
- SetEnv PYTHON_EGG_CACHE /tmp
- </Location>
- <Location /project1/login>
- AuthType Basic
- AuthName "TEST1 TRAC"
- AuthUserFile /home/trac/project1/.htpasswd
- Require Valid-user
- </Location>
- <Location /project2/login>
- AuthType Basic
- AuthName "TEST2 TRAC"
- AuthUserFile /home/trac/project2/.htpasswd
- Require Valid-user
- </Location>
- ErrorLog "/var/log/apache2/trac_errors.log"
- CustomLog "/var/log/apache2/trac_accesses.log" common
- </VirtualHost>
设置Trac的访问权限(添加用户)
- sudo htpasswd -c /var/www/ trac/project1/.htpasswd hcx
- sudo htpasswd -c /var/www/trac/project2/.htpasswd hcx
需要为project1添加多个用户时,可以: (注意:下面没有“-c “参数,-c会将之前的用户删除)
- sudo htpasswd /var/www/ trac/project1/.htpasswd bob
- sudo htpasswd /var/www/trac/project1/.htpasswd mary
查看用户:vim /var/www/trac/project1/.htpasswd
将该虚拟主机激活:
- sudo a2ensite trac
- sudo /etc/init.d/apache2 restart
至此,两个trac全部安装完毕,在浏览器中输入本机的IP地址,可以看到两个项目的目录,就可以分别登录了:
最新文章
- NDK开发之一
- App界面交互设计规范
- 搭建XMPP协议,实现自主推送消息到手机
- 使用自定义的BaseAdapter实现LIstView的展示
- thinkphp xml编码函数
- TCP状态转换图
- background-position 使用方法具体介绍
- Sliverlight实例之 绘制扇形和环形图
- Eclipse TypeScript 安装
- Android执行时ART载入类和方法的过程分析
- Python_正则表达式样例
- 进阶-JMS 知识梳理
- DRF 商城项目 - 购物( 购物车, 订单, 支付 )逻辑梳理
- python requests下载图片
- mybatis invalid comparison: java.sql.Timestamp and java.lang.String报错解决方法
- 代码,java_web
- 有关svn的报错
- REST SOAP Thrift 对比
- C语言内存四区的学习总结(一)---- 静态区
- CountDownLatch、CyclicBarrier和Semaphore 使用示例及原理
热门文章
- nginx 根据url访问次数限制
- RobotFramework自动化4-批量操作案例【转载】
- spring JPA写法一种
- ARC 098 D - Xor Sum 2
- Nginx的server为0.0.0.0/0.0.0.1的作用?
- Systemd入门教程:实战篇(转)
- 阿里云ECS在CentOS 6.9中使用Nginx提示:nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)的解决方法
- C#实现简单的字符串加密
- 【MySQL性能优化】MySQL常见SQL错误用法
- sql server 性能调优 资源等待之内存瓶颈的三种等待类型