我想在我们的CentOS v6.5的 Bluehost VPS服务器上configurationSubversion(SVN)。 到目前为止,安装顺利按照本指南 – > http://wiki.centos.org/HowTos/Subversion
然而,现在我坚持4.2步[Subversion的Apacheconfiguration] 。
好,所以这里的故事。
大多数在网上,在bluehost上安装Subversion(svn)的指南是针对共享服务器的,在Subversion的 CentOS官方wiki页面(我们称之为A )上的步骤不起作用,因此他们按照本指南 (我们称之为B )。
模块mod_dav_svn允许subverion通过Apache服务,因为它的安装不允许在我所了解的共享服务器上 。 因此,很多人都为导游B ,它可以通过ssh(svn + ssh)build立svn连接为我们工作,但我试图弯曲勺子,看看是否可以通过Apachebuild立svn连接。
遵循指导A
我有一个urlsvn.domain.com指向/home/username/public_html/svn.domain.com/其中我已经build立了名为repos1的存储库
并在/etc/httpd/conf.d/subversion.conf设置了subversion.conf文件,如下所示
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /repos1> DAV svn SVNPath /home/username/public_html/svn.domain.com/repos1 AuthType Basic AuthName "Subversion repos" AuthUserFile /etc/svn-auth-conf Require valid-user </Location>
并打开http://svn.domain.com/repos1,它会显示位于/home/username/public_html/svn.domain.com/repos1中的目录的纯/home/username/public_html/svn.domain.com/repos1 。
我认为它应该要求密码,并显示版本0或至less树干 , 分支和标签文件夹。
任何帮助或方向将不胜感激。
svnadmin create repos1命令svnadmin create repos1 。 尝试这个
<Location "/"> AuthType Basic AuthName "Subversion repos" AuthUserFile /etc/svn-auth-conf Require valid-user </Location> <Location /repos1> DAV svn SVNPath /home/username/public_html/svn.domain.com/repos1 </Location>
不要忘记重新加载Apache。
在BlueHost VPS服务器(CentOS)上安装和configurationSubversion(SVN)
我所有的步骤都是在http://wiki.centos.org/HowTos/Subversion上追踪这篇漂亮的wiki文章。 本文共有8个步骤,但是在BlueHost VPS上进行安装时,步骤3和步骤4.2需要进行扩展
步骤3 – 当安装yum install mod_dav_svn subversion时会出错
Error: Missing Dependency: httpd-mmn = 20051115 is needed by package mod_dav_svn
要解决它,请按照以下步骤操作
[$] find / -name "yum.conf" --- Note the path [$] vim /path/yum.conf --- Edit the file
从以下行删除httpd*
exclude=apache* bind-chroot courier* dovecot* exim* filesystem httpd* mod_ssl* mydns* mysql* nsd* perl* php* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail*
保存并退出文件:wq!
[$] yum install mod_dav_svn subversion --- If Success, then you can revert back yum.conf file to its original.
步骤4 – 在继续这一步之前,请先创build一个域或子域名(svn.domain.com),并将其分配给任何文件夹(主要是/home/username/public_html/svn.domain.com)
/home/username/public_html/svn.domain.com --- will be main folder under which I will have many repositories (not just one, but many)
步骤4.1 – 从文章中跳过这一步,因为BlueHost会小心谨慎
步骤4.2 – 默认情况下,Subversion将在/etc/httpd/conf.d/subversion.conf创build一个名为subversion.conf的.conf文件
对BlueHost来说,这个path中的任何文件都是无效的(花了我四个小时才弄清楚),因为它使用了C-Panel,它有自己的要求 – > http://docs.cpanel.net/twiki/bin/视图/ EasyApache3 / InsideVHost
所以编辑你最喜欢的编辑/etc/httpd/conf/httpd.conf文件
[$] vim /etc/httpd/conf/httpd.conf` --- Edit the main Apache config file [Editor] /svn.domain.com --- Hit Enter and search for your domain configurations, scroll through up or down keys or n for next hit
就在svn.domain.com之上,你会遇到类似于下面的行
# To customize this VirtualHost use an include file at the following location #Include "/usr/local/apache/conf/userdata/std/2/username/svn.domain.com/*.conf"
通过在开头删除哈希(#)来取消注释,并复制Include到* .conf(remove * .conf)之间的path并粘贴到mkdir命令中
[$] mkdir -p /usr/local/apache/conf/userdata/std/2/username/svn.domain.com/ --- Creates all parents directory as well if they don't exist [$] vim /usr/local/apache/conf/userdata/std/2/username/svn.domain.com/subversion.conf --- Create subversion configuration file
在subversion.conf文件中,在编辑模式下(按下i)粘贴下面的SVNParentPath ,根据需要更改SVNParentPath和AuthUserFile的path
请注意,VirtualHost中的DocumentRootconfiguration和subversion.conf中的SVNParentPath不能有相同的目录path。 SVNParentPath必须replace或位于不同的目录中,不能在DocumentRootpath下。
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /> DAV svn SVNParentPath /home/username/public_html/svn.domain.com/ SVNListParentPath ON AuthType Basic AuthName "DFR Visualization Images Repository" AuthUserFile /home/username/public_html/svn.domain.com/svn-auth-conf Require valid-user </Location>`
现在:wq! 并保存并退出该文件。
现在执行下面的命令,在subversion.conf文件中的AuthUserFilevariables中提到的path中创buildauthentication文件
在htpasswd命令中,首先使用-cm参数创build用户,后续用户只使用-m,否则以前的用户数据将丢失
[$] htpasswd -cm /home/username/public_html/svn.domain.com/svn-auth-conf username --- Press enter and input password
最后一步。 默认情况下,Subversion安装加载SVN所需的模块,以便在正确的目录下正常工作,但是因为BlueHost使用C-Panel,所以它具有不同的目录,Subversion不会实现这个目的。
因此,我们需要手动将安装在默认模块目录中的Subversion模块复制到C-Panel的模块目录中。
首先findSubversion在subversion.conf文件中指定的两个模块后面的位置
[$] find / -name "mod_dav_svn.so" --- Find and note subversion installation path [$] find / -name "mod_authz_svn.so" --- Find and note subversion installation path
将它们复制到C-Panel模块文件夹(通常为/usr/local/apache/modules/ ),请在复制之前validationpath。
[$] cp /subversion_modules_path/mod_dav_svn.so /usr/local/apache/modules/ [$] cp /subversion_modules_path/mod_authz_svn.so /usr/local/apache/modules/
现在login到bluehost的C-Panel并重新启动位于C-Panel -> WHM -> Restart Services -> HTTP Server (Apache)
按照文章中的其余步骤。