linux下安装svn+apache
yum httpd
?2:查看安装目录
?
?
rpm -ql httpd | cat -n
?
? ?会看到相关值
? /etc/httpd/conf/httpd.conf
? /usr/bin/htpasswd
? /usr/sbin/apachectl
? /usr/lib/httpd/modules
?
3:启动apache http server,检查是否安装成功
? ?
/usr/sbin/apachectl start
?
? ?访问http://XXXXXX/
?
4:安装subversion
?
yum subversion
? ?
svnserve --version
5:检查svn模块是否安装到apache下
?
?
cd /etc/httpd/modulesls | grep mod_dav_svn.sols | grep mod_authz_svn.so
?如果都没有,需要在安装
?
yum install mod_dav_svn
?再检查modules目录下是否有mod_dav_svn.so,mod_authz_svn.so
?
?
6:代码库创建
?
cd optmkdir -p svn/pinganfu/paffsvnadmin create /opt/svn/pinganfu/paff
?7:apache 配置svn
? ?在httpd.conf文件中添加
?
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so??
<Location /pinganfu> DAV svn SVNParentPath "/opt/svn/pinganfu" SVNListParentPath on AuthType Basic AuthName "Welcome to Pinganfu Paff SVN" #AuthzSVNAccessFile "/opt/svn/pinganfu/authz" AuthUserFile "/opt/svn/pinganfu/passwd" Require valid-user</Location>?保持,重新启动apache
?
?
?
/usr/sbin/apachectl restart?如果出现
?
?
[Tue Aug 06 20:01:45 2013] [warn] module dav_svn_module is already loaded, skipping[Tue Aug 06 20:01:45 2013] [warn] module authz_svn_module is already loaded, skipping?说明已经加载过dav_svn_module,?authz_svn_module,在httpd.conf文件中删除?LoadModule两项?
?
8:添加svn用户
在第7步中已经配置了AuthUserFile地址,和注释掉的AuthzSVNAccessFile,下面是创建这authz,passwd这两个文件
?
/usr/bin/htpasswd -cm /opt/svn/pinganfu/passwd admin?执行上面命令创建后,输出密码
?
vi /opt/svn/pinganfu/authz
?
9:更改svn库的权限(这边很重要)
? ? 将/opt/svn/pinganfu/paff目录改成apache用户,以及apache用户组
? ?
chown -R apache:apache paffchown apache:apache authzchown apache:apache passwd
?
chmod -R 777 paff
?
? 由于RHEL5中引入了SELinux来加安全控制,因此还需要对该路径进行赋权。(整个路径的目录都要赋权, ? 如:要访问/opt/svn/pinganfu/paff/,则从/opt开始都要赋权)
?
? 如果不赋权,会出现 Can't open file '/opt/svn/pinganfu/paff/db/txn-current-lock': Permission ? ? denied 这样的错误
?
chcon -R -h -t httpd_sys_content_t /opt/svn/pinganfu/paff/
?
?
?10:访问,添加文件
?