摘自:http://jerrywens.blog.com/2010/08/03/solaris-10-subversion/
确认Solaris的版本
#uname -a
SunOS svnsrv 5.10 Generic_127127-11 sun4u sparc SUNW,SPARC-Enterprise
2.在 http://sunfreeware.com 找到对应版本下需要安装的Subversion的版本,
例如:SPARC/Solaris 10 下 subversion-1.6.12
根据说明需要下载相关软件至 [当前路径/tmp/] 下,列表如下:
gcc-3.4.6-sol10-sparc-local.gz
openssl-1.0.0a-sol10-sparc-local.gz
expat-2.0.1-sol10-sparc-local.gz
zlib-1.2.5-sol10-sparc-local.gz
libiconv-1.13.1-sol10-sparc-local.gz
openldap-2.4.22-sol10-sparc-local.gz
db-4.2.52.NC-sol10-sparc-local.gz
libtool-2.2.6b-sol10-sparc-local.gz
sasl-2.1.21-sol10-sparc-local.gz
apache-2.2.15-sol10-sparc-local.gz
libintl-3.4.0-sol10-sparc-local.gz
swig-1.3.36-sol10-sparc-local.gz
libxml2-2.7.7-sol10-sparc-local.gz
zebra-0.95-sol10-sparc-local.gz
neon-0.29.3-sol10-sparc-local.gz
subversion-1.6.12-sol10-sparc-local.gz
备注:如果软件已安装,可跳过此步骤。
检查命令:pkginfo | grep
删除命令:pkgrm
3.解压所有文件[当前路径/tmp/]
例如 gzip -d apache-2.2.14-sol10-sparc-local.gz
4.安装所有文件[当前路径/tmp/]
查看软件,例如: #pkginfo |grep ‘apache’
安装软件,例如: #pkgadd -d apache-2.2.14-sol10-sparc-local
5.查看是否安装成功
apache:
#cd /usr/local/apache2/bin/
#./apachectl start //开启
用浏览器访问,看到it works字样,说明apache成功了
#./apachectl stop //停止
subversion:
#cd /usr/local/bin
#ldd svn //查看subversion的依赖关系是否完整
6.配置服务
6.1 SVN服务器:
#groupadd svn
#useradd -c “svn owner” -d /export/home/svn -g svn -m svnadmin
#mkdir /export/home/svn/data
#chown -R svnadmin:svn /export/home/svn
#chmod -R g+w /export/home/svn
#cd /usr/local/bin //转到subversion的bin目录下
# ./svnadmin create –fs-type fsfs /export/home/svn/data/testproject //创建一个名叫testproject的仓库,–fs-type为指定仓库的文件格式为fsfs
#cd /usr/local/apache2/bin //转到apache的bin目录下
# htpasswd -c -m /export/home/svn/passwd testuser //创建用MD5方式加密的密码文件passwd,-c参数为create的意思,-m参数为以MD5加密方式
#vi /export/home/svn/authz //生成一个authz文件,文件内容如下:
[groups]
admin = testuser
[/]
@admin = rw
* = r
6.2 Apache:
# vi /usr/local/apache2/conf/httpd.conf
修改apache用户为前面创建的solaris系统用户:
<IfModule !mpm_netware_module>
User svnadmin
Group svn
</IfModule>
备注:权限管理
1) 增加用户
# htpasswd [–c] /export/home/svn/authfile hui
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
# htpasswd authfile 用户名(加入新的用户)
2) 权限分配
# vi /export/home/svn/authz.conf
[groups]
everyone = testuser,xxx,yyy //输入所有的用户
groupA = testuser,xxx
groupB = xxx,yyy //进行分组管理
[pms:/] //顶层目录
@everyone = r
[pms:/abc] //对各级文件夹进地设置用户权限
Sample Text@groupA = rw
@groupB = r
……
加载下面两个模块:
# LoadModule foo_module modules/mod_foo.so 在这下面检查这两行,一般会自动加入,如果没有则要手工加入
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
在末尾加上以下参数
<Location /svn>
DAV svn
AuthzSVNAccessFile /export/home/svn/authz
Require valid-user
SVNParentPath /export/home/svn/data
AuthType Basic
AuthName “Welcome to SVN”
AuthUserFile /export/home/svn/passwd
SVNPathAuthz off
</Location>
7. 启动apache
# cd /usr/local/apache2/bin
# ./apachectl start //重启apache ./apachectl restart
如果重启不成功,需要到在系统中搜索mod_dav_svn.so和mod_authz_svn.so两个文件(一般在svn的源代码目录中),并拷贝到apache安装目录的modules目录下,然后重启。
8.[可省略] 配置在solaris10下apache自动启动的标准脚本
写个脚本放到 /etc/rc3.d/
脚本命名方法:
启动脚本的命名。必须以大写的S开头,后边根数字标志该目录下各个文件的执行顺序。再后边的字母随便起
如: (S97apache)
# vi /etc/rc3.d/S97apache
文件内容:
#!/bin/sh
case “$1″ in
‘start’)
/usr/local/apache2/bin/apachectl start $
;;
‘stop’)
/usr/local/apache2/bin/apachectl stop $
;;
*)
echo “Apache Start Fail!”
;;
esac
exit 0
测试Apache
# service apache start
# service apache stop
# service apache restart
9.测试SVN
用IE打开http://10.0.0.1/svn/testproject,输入用户名和密码,能看到以下信息,说明我们已经配置成功了:
Revision 0: /