分享

linux Centos yum的安装和配置和使用/SVN的搭建

 shopnc 2016-12-29

原文: CentOS yum 源的配置与使用

     yum报错找不到源

将Centos的yum源更换为国内的阿里云源

    Centos7上搭建SVN服务器并实现自动同步至web目录

SVN服务器搭建

SVN和www同步        www同步2            同步3


http://blog.csdn.net/u012194886/article/details/44300495



报错的解决方法:       

Could not retrieve mirrorlist http://apt./redhat/el5/en/mirrors-rpmforge error was

14: PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"

http://apt./redhat/el5/en/x86_64/rpmforge/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"


由于最近跟学长一起合作完成一个小项目,然后我俩比较熟悉的版本控制是SVN,就考虑着在服务器上搭建一个SVN服务器。现在在这里给出简单的搭建过程。 
(其实吧,能用Git就尽量用git吧,好处自己百度,有关搭建请参考我的另一篇博客搭建服务器上的GIT并实现自动同步到站点目录(www),这篇博客与git搭建的过程应该是基本一样的)

预期目的:

1、仓库放在 /var/svn/ 目录下,并且仓库名为 project

2、创建用户组lsgogroup,该组下添加两个成员lsgoweb1、lsgoweb2,密码直接用用户名,两用户可以checkout代码和提交代码

3、利用SVN的钩子实现当仓库的代码更新的时候自动同步至我们的web目录,在这里,我的web目录在 /home/www/ 下

一、搭建svn环境并创建仓库:

1、安装Subversion:

yum install -y subversion

2、检测是否安装成功(查看svn版本号)

svnserve --version

3、创建版本库

//先建目录 mkdir /var/svn cd /var/svn //创建版本库 svnadmin create /var/svn/project cd project //会看到自动生成的版本库文件 conf  db  format  hooks  locks  README.txt

至此,svn环境搭建成功。

二、创建用户组及用户:

1、 进入版本库中的配置目录conf,此目录有三个文件: svn服务综合配置文件(svnserve.conf)、 用户名口令文件(passwd)、权限配置文件(authz)。

2、修改权限配置文件:vim authz

3、配置用户名命令文件:vim passwd

4、配置SVN服务综合配置文件svnserve.conf

//找到以下配置项,将前面的#号去掉,然后做相应的配置 anon-access = none  //匿名用户访问权限:无 auth-access = write     //普通用户访问权限:读、写 password-db = passwd        //密码文件 authz-db = authz        //权限配置文件 realm = /var/svn/project    //版本库所在1

注意:所有以上的配置项都需要顶格,即前面不能预留空格,否则报错

5、启动svn服务:

svnserve -d -r /var/svn

如果提示:

svnserve: E000098: Can't bind server socket: Address already in use

证明现在svn已经被启动了,由于我们修改了配置文件,因此要重启svn服务

//查看svn服务详情 ps aux | grep svn //将svn服务强制停止  其中790为svn服务的ID号,-9是kill的参数 kill -9 790

或者用

killall svnserve

再运行 svnserve -d -r /var/svn,进行启动服务

6、测试服务器:

//我们在web目录测试(/home/www) cd /home/www svn co svn://localhost/project

如果提示:Checked out revision 1.  表示checkout成功

我们添加新文件来测试是否提交成功

cd /home/www touch index.php svn add index.php   //成功的话会显示  A index.php svn commit index.php -m "测试提交文件"

假如最后提示:

Adding         index.php Transmitting file data . Committed revision 2.

则表示我们svn服务器搭建成功!文件已经能够推送了。

7、本地拉取、推送

在本地首先要安装SVN吧,具体百度。。。

填写信息:

点击ok,提示输入用户名和密码

就填刚才我们创建的lsgoweb1或lsgoweb2,和对应的密码即可。

三、实现svn更新自动同步到web目录:

1、在web目录中checkout版本库

这一步算是比较关键的一步了,当时我搭建的时候试了无数次,就是缺少了这一步。把刚才checkout的版本库删掉,我们来一次比较正式的checkout:

svn co svn://localhost/project /home/www --username lsgoweb1(SVN账号) --lsgoweb1(SVN密码)

进入/var/svn/project/hooks下,建立post-commit文件:

cd /var/svn/project/hooks vim post-commit //在该文件里添加如下代码,保存 #!/bin/sh #设定环境变量,如果没有设定可能会出现update报错 #设定语言,根据系统语言设置,如果是GBK就设置为.GBK export.utf8 SVN_PATH=/usr/bin/svn   //这里不用改 WEB_PATH=/home/www  //web目录,如果你的不同,可以改 //这里的用户随便一个就好 $SVN_PATH update $WEB_PATH --username 'lsgoweb1' --password 'lsgoweb1' --no-auth-cache

保存退出。

修改post-commit用户为www目录用户

chown apache:apache post-commit     //我的 /home/www 的用户组和所有者都是apache

给post-commit 执行权限:

chmod 755 post-commit


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多