內容 |
|
谢谢!问题解决,另外我想了解一下如何从trac中移除已有的项目以及如何备份和恢复版本库的一些知识。
|
 |
|
我用SVN和TRAC来管理多达21个项目库时,postgresql 数据库出现:“致命错误:超过了非超级用户的连接限制”,再无法增加新的项目,如何解决这个问题?
其英文提示为“FATAL: connection limit exceeded for non-superusers ”
|
 |
|
配置完成后发现在trac中任何登陆的人均可查看所有代码,我希望能够做到与SVN一样的权限控制,有什么办法吗?
[/]
admin = rw
user1 = rw
[project1:/]
admin = rw
user1 = rw
user2 =rw
[project2:/]
admin = rw
user2 =rw
user1登陆后能够浏览project2的所有代码,能够控制不让他浏览project2代码吗?
|
 |
|
我查了数据库日志:
应当是“致命错误,数据库 "template1 "不存在”
|
 |
|
在执行./newtracdb.sh project1时总是出现以下错误:
bash-3.1$ ./newtracdb.sh project1
" 不存在命错误: 数据库 "template1
" 不存在命错误: 数据库 "template1
" 不存在命错误: 数据库 "template1
" 不存在命错误: 数据库 "template1
但是将命令分拆,一行一行的执行却没有问题,很不方便。
bash-3.1$ psql -c "create user trac_project1 createdb;" template1
CREATE ROLE
bash-3.1$ psql -c "create database trac_project1 with encoding 'unicode';" -U trac_project1 template1
CREATE DATABASE
bash-3.1$ psql -c "alter user trac_project1 nocreatedb;" template1
ALTER ROLE
bash-3.1$ psql -c "alter user trac_project1 with encrypted password 'trac_project1';" template1
ALTER ROLE
请问是什么原因?
|
 |
|
能否再问一个问题:
在使用http://localhost/svn/project1访问时没有权限控制,也就是说任何人都可以访问代码。
因此我将/home/trac/projects/svnaccess中的内容进行修改:
[/]
admin = rw
[project1:/]
admin = rw
user1 = rw
user2 =rw
将其中的* = r 删除,之后用http://localhost/svn/project1访问就出现
Forbidden
You don't have permission to access /svn/project1 on this server.
而没有出现认证对话框,有什么办法可让其出现认证框以输入user passwd。
|
 |
|
thanks!
已解决,是因为SELinux的原因
|
 |
|
按照第1点执行,检查第2点中提到的/etc/httpd/conf.d/python.conf 及/etc/httpd/conf.d/subversion.conf 文件,设定与回复中的内容一致,重启httpd后,情况依旧。
我估计问题出在執行trac_setup.sh中的指令,因为我是用rpm包安装的,可能的原因有3个:
1、libxml2-python-2.6.26-2.1.2.i386.rpm这个包对不对,它是否是适合python-2.6的而不是python-2.4的。
2、subversion默认配置文件的位置不对,我用rpm -ql subversion 检查发现
/etc/subversion
/usr/bin/svn
usr/bin/svnadmin
......
其中subversion的配置文件在/etc/subversion中,而按照上面的安装过程配置文件应是在/etc/httpd/conf.d/subversion.conf
3、在您文中subversion安装应当是
yum -y install subversion mod_dav_svn swig,是在一行中完成的,而我安装是rpm -ivh swig-1.3.29-2.el5.i386.rpm,是分开安装的。
不知道是否是上述原因导致错误出现?
|
 |
|
按照您的说法我试了一下,问题依旧。您回复:
“請問您的svnaccess(依您實際安裝位置而定,本文是位於/var/trac/projects/svnaccess)內的設定為何?
有無加入* = r的設定在[/]及[project1:/]下?
另外您可以執行一下psql -l來確認一下trac_project1這個資料庫存在嗎?如果存在您可以將它刪除(dropdb trac_project1;dropuser trac_project1)再重新建立一次(newtracdb.sh),然後再執行一次newproject.sh,完成後再重新啟動一次Apache(service httpd restart)。”
我实际的位置“/home/trac/projects/svnaccess”,经检查svnaccess文件内容无错误,其内容如下:
[/]
admin =rw
[project1:/]
* = r
admin = rw
user1 = rw
user2 =rw
使用psql –l后发现数据库已经存在了,按上述要求重建在执行上述删除和创建过程后,依然如故。
下面我介绍一下我的安装过程:
因为我安装的是RHEL5.0,没有REDHAT的安装好因此无法使用yum 命令从redhat 升级,因此我考虑使用安装光盘内的rpm 安装文件。
1、 在安装RRHEL5.0 时选择安装SUBVERSION、PostgreSQL、python-2.4.3
2、 从光盘中拷贝出mod_python-3.2.8-3.1.i386.rpm、libxml2-python-2.6.26-2.1.2.i386.rpm、mod_python-3.2.8-3.1.i386.rpm、swig-1.3.29-2.el5.i386.rpm、python-devel-2.4.3-19.el5.i386.rpm并用rpm –ivh 指令安装。
3、 安装后检查系统内的软件安装情况:
httpd Version : 2.2.3 Release : 6.el5
python Version : 2.4.3 Release : 19.el5
python-devel Version : 2.4.3 Release : 19.el5
mod_python Version : 3.2.8 Release : 3.1
subversion Version : 1.4.2 Release : 2.el5
mod_dav_svn Version : 1.4.2 Release : 2.el5
swig Version : 1.3.29 Release :2.el5
4、 从网络上下载的软件包如下:
clearsilver-0.10.5.tar.gz
docutils-snapshot.tgz
egenix-mx-base-3.0.0.linux-i686-py2.4_ucs4.prebuilt.zip
egenix-mx-base-3.1.0.linux-i686-py2.4_ucs4.prebuilt.zip
enscript-1.6.4.tar.gz
ez_setup.py
pyPgSQL-2.5.1.tar.gz
SilverCity-0.9.7.tar.gz
TracGantt-0.3.2a-py2.4.egg
Trac0.10.4zh3
5、 按照您文章中的顺序进行安装,区别在于第2点中的安装包是用rpm安装,不是您文中使用的yum 指令
6、 安装完trac_setup.sh中的软件后,再执行./newtracdb.sh project1(有点小问题,我在postgres下一条一条执行的,也创建了数据库和用户), 再执行./newproject.sh project1 "My Project1" user1 并得到trac成功信息
至此,我觉得可以用http://localhost/svn/project1来查看源码,而结果就是上面的情况,用http://localhost/ projects /project1 来查看TRAC时出现Environment not found,
|
 |
|
谢谢你的回复,我在执行完trac_setup.sh中的过程(大部分采用RHEL5中的RPM包安装)以及执行 1. ./newproject.sh project1 "My Project1" user1 没有出问题,之后访问http://localhost/svn/project1出现:Forbidden
You don't have permission to access /svn/project1 on this server.
是什么问题?
执行http://localhost/projects/project1时出现:
Environment not found
|
 |
|
|
 |
|
|
 |
|