您的位置:首页 > 其它

多trac的安装和配置

2011-12-11 21:55 260 查看
多个trac的安装有一点复杂,关键是设置上会产生冲突,需要多多注意。具体的安装方法和一个trac的安装区别不是很大,需要注意的是每个trac项目必须使用自己的数据库,而且所有trac要在同一个父目录下。下面是我创建两个trac的过程,创建父路径在/home/trac下,两个trac的名字分别叫project1和project2:

首先要创建两个数据库,因为在之前的trac创建过程中,我们已经使用过了名叫trac的数据库了,如果再次使用,会出现数据库冲突,无法建立项目。所以我们要先删除之前的项目和数据库,然后再建立两个新的数据库:

sudo  rm  -rf  /home/hust_smartcar/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  /home/hust_smartcar/ trac/.htpasswd hcx
将该虚拟主机激活:

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: