Linux+svn+apache
版本控制软件安装文档
核要:该安装分为两个部分为一个是服务器端的安装一个是客户端的安装。
从服务器上下载需要的文件tar xvzf httpd-2.2.3.tar.tar,tar xvzf Subversion-1.4.0.tar.gz
且记一定要是最新版本的,否则会出错的。
1, 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作
#groupadd svn //建立工作组
#useradd svnroot -g svn //把用户放入工作组中
#passwd svnroot //给工作组建立密码
2 编译安装httpd:
//解压apache2安装包
# tar xvzf httpd-2.2.3.tar.tar
//进入解压后的目录
# cd httpd-2.2.3
//配置apache安装
# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
# make
//安装
# make install
//启动apache服务
# /usr/local/apache2/bin/apachectl start
//打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功。
3. 安装Subversion
//解压SubVersion安装包
# tar xvzf Subversion-1.4.0.tar.gz
//进入解压后的目录
# cd Subversion-1.4.0
//配置subversion安装
#./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
//安装
# make install
//创建库文件所在的目录 (svnroot用户进行下面的操作)
# mkdir /home/svnroot/repository
//创建仓库"test"
# /usr/local/subversion/bin/svnadmin create /home/svnroot/repository/test
//查看svn是否安装成功
# /usr/local/subversion/bin/svnadmin --version
//不让其他人有该目录的权限
# chmod 700 /home/svnroot/repository
(svnroot用户操作结束)
4. 修改Apache配置文件
# vi /usr/local/apache2/conf/httpd.conf
//找到下列语句,如果没有则自行添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
//在后面添加
<Location /svn>
DAV svn
SVNParentPath /home/svnroot/repository/ //svn父目录
AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
AuthType Basic //连接类型设置
AuthName "Subversion hsy" //连接框提示
AuthUserFile /home/svnroot/repository/authfile //用户配置文件
Require valid-user //采用何种认证
</Location>
//重启apache
# /usr/local/apache2/bin/apachectl restart
//打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。
5. 权限管理
1)增加用户
# htpasswd -c /home/svnroot/repository/authfile hsy
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
//第二次就不用加参数c了。
# htpasswd /home/svnroot/repository/authfile hsg
2)权限分配
# vi /home/svnroot/repository/authz.conf
[groups]
admin=useradmin
devteamcs = useradmin,user1,user2//这里定义了一个用户组
[/]//对所有的项目,所有的用户都有读权限,admin用户有读写权限
@admin = rw
* = r
[test:/]//对test项目,
@devteamcs = rw
// 在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:
User daemon
Group daemon
// 将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行
//改完后是这个样子
User svnroot
Group svn
//重启apache
# /usr/local/apache2/bin/apachectl restart
访问http://localhost/svn/test ,现在需要身份验证,且通过验证后应该可以看到信息
补充:在xp的环境下,如果你运行着卡巴斯基,可能会导致无法访问svn,通常会报400 Bad Request错误
解决办法是:进入卡巴斯基的设置-->网络设置--->端口设置,然后从端口列表中去掉80端口即可
第二部分是安装客户端,这样才可以保证在开发工具中使用。
所需要组件:subclipse-site-1.2.0.zip eclipse插件包
一 在eclipse装载subclipse-site-1.2.0.zip。
注意:如果在课室执行前建议拔调网线或关闭网卡。
a) 第一步:Help->Software Updates->Find and Intall。
b) 第二步:Next。
c) 第三步:New Archived Site...。
d) 第四步:选择subclipse-site-1.2.0.zip的路径。
e) 第五步:OK后得到以下画面,在框框中会多一项subclipse-site-1.2.0.zip,然后按Finish。
f) 第六步:选择第一项,按Next。
g) 第七步:Finish->Install All->Yes
安装完毕会自动重启eclipse。重启后Window->Show View->Other
h) 第八步:选择SVN资源库
i) 第九步:新建资源库
注意:已svn开头,不是http;ip是服务器ip,必须确保服务器已经开启,注意这一点,且SVN所使用的端口为3960)。
二、 共享项目
a) 第一步:鼠标右键点击—>Team—>Share Project...
b) 选择SVN然后Next
c) Next—>Next—>Finish。使用时需要输入用户名和密码。
d) 剩下的工作就是等待……
三、 下载项目、更新和提交
1. 下载项目
a) 第一步:项目鼠标右键捡出为...
b) 第二步:Finish。(可修改名称)
2. 更新——更新别人提交的代码。鼠标右键—>Team—>更新。
3. 提交——提交自己完成的代码。鼠标右键—>Team—>提交。如上图。
注意:本地文件与服务器不同时,文件图标右下脚会有黑边白星提示。
四、 经验总结
a) 公用的xml配置,如Hibernate的conf最好一个人统一配置。
b) 每次提交最好能把摘要写上,方便恢复。
c) 如果出现不可修复问题,可以将整个项目删除并重新下载。
d) SVN不是万能,最好能定期手动保存,以便恢复。
版本控制软件安装文档
核要:该安装分为两个部分为一个是服务器端的安装一个是客户端的安装。
从服务器上下载需要的文件tar xvzf httpd-2.2.3.tar.tar,tar xvzf Subversion-1.4.0.tar.gz
且记一定要是最新版本的,否则会出错的。
1, 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作
#groupadd svn //建立工作组
#useradd svnroot -g svn //把用户放入工作组中
#passwd svnroot //给工作组建立密码
2 编译安装httpd:
//解压apache2安装包
# tar xvzf httpd-2.2.3.tar.tar
//进入解压后的目录
# cd httpd-2.2.3
//配置apache安装
# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
# make
//安装
# make install
//启动apache服务
# /usr/local/apache2/bin/apachectl start
//打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功。
3. 安装Subversion
//解压SubVersion安装包
# tar xvzf Subversion-1.4.0.tar.gz
//进入解压后的目录
# cd Subversion-1.4.0
//配置subversion安装
#./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
//安装
# make install
//创建库文件所在的目录 (svnroot用户进行下面的操作)
# mkdir /home/svnroot/repository
//创建仓库"test"
# /usr/local/subversion/bin/svnadmin create /home/svnroot/repository/test
//查看svn是否安装成功
# /usr/local/subversion/bin/svnadmin --version
//不让其他人有该目录的权限
# chmod 700 /home/svnroot/repository
(svnroot用户操作结束)
4. 修改Apache配置文件
# vi /usr/local/apache2/conf/httpd.conf
//找到下列语句,如果没有则自行添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
//在后面添加
<Location /svn>
DAV svn
SVNParentPath /home/svnroot/repository/ //svn父目录
AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
AuthType Basic //连接类型设置
AuthName "Subversion hsy" //连接框提示
AuthUserFile /home/svnroot/repository/authfile //用户配置文件
Require valid-user //采用何种认证
</Location>
//重启apache
# /usr/local/apache2/bin/apachectl restart
//打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。
5. 权限管理
1)增加用户
# htpasswd -c /home/svnroot/repository/authfile hsy
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
//第二次就不用加参数c了。
# htpasswd /home/svnroot/repository/authfile hsg
2)权限分配
# vi /home/svnroot/repository/authz.conf
[groups]
admin=useradmin
devteamcs = useradmin,user1,user2//这里定义了一个用户组
[/]//对所有的项目,所有的用户都有读权限,admin用户有读写权限
@admin = rw
* = r
[test:/]//对test项目,
@devteamcs = rw
// 在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:
User daemon
Group daemon
// 将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行
//改完后是这个样子
User svnroot
Group svn
//重启apache
# /usr/local/apache2/bin/apachectl restart
访问http://localhost/svn/test ,现在需要身份验证,且通过验证后应该可以看到信息
补充:在xp的环境下,如果你运行着卡巴斯基,可能会导致无法访问svn,通常会报400 Bad Request错误
解决办法是:进入卡巴斯基的设置-->网络设置--->端口设置,然后从端口列表中去掉80端口即可
第二部分是安装客户端,这样才可以保证在开发工具中使用。
所需要组件:subclipse-site-1.2.0.zip eclipse插件包
一 在eclipse装载subclipse-site-1.2.0.zip。
注意:如果在课室执行前建议拔调网线或关闭网卡。
a) 第一步:Help->Software Updates->Find and Intall。
b) 第二步:Next。
c) 第三步:New Archived Site...。
d) 第四步:选择subclipse-site-1.2.0.zip的路径。
e) 第五步:OK后得到以下画面,在框框中会多一项subclipse-site-1.2.0.zip,然后按Finish。
f) 第六步:选择第一项,按Next。
g) 第七步:Finish->Install All->Yes
安装完毕会自动重启eclipse。重启后Window->Show View->Other
h) 第八步:选择SVN资源库
i) 第九步:新建资源库
注意:已svn开头,不是http;ip是服务器ip,必须确保服务器已经开启,注意这一点,且SVN所使用的端口为3960)。
二、 共享项目
a) 第一步:鼠标右键点击—>Team—>Share Project...
b) 选择SVN然后Next
c) Next—>Next—>Finish。使用时需要输入用户名和密码。
d) 剩下的工作就是等待……
三、 下载项目、更新和提交
1. 下载项目
a) 第一步:项目鼠标右键捡出为...
b) 第二步:Finish。(可修改名称)
2. 更新——更新别人提交的代码。鼠标右键—>Team—>更新。
3. 提交——提交自己完成的代码。鼠标右键—>Team—>提交。如上图。
注意:本地文件与服务器不同时,文件图标右下脚会有黑边白星提示。
四、 经验总结
a) 公用的xml配置,如Hibernate的conf最好一个人统一配置。
b) 每次提交最好能把摘要写上,方便恢复。
c) 如果出现不可修复问题,可以将整个项目删除并重新下载。
d) SVN不是万能,最好能定期手动保存,以便恢复。