以前笔记本硬盘坏了,上面的SVN等也没办法恢复了,不过幸亏还没啥重要的东西,用自己的一个mini-pc装了个linux,顺便温习、记录下安装配置SVN的过程~方便自己,也方便需要的童鞋
一、安装配置SVN
1. 安装Subversion
yum install subversion y
安装成功,可以通过“svn --version”查看SVN的版本信息
2. 建立仓库
mkdir -p /home/www/svn/svndata/kaiserj
svnadmin create /home/www/svn/svndata/kaiserj
-p:不存在父文件夹就创建
3. 配置仓库
a) 修改conf/svnserve.conf文件,启用下面几个配置
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
b) 修改conf/authz文件,设置用户组及仓库权限
[groups]
depart_store = zzl,yang
[kaiserj:/]
@depart_store = rw
zzl = rw
* =
c) 修改conf/passwd,设置用户密码
[users]
zzl = zzl
yang = yang
4. 启动仓库
svnserve -d -r /home/www/svn/svndata/
-d:后台运行
-r:指定根目录
注意:这里-r的目录不是资源库kaiserj的目录,这样才能使所有仓库都生效
5. 测试检出
svn co svn://localhost/kaiserj
输入用户名密码后检出“kaiserj”仓库
二、安装配置apache
1. yum方式安装apache
yum install httpd
安装完成后目录在/etc/httpd中,由于日志文件可能较大,我们可以直接将日志目录/etc/httpd/logs设置为其他的
rm -rf /var/log/httpd
rm -rf /etc/httpd/logs
ln -s /home/apache/logs /etc/httpd/logs
上面先删除了apache日志目录和软链,然后创建了一个指向/home/apache/logs的软链
2. 生成SSL需要的文件
mkdir /home/apache/ca_files
cd /home/apache/ca_files
openssl genrsa 2048 > httpd.key
openssl req -new -key httpd.key > httpd.csr
openssl req -x509 -days 36500 -key httpd.key -in httpd.csr > httpd.crt
cp httpd.key /etc/httpd/conf/
cp httpd.crt /etc/httpd/conf/
3. 配置ssl文件
vi /etc/httpd/conf.d/ssl.conf
启用修改下面2个配置
SSLCertificateFile /etc/httpd/conf/httpd.crt
SSLCertificateKeyFile /etc/httpd/conf/httpd.key
4. 配置subversion.conf文件
vi /etc/httpd/conf.d/subversion.conf
location中配置里的svn库
<Location /kaiserj>
DAV svn
#SVNParentPath /home/svndata
SVNPath /home/svndata/kaiserj/
# Limit write permission to list of valid users.
#<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
SSLRequireSSL
AuthType Basic
AuthName "Subversion for project"
AuthUserFile /home/svndata/kaiserj/conf/passwd_httpd
AuthzSVNAccessFile /home/svndata/kaiserj/conf/authz_httpd
Satisfy all
Require valid-user
#</LimitExcept>
</Location>
AuthUserFile-SVN用户配置文件,只能用“htpasswd”来添加用户(这里添加了2个用户yang/zzl,第二个添加的时候不需要加参数-c),例如:
htpasswd -c /home/svndata/kaiserj/conf/passwd_httpd yang
htpasswd /home/svndata/kaiserj/conf/passwd_httpd zzl
AuthzSVNAccessFile-SVN访问配置文件,和SVN资源库中conf/authz配置方法一样,例如:
[kaiserj:/]
yang = rw
zzl =rw
* =
这里2个文件与SVN目录下conf中的passwd和authz文件分开是为了区分Apache配置
5. 配置完毕,可以愉快的启动了
service httpd start
如果提示mod_dav_svn.so没有,可能是apache的这个模块未安装
yum install mod_dav_svn