学习目标:
1、了解SVN在Linux上面的安装
2、svnadmin的基本使用
学习过程:
我们使用yum安装比较容易,而且使用apache和svn整合管理,还需要安装svnadmin管理项目,所以需要安装apache,svn和mysql三个软件所以我们先更新一下操作系统
一、安装apache
1、更新操作系统
yum update
更新后最好重启
reboot
2、安装apache
yum install httpd httpd-devel
3、查看当前的启动状态
[root@liubao1 ~]# /etc/init.d/httpd status
httpd 已停
或者
ps aux | grep httpd
查看是否开机启动
[root@liubao1 ~]# chkconfig --list|grep httpd
httpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
从上面可以看到httpd是没有启动,也没有开启启动的,那么我们都修改一下
启动:
/etc/init.d/httpd start
开机启动
chkconfig httpd on
查看配置文件是否使用的是80端口
vim /etc/httpd/conf/httpd.conf
修改服务器名称
ServerName localhost:80
修改防火墙s
vim /etc/sysconfig/iptables
添加
#http 80
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重启防火墙
/etc/init.d/iptables restart
尝试在客户端浏览器访问
http://192.168.3.21/
二、安装svn服务器
yum install mod_dav_svn subversion
mod_dav_svn模块是和apache整合使用的,所以也需要安装一下。
安装完毕重启一下apache才能有效
/etc/init.d/httpd restart
查看svn 版本
[root@liubao1 ~]# svn --version
svn,版本 1.6.11 (r934486)
编译于 Aug 17 2015,08:21:51
查看apache,svn的模块是否安装成功
[root@liubao1 ~]# ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so
创建svn仓库主目录:我们的svn计划是在svn目录中有多个svn库的。
进入目录
cd /etc/httpd/conf.d/
修改vim subversion.conf
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath /svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /svn/passwd.http
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/
svn就是主库目录
AuthUserFile /svn/passwd.http
AuthzSVNAccessFile /svn/authz
分别是用户目录和访问文件权限目录,这两个文件还没有,所以我们需要建立以下
[root@liubao1 conf.d]# touch /svn/passwd.http
[root@liubao1 conf.d]# touch /svn/authz
再重启一下apache,看看有没有错误:
[root@liubao1 conf.d]# /etc/init.d/httpd restart
停止 httpd:[确定]
正在启动 httpd:[确定]
三、安装svnadmin管理
1、安装mysql数据库
先看看是否已经安装了mysql
rpm -qa | grep mysql
如果有你可以不安装了,当然你也可以卸载了它 通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉
可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸:载时使用了--nodeps选项,忽略了依赖关系:
rpm -e mysql-libs-5.1.73-7.el6.x86_64 --nodeps
安装
yum install mysql-server mysql mysql-devel
安装完毕后就可以启动试一下了:
/etc/init.d/mysqld start
查看开机启动
[root@liubao1 conf.d]# chkconfig --list|grep mysql
mysqld 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
修改为开机启动
chkconfig mysqld on
修改防火墙
vim /etc/sysconfig/iptables
添加
#mysql 3306
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重启
/etc/init.d/iptables restart
建立一个root用户
mysqladmin -u root password '123456'
登陆
mysql -u root -p
设置可以远程登陆的用户
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
尝试远程登陆
2、安装tomcat
下载tomcat,解压
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.69/bin/apache-tomcat-7.0.69.tar.gz
tar -axvf apache-tomcat-7.0.69.tar.gz
重命名
mv apache-tomcat-7.0.69 tomcatsvn7
修改tomcat端口为8580
<Connector port="8580" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
安全起见,删除所有webapps下面的项目
[root@liubao1 tomcat7]# cd webapps/
[root@liubao1 webapps]# rm -rf *
修改防火墙端口
[root@liubao1 webapps]# vim /etc/sysconfig/iptables
添加内容
#svntomcat 8580
#-A INPUT -m state --state NEW -m tcp -p tcp --dport 8580 -j ACCEPT
重启防火墙
[root@liubao1 webapps]# /etc/init.d/iptables restart
把svnadmin上传到tomcat的webapps目录下中。
解压(不解压也可以,不过最好还是解压吧)
unzip svnadmin.war -d svnadmin
进入修改数据库的链接信息
[root@liubao1 webapps]# vim svnadmin/WEB-INF/jdbc.properties
内容如下:
db=MySQL
#MySQL
MySQL.jdbc.driver=com.mysql.jdbc.Driver
MySQL.jdbc.url=jdbc:mysql://127.0.0.1:3306/svnadmin?characterEncoding=utf-8
MySQL.jdbc.username=root
MySQL.jdbc.password=123456
添加数据库
从上面的配置信息可知,数据库名称叫svnadmin
执行mysql5.sql和en.sql
启动tomcat
./bin/startup.sh
打开浏览器查看
http://192.168.3.21:8580/svnadmin
这里我输入
liubao
123456
登陆后添加第一个项目
我们这样通过界面新建的目录都是属于root,如果这个是否访问会没有权限的,需要修改目录所属和目录权限,并且关闭selinux,记住以后每建立一个项目都需要修改所属和权限
修改目录权限
chown -R apache.apache first/
chmod -R 777 first/
修改selinux
在 SELINUX=enforcing 前面加个#号注释掉它
#SELINUX=enforcing
然后新加一行
SELINUX=disabled
保存,退出,重启系统,搞定。
最好重启一下
reboot电脑才能起效
你可以自己下载相关的svn客户端测试了。
操作还是比较容易的,无非就是用户和用户组的操作。
设置开机启动