`
aben328
  • 浏览: 1465906 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类

RHEL5 安装subversion管理平台svnmanager 

    博客分类:
  • SVN
阅读更多

RHEL5 安装subversion管理平台svnmanager  2008-04-25 14:22

字号:    

软件安装列表:

mysql 5.0.22
apache 2.0.59
php-5.1.1
subversion-1.4.4
mod_auth_mysql-3.0.0 
php-pear 

httpd-2.0.59
./configure --prefix=/VDS/APPS/apache2_svn --with-mpm=worker --enable-so --enable-dav --with-ssl --with-port=8091
make && make install

mod_auth_mysql-3.0.0
/VDS/APPS/apache2_svn/bin/apxs -cia -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient mod_auth_mysql.c

错误 :apxs:Error: Command failed with rc=65536

编辑mod_auth_mysql.c,大约111行。

把#include <mysql/mysql.h>改成如下应该就能解决问题了(/usr/local/mysql是我的mysql安装路径,不同的自己改)

#include </usr/local/mysql/include/mysql/mysql.h>


subversion-1.4.4
subversion-deps-1.4.4

./configure --prefix=/VDS/APPS/svn --with-apxs=/VDS/APPS/apache2_svn/bin/apxs --with-ssl --with-zlib --enable-maintainer-mode
最后出现这样提示:
configure: WARNING: we have configured without BDB filesystem support

You don't seem to have Berkeley DB version 4.0.14 or newer
installed and linked to APR-UTIL.  We have created Makefiles which
will build without the Berkeley DB back-end; your repositories will
use FSFS as the default back-end.  You can find the latest version of
Berkeley DB here:
  http://www.sleepycat.com/download/index.shtml
由于我们不使用BDB库,所以忽略

make && make install


php-5.1.1
./configure --prefix=/VDS/APPS/php --with-apxs2=/VDS/APPS/apache2_svn/bin/apxs --with-mysql

安装php时的,一些错误及处理方法

错误1:configure: warning: bison versions supported for regeneration of the Zend/PHP parsers: 1.28 1.35 1.75 1.875 2.0 2.1 (found: none).
checking for flex... lex
checking for yywrap in -ll... no
checking lex output file root... ./configure: line 3238: lex: command not found
configure: error: cannot find output from lex; giving up
处理方法:安装flex-2.5.4a-33.i386.rpm  这个包在第2张盘上
 
错误2:Configuring extensions
checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
checking for xml2-config path...
configure: error: xml2-config not found. Please check your libxml2 installation.
处理方法:安装libxml2-2.6.16-6.i386.rpm libxml2-devel-2.6.16-6.i386.rpm 分别在第1、2张盘中

make && make install

cp php.ini-dist //VDS/APPS/php/lib/php.ini

 修改httpd.conf    AddType application/x-httpd-php .php

安装SVNManager

准备SVNManager源代码包(svnmanager-1.03.tgz):
下载地址:
http://jaist.dl.sourceforge.net/sourceforge/svnmanager/svnmanager-1.03.tgz
将文件解压至web目录下:

目前最新的是1.03.日期是10.9更新的

wget http://pear.php.net/go-pear

php go-pear  根据提示一步一步安装,一般就是一路回车

最后可以选择文件安装路径,按个人习惯设置,我一般都统一安装在固定的目录里SVNManager需要通过php-pear安装一个叫VersionControl_SVN的.将机器连接上互联网哦
pear install --alldeps VersionControl_SVN-0.3.0alpha1
把下载下来的pear的安装目录下temp/download/VersionControl_SVN-0.3.0alpha1目录
# cp VersionControl_SVN-0.3.0alpha1 web目录下svnmanager/
#mv VersionControl_SVN-0.3.0alpha1 VersionControl   改名

为SVNManager创建访问用户及数据库
本人对于mysql的命令操作不是很熟,我一般都是phpMyAdmin,对数据库进行操作
#mysql –u root –p
Mysql>create database svn;
Mysql>grant all privileges on svn.* to ‘svnmanager’@’localhost’ identified by ‘[访问用户密码]’;
Mysql>flush privileges;  //使新建的用户生效,网上很多都写成错误的flush prifileges;害我想了半天
Mysql>quit;

增加权限配置
修改为配置的内容/etc/httpd/conf/httpd.conf加入以下:
<Location /repos>
DAV svn
SVNParentPath /var/svn/repos
AuthType Basic
AuthName "Subversion realm"
AuthUserFile /var/svn/passwdfile
AuthzSVNAccessFile /var/svn/accessfile
Require valid-user
</Location>

http权限控制增加如下内容,以加强安全控制
<Directory "/var/www/html/svnmanager/">
AllowOverride None
Order deny,allow
Deny from all
Allow from all
</Directory>

在/var/svn目录下创建两个空文件passwdfile和accessfile和项目库的总目录repos。
执行下边的语句创建:
#touch /var/svn/passwdfile
#touch /var/svn/accessfile
#chown svn:svn /var/svn/passwdfile
#chown svn:svn /var/svn/accessfile
#mkdir /var/svn/repos
#chown -R svn:svn /var/svn/repos


配置svnmanager 根据自己实际路径配置

在/var/www/html/svnmanager/config.php文件中,配置相关信息,如下
$htpassword_cmd = "/usr/bin/htpasswd";
$svn_cmd = "/usr/bin/svn";
$svnadmin_cmd = "/usr/bin/svnadmin";
$svn_repos_loc = "/var/svn/repos";
$svn_passwd_file = "/var/svn/passwdfile";
$svn_access_file = "/var/svn/accessfile";
$smtp_server = "smtp.domain.org";
$dsn = "mysql://svnmanager:password@localhost/svn";
//Administrator account
$admin_name = "admin";
$admin_temp_password = "admin";
启动Apache、Mysql

打开http://127.0.0.1/svnmanager ,会自动建svn的数据表,在刷新后输入用户名称为admin,密码为admin.

切记的进入用建一个管理员帐号,因为admin一次后失效。

完了。


错误一:svn: Can't open file '/root/.subversion/server': 权限不够 (cmd: /usr/bin/svn list --non-interactive file:///var/www/repos/test )Command used: /usr/bin/svn list --non-interactive file:///var/www/repos/test
解决方法:在svnmanager的config.php中添加
$svn_config_dir='/tmp';

在UserPrivilegesEditPage.php 和GroupPrivilegesEditPage.php中的240行
$switches = array();替换为$switches = array('config_dir'=>$svn_config_dir);


错误一:svnmanager创建时 却是一个空目录   但没有报出任何错误!!!
解决方法:在svnmanager的config.php 修改$svnadmin_cmd ;例:$svnadmin_cmd = "/usr/bin/svnadmin --config-dir /tmp";

 

 

解决svnmanager的一些错误

a.如果增加用户时总提示邮件地址无效,则通过修改PHP文件解决:

vi /usr/local/apache2/htdocs/svnmanager/svnmanager/UserModule/AddPage.tpl

删除对邮件地址验证的行:

<com:TEmailAddressValidator ControlToValidate="Email" Display="Dynamic">Invalid e-mail address!</com:TEmailAddressValidator>

b.安装svnmanager之后,出现以下状况:

建立的版本库为空文件夹

在用户权限和组权限编辑时出现错误,

如:错误一:svn: Can't check path '/var/www/.subversion': 权限不够 (cmd: /usr/bin/svn list --non-interactive [url=file:///var/www/repos/test]file:///var/www/repos/test[/url])Command used: /usr/bin/svn list --non-interactive  [url=file:///var/www/repos/test]file:///var/www/repos/test[/url]

错误二:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /usr/local/apache2/htdocs/svnmanager/svnmanager/RepositoryModule/UserPrivilegesEditPage.php on line 223

解决方法:在svnmanager的config.php中添加

$svn_config_dir="/tmp";

$svnadmin_cmd="/usr/bin/svnadmin --config-dir /tmp";

将./svnmanager/RepositoryModule/

    UserPrivilegesEditPage.php 的249行

和GroupPrivilegesEditPage.php中的243行

替换$switches=array();为$switches=array('config_dir'=>$svn_config_dir);

分享到:
评论

相关推荐

    svnmanager用户权限管理

    SVNManager是一款基于Web界面的Subversion(SVN)版本控制系统管理工具,它使得在Linux环境中对SVN用户和权限的管理变得更加便捷。Subversion是一个开源的版本控制系统,用于跟踪文件和目录的变更,这对于软件开发...

    SVN的安装和配置 SVN的安装和配置

    5. 安装完成后,启动VisualSVN Server Manager管理工具,添加一个新的仓库。 在Linux系统上,可以使用apt-get或yum命令来安装: ```bash sudo apt-get install subversion # Ubuntu/Debian sudo yum install ...

    svn安装与配置相关资料

    2. Linux平台:在Linux上,可以通过包管理器如apt-get(Ubuntu/Debian)或yum(CentOS/RHEL)来安装。例如,输入`sudo apt-get install subversion`或`sudo yum install subversion`即可完成安装。 3. MacOS:使用...

    centos7一键搭建svn

    RPM(Red Hat Package Manager)是Linux下的一种软件包管理器,用于安装、升级、查询和卸载软件。在CentOS7中,可以通过yum(Yellowdog Updater, Modified)工具来管理RPM包。使用RPM包安装SVN,可以确保所有依赖...

    matchbox-window-manager-1.2-16.1.20070628svn.el7.x64-86.rpm.tar.gz

    在信息技术领域,尤其是...这一RPM压缩包文件为用户提供了在64位RHEL 7系统上安装Matchbox窗口管理器所需的软件包及依赖,以及相关的安装指导文档,使用户能够通过简单的步骤完成安装,享受轻量级桌面环境带来的便利。

    perl-Git-SVN-1.8.3.1-25.el7-9.x64-86.rpm.tar.gz

    本例中的文件是一个名为“perl-Git-SVN-1.8.3.1-25.el7_9.x64-86.rpm.tar.gz”的压缩包,它包含了多个rpm文件,这些文件需要在基于Red Hat的Linux发行版(如CentOS或RHEL 7.9版本)上安装。 首先,这个压缩包文件...

    texlive-scheme-basic-svn25923.0-45.20130427_r30134.el7.noarch

    rpm代表“RPM包管理器”(RPM Package Manager),它是Red Hat及其衍生操作系统(如CentOS和Fedora)中使用的一种软件包格式。rpm文件通常包含编译好的软件包,以及安装和管理这些软件所需的相关信息。 标题中的...

    rngom-201103-0.8.20120119svn.el7.x64-86.rpm.tar.gz

    标签"rpm"指出了该压缩包内含文件的主要格式是RPM(Red Hat Package Manager),这是一种在Red Hat及其衍生Linux发行版中广泛使用的软件包管理系统,用于打包、安装、卸载和管理软件。 压缩包文件名称列表列出了包...

    texlive-texlive.infra-bin-svn22566.0-45.20130427_r30134.el7.x86_

    它属于rpm(RPM Package Manager)包格式,这种格式广泛用于基于Red Hat的系统,比如Fedora、CentOS和RHEL等。 rpm格式的软件包允许系统管理员和用户轻松地安装、升级、删除和管理软件。它通过一个称为rpm数据库的...

    batik-rasterizer-1.8-0.12.svn1230816.el7.x64-86.rpm.tar.gz

    数字"1.8"和"0.12"可能指的是版本号,而"svn1230816"可能表示该版本是基于Subversion版本控制系统的修订号1230816。"el7"代表软件包兼容于Red Hat Enterprise Linux(RHEL)的第七版。"x64-86"可能是指软件包适用于...

Global site tag (gtag.js) - Google Analytics