Linux中apache http server+svn+svnadmin整合

查看当前Linux的系统版本

cat /etc/issue

查看当前Linux的内核版本

cat /proc/version     或     uname -a



升级所有软件包

yum -y update

升级所有软件包,系统版本和内核版本都会升级,会改变软件设置和系统设置

升级完成并reboot后,查看系统版本和内核版本,如下图



安装Apache HTTP server

安装httpd httpd-devel

yum install httpd httpd-devel

启动httpd

service httpd start

httpd设置为开启启动

chkconfig httpd on


修改配置文件

vim /etc/httpd/conf/httpd.conf



浏览器中访问http://192.168.0.239



安装SVN模块

yum install mod_dav_svn subversion

查看/etc/httpd/conf.d/目录下是否存在subversion.conf

cd /etc/httpd/conf.d/



重启Apache HTTP server,查看svn模块是否安装成功

service httpd restart

ls /etc/httpd/modules/|grep svn 

svn --version



创建SVN库并修改subversion.conf

mkdir /svn

vi /etc/httpd/conf.d/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/

创建文件passwd.http、authz

touch  /svn/passwd.http

touch  /svn/authz

重启Apache HTTP server

service httpd restart


安装MySQL

yum -y install mysql-server mysql mysql-devel

启动mysql

service mysqld start

查看mysql

chkconfig --list|grep mysqld

mysql设置为开机启动

chkconfig mysqld on



设置mysql密码

mysqladmin -u root password root

登录命令

mysql -u root -p 回车后输入密码

进行远程访问赋权

sql>grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

sql>flush privileges;


如需修改mysql的密码,可以使用下面指令

mysqladmin -u root -p password "test123"

若执行上面一条指令修改了mysql的密码,注意重新授权

sql>grant all privileges on *.* to 'root'@'%' identified by 'test123' with grant option;

sql>flush privileges;


上述操作均在192.168.0.239的linux虚拟机中。此时,在VMWare所在192.168.0.103的Windows机器上,使用Navicat尝试连接192.168.0.239上的mysql,连接测试成功。如下图



安装Tomcat

 tar -zxvf apache-tomcat-8.5.11.tar.gz -C /usr/local/

重命名apache-tomcat-8.5.11为svn-tomcat

mv apache-tomcat-8.5.11 svn-tomcat

修改server.xml

<Server port="9005" shutdown="SHUTDOWN">

 <Connector port="9090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="9443"  URIEncoding="UTF-8" />

<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />


启动tomcat

cd /usr/local/svn-tomcat/bin

sh startup.sh

上面的tomcat也是在192.168.0.239Linux机器上安装的。在Windows的浏览器中访问http://192.168.0.239:9090/




Svn Admin部署到tomcat

1.svnadmin 介绍 
https://code.google.com/p/jsvnadmin/

2.svnadmin下载地址 
https://jsvnadmin.googlecode.com/files/svnadmin-3.0.5.zip

Svn Admin是一个Java开发的管理Svn服务器的项目用户的web应用。安装好Svn服务器端好,把Svn Admin部署好,就可以通过web浏览器管理Svn的项目,管理项目的用户,管理项目的权限。使得管理配置Svn简便,再也不需要每次都到服务器手工修改配置文件。


上传svnadmin.war到虚拟的linux服务器192.168.0.239,放到/usr/local/svn-tomcat/webapps

解压svnadmin.war

unzip svnadmin.war -d svnadmin

删除svnadmin.war

rm -rf svnadmin.war

修改svnadmin/WEB-INF/jdbc.properties

/usr/local/svn-tomcat/webapps/svnadmin/WEB-INF

vi jdbc.properties



在本地Windows的机器上,通过Navicat连接1922.168.0.239上的mysql,创建数据库svnadmin并设置数据库字符集为utf-8,导入对应的数据库文件mysql5.sql(表和数据)、en.sql(语言编码)



启动192.168.0.239上的tomcat,在本地Windows机器上访问http://192.168.0.239:9090/svnadmin


登录成功之后的主页面


新建项目


在239机器上查看svn库目录下多了一个AiCheYiXiu目录


点击AiCheYiXiu项目的url,如下图所示,发现认证失败,即当前用户admin没有对AiCheYiXiu项目的任何操作权限。因此,在右侧针对该项目设置用户组。


点击保存后如下图


向用户组中添加用户


因为developer属于AiCheYiXiu资源的用户组,并且向该用户组分配了读写权限,然后向developer用户组中添加了用户admin。此时,admin用户拥有了对AiCheYiXiu资源的读写权限。


对AiCheYiXiu目录赋权,因为使用Apache和SVN整合,在使用svnadmin对资源进行管理的时候,用户的group和user均为apache

vi /etc/httpd/conf/httpd.conf


然而我们新建的资源AiCheYiXiu所属的用户组和用户均为root,因此需要做如下设置。

chown -R apache.apache  AiCheYiXiu

chmod -R 777 AiCheYiXiu



关闭SELinux的文件访问权限

vi /etc/selinux/config



重启Linux

reboot

重启tomcat

/usr/local/svn-tomcat/bin/startup.sh

在本地Windows中访问http://192.168.0.239:9090/svnadmin



若需要添加用户,可如下图操作


若需要添加用户组


给新加用户组添加针对指定项目的特定权限


将新添加的用户cb,添加到新添加的用户组UI中,如下图





安装Tortoise


下载地址https://tortoisesvn.net/downloads.html

下载并安装TortoiseSVN、LanguagePack

在桌面右键--TortoiseSVN--Repo-browser如下图




项目导入SVN服务器

选中待导入的项目--右键Tortoise SVN--Import





Eclipse中检出项目

在Eclipse中新建资源库,指定项目路径http://192.168.0.239/svn/AiCheYiXiu



检出此项目



一般不会把项目下的target、.project、.classpath、.settings提交到SVN中,可能需要删除SVN上所有的这些目录和文件。

在本地Windows的桌面,右键TortoiseSVN--Repo-browser,查看并删除不需要的目录和文件。


下图为设置Eclipse忽略提交







猜你喜欢

转载自blog.csdn.net/chenbinqq/article/details/79835416