其他相关网页:

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的数据库了,如果再次使用,会出现数据库冲突,无法建立项目。所以我们要先删除之前的项目和数据库,然后再建立两个新的数据库:

 

  1. sudo  rm  -rf  /var/www/trac  (删除之前的trac项目)  
  2. sudo  -u  postgres  sh (切换到postgres用户)  
  3. createuser  -A  -D  -P  hcx(创建hcx用户,并提示输入密码,请输入123456 )  
  4. Shall the new role be allowed to create more new roles? (y/n)  y  
  5. dropdb  trac   (删除之前的数据库)  
  6. createdb  -O  hcx  trac (创建trac数据库)  
  7. createdb  -O  hcx  trac2 (创建trac2数据库)  
  8. exit (退出postgres用户,回到正常用户提示行)  

        数据库创建完毕,然后就可以开始创建项目了。创建第一个项目:

  1. cd  /home  
  2. sudo  mkdir  trac  
  3. cd  trac  
  4. sudo  mkdir  project1  
  5. sudo  chown  -R  www-data:www-data  project1  
  6. sudo  -u  www-data  trac-admin  project1  initenv  
  7. Project Name [My Project]> project1(在这里输入你的项目名称)  
  8. Database connection string [sqlite:db/trac.db]> postgres://hcx:123456@localhost/trac (输入PostgreSQL数据库的位置)  
  9. Repository type [svn]>  
  10. Path to repository [/path/to/repos]>   
  11. Templates directory [/usr/share/trac/templates]>  

        创建第二个项目:

 

 

  1. sudo  mkdir  project2  
  2. sudo  chown  -R  www-data:www-data  project2  
  3. sudo  -u  www-data  trac-admin  project2  initenv  
  4. Project Name [My Project]> project1(在这里输入你的项目名称)  
  5. Database connection string [sqlite:db/trac.db]> postgres://hcx:123456@localhost/trac2 (输入PostgreSQL数据库的位置)  
  6. Repository type [svn]>  
  7. Path to repository [/path/to/repos]>   
  8. Templates directory [/usr/share/trac/templates]>  

         创建完毕后,需要配置服务器:

 

 

  1. sudo  a2enmod  python  
  2. sudo  gedit  /etc/apache2/sites-available/trac  

      然后编辑如下的配置:

 

 

  1. <VirtualHost 192.168.0.108:80>  
  2.     ServerName   hcx_project  
  3.     ServerAdmin   407643110@qq.com  
  4.     DocumentRoot   /home/trac  
  5.   
  6.     <Directory "/home/trac/project1">  
  7.          Options Indexes FollowSymLinks MultiViews  
  8.          AllowOverride None  
  9.     #   Order allow,deny  
  10.     #   allow from 127.0.0.1 192.168.0.0/24 192.168.1.0/24   
  11.     </Directory>  
  12.   
  13.     <Directory "/home/trac/project2">  
  14.          Options Indexes FollowSymLinks MultiViews  
  15.          AllowOverride None  
  16. #        Order allow,deny  
  17. #        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  
  18.     </Directory>  
  19.   
  20.     <Location />  
  21.         SetHandler mod_python  
  22.         PythonInterpreter main_interpreter  
  23.         PythonHandler trac.web.modpython_frontend  
  24.         PythonOption TracEnvParentDir /home/trac/ (这里一定要改成TracEnvParentDir)  
  25.         PythonOption TracUriRoot /  
  26.         SetEnv PYTHON_EGG_CACHE /tmp  
  27.     </Location>  
  1.     <Location /project1/login>  
  2.         AuthType Basic  
  3.         AuthName "TEST1 TRAC"  
  4.         AuthUserFile /home/trac/project1/.htpasswd  
  5.         Require Valid-user  
  6.     </Location>  
  7.   
  8.   
  9.     <Location /project2/login>  
  10.         AuthType Basic  
  11.         AuthName "TEST2 TRAC"  
  12.         AuthUserFile /home/trac/project2/.htpasswd  
  13.         Require Valid-user  
  14.     </Location>  
  15.   
  16.   
  17.     ErrorLog "/var/log/apache2/trac_errors.log"  
  18.     CustomLog "/var/log/apache2/trac_accesses.log" common     
  19. </VirtualHost>  

        设置Trac的访问权限(添加用户)

 

 

  1. sudo  htpasswd  -c  /var/www/ trac/project1/.htpasswd hcx  
  2. sudo htpasswd -c  /var/www/trac/project2/.htpasswd hcx

需要为project1添加多个用户时,可以:     (注意:下面没有“-c “参数,-c会将之前的用户删除)

 

  1. sudo  htpasswd   /var/www/ trac/project1/.htpasswd bob  
  2. sudo htpasswd   /var/www/trac/project1/.htpasswd mary

  查看用户:vim /var/www/trac/project1/.htpasswd

 将该虚拟主机激活:

 

 

  1. sudo  a2ensite  trac  
  2. sudo  /etc/init.d/apache2  restart  

        至此,两个trac全部安装完毕,在浏览器中输入本机的IP地址,可以看到两个项目的目录,就可以分别登录了: