您的位置:首页 > 运维架构 > Apache

Linux Apache+Svn的配置过程

2012-04-23 17:48 495 查看
Linux Apache+Svn的配置过程一、名词解释1、Check out——从服务器端取得代码 把服务器资料库里存放的某个项目代码取出来,放到本地主机中,这个动作叫做“check out”。使用具体步骤:进入要安装项目文件的目录中,点击鼠标右键,选择SVN Check out项,然后填写项目的原始路径和安装路径后点击“ok”即可。 2、Update——更新项目代码 以前checkout过的一个项目代码,当服务器上有了更新的代码,或者本地代码损坏或丢失,update可以自动判断本地哪些文件较旧,或者缺少,都会自动更新。当然,你也可以删除掉本地代码,重新check out。使用具体步骤为:在要更新的项目上点击鼠标右键,选择“SVN Update”项即可。 3、Commit——将本地代码上传到服务器 当修改(增加,删除,修改等所有写操作)过本地代码后,这个动做会把新代码提交到SVN。如果本地代码做了修改,不执行commit操作,SVN服务器上是不会有这个新版本的,也就是说其它人也得不到。对代码做过修改后,应尽快commit。使用具体步骤:在修改完待上传的项目上点击鼠标右键,选择“SVN Commit”项即可。 4、Export——将项目导出到本地 如果想要得到一个完整的项目,且不需要再进行版本的改动,可以直接把该项目导出版本控制系统,成为一个普通文件进行使用。具体步骤为:单击鼠标右键,选择TortoiseSVN——>>Export项,然后填入要导出的项目既可。 5、Show Log——显示所有版本 如果项目成员想查看本地下载的属于版本控制内的某个项目以前的所有版本,就在该项目上单击鼠标右键,选择TortoiseSVN菜单下的Show Log项。则该项目的所有版本及其每个版本的修改信息都将显示在出现的新对话框下,供项目成员进行参考。 6、Update To Revision——恢复到某个版本 当项目成员想要把某个项目恢复到以前的某个版本时,在该项目上单击鼠标右键,选择TortoiseSVN菜单下的Update To Revision,于是,在出现的Update对话框中可以先点击“Show Log”来查看及确定要恢复到的版本号,或者直接将要恢复到的版本号填入“Revision”旁的编辑区内,最后点击“OK”。于是,该项目就恢复到想要的项目版本了。 7、Add——增加文件 当项目成员想在项目中添加一个新文件时,请把该文件先拷贝到项目文件加下,然后,在该文件上单击鼠标右键,选择TortoiseSVN菜单下的Add项,于是,该文件就可以被添加到项目中了。二、安装Apache1.解压Apache安装包[root@cent6]#tar zxvf httpd-2.2.21.tar.gz2.配置Apache[root@cent6]#cd httpd-2.2.21[root@cent6 httpd-2.2.21]#useradd apache[root@cent6 httpd-2.2.21]#groupadd apache[root@cent6 httpd-2.2.21]#usermod -G apache apache[root@cent6 httpd-2.2.21]# ./configure --prefix=/opt/httpd/ --enable-deflate --enable-expires --enable-headers --enable-modules=most --enable-so --with-mpm=worker --enable-rewrite --enable-ssl --enable-mods-shared=all ---进行编译[root@cent6 httpd-2.2.21]#make && make install ---安装[root@cent6]#/opt/httpd/bin/apachectl start ---启动Apache服务打开浏览器输入http://ip地址,如果出现“It works!"则安装成功。三、安装Subversion1.下载Subversionhttp://labs.mop.com/apache-mirror/subversion/subversion-1.7.4.tar.gz2.解压Subversion[root@cent6]#tar zxvf subversion-1.7.4.tar.gz3.安装Subversion[root@cent6]#cd subversion-1.7.4[root@cent6 subversion-1.7.4] ./configure --with-apxs=/opt/httpd/bin/apxs --prefix=/opt/subversion/ --with-apr=/opt/httpd/ --with-apr-util=/opt/httpd/ --with-ssl --with-zlib --enable-maintainer-mode[root@cent6 subversion-1.7.4]make && make install4.报错及解决方法报错信息:unpack the archive using tar/gunzip and copy sqlite3.c from theresulting directory to:/opt/software/subversion-1.7.4/sqlite-amalgamation/sqlite3.c解决方法:wget http://www.sqlite.org/sqlite-amalgamation-3070800.zipunzip sqlite-amalgamation-3070800.zip mkdir /opt/software/subversion-1.7.4(解压后的目录)/sqlite-amalgamationcp sqlite3.c /opt/software/subversion-1.7.4/sqlite-amalgamation/5.创建库文件所在目录[root@cent6]#mkdir /opt/svn [root@cent6]#chmod 766 /opt/svn[root@cent6 opt]#subversion/bin/svnadmin create /opt/svn/test ---test为仓库[root@cent6]#cd /opt/svn/testlltotal 24drwxr-xr-x 2 root root 4096 Apr 23 14:30 confdrwxr-sr-x 6 root root 4096 Apr 23 14:30 db-r--r--r-- 1 root root 2 Apr 23 14:30 formatdrwxr-xr-x 2 root root 4096 Apr 23 14:30 hooksdrwxr-xr-x 2 root root 4096 Apr 23 14:30 locks-rw-r--r-- 1 root root 229 Apr 23 14:30 README.txtconf 目录下存放了版本库的配置文件,包括用户访问控制和权限控制等内容。db 目录下存放着 Subversion 所要管理的所有受版本控制的数据,不同的存储方式(Berkeley DB 或者 FSFS)下有着不同的目录结构,不过我们一般不用直接修改和查看这个目录下的内容hooks 目录存放着钩子脚本及其模版(一种版本库事件触发程序)locks 目录存放着 Subversion 版本库锁定数据format 文件记录了版本库的布局版本号6.修改Apache配置文件[root@cent6]#vim /opt/httpd/conf/httpd.confLoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>DAV svnSVNParentPath /opt/svn ---表示 /opt/svn 下的每个子目录都是一个版本库。可以通过 http://服务器IP/svn/test,http://服务器IP/svn/ppp1 来访问。AuthzSVNAccessFile /opt/svn/authz.conf ---权限配置文件AuthType BasicAuthName "SVN"AuthUserFile /opt/svn/authfile ---用户配置文件Require valid-user</Location>重启Apache :[root@cent6]#/opt/httpd/bin/apachectl restart7.权限管理1)添加用户和密码[root@cent6 bin]#./htpasswd -c /opt/svn/authfile abc ---第一次设置用户[root@cent6]#/opt/httpd/bin/htpasswd -m -b /opt/svn/authfile bow 123456(密码) ---再次添加用户m:强制执行密码的MD5加密b:从命令输入密码[root@cent6]#/opt/httpd/bin/htpasswd -m /opt/svn/authfile bowsNew password: Re-type new password: 2)权限分配[root@cent6]#vim /opt/svn/authz.conf[test:/] ---仓库test 的根目录下的访问权限abc = rw ---test仓库用户abc具有读和写的权限
[/] ---在所有仓库的根目录下abc = rw@groups = rw ---@表示这是个群组权限设置[groups]groups=abc bow重启apache后,可以用URL访问SVN了。当使用客户端连接是报500错误,需要将权限修改为766 库目录的用户修改为apache也可以修改为其他用户,但要在Apache的配置文件中将User和Group修改为相应的用户名和组名。8.svn常用命令1)查看最新修订版本的信息,可以使用 svnlook info 命令:[root@cent6]#/opt/subversion/bin/svnlook info /opt/svn/testabc2012-04-23 16:51:08 +0800 (Mon, 23 Apr 2012)0命令输出了这个版本库的最新修订版本信息,包括作者、时间、日志字数和日志内容等。2)显示版本库的具体树形结构,后面的 “--show-ids” 选项指定显示每一个显示元素的修改版本 ID/ <0.0.r2/338> b.txt <0-2.0.r2/95> a.txt <0-1.0.r1/33>3)svnserve –i4)作为 inetd 启动 svnserve –d四、Apache+SVN+SSL(自签证书)1.[root@cent6 opt]#cd httpd/conf2.[root@cent6 conf]#openssl genrsa -out httpd.key 1024Generating RSA private key, 1024 bit long modulus.................................++++++...........++++++e is 65537 (0x10001)3.[root@cent6 conf]#openssl req -new -key httpd.key -out httpd.pem -days 3650 -x509You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [GB]:CN ---国家State or Province Name (full name) [Berkshire]:BJ ---城市Locality Name (eg, city) [Newbury]:ZHANG ---用户名Organization Name (eg, company) [My Company Ltd]:ABC ---公司名称Organizational Unit Name (eg, section) []:IT ---部门名称Common Name (eg, your name or your server's hostname) []:test ---主机名Email Address []:abc@qq.com ---邮箱名4.[root@cent6]#cd /opt/httpd/conf/extra/5.[root@cent6 extra]#vim httpd-ssl.conf SSLCertificateFile "/opt/httpd//conf/httpd.pem" SSLCertificateKeyFile "/opt/httpd//conf/httpd.key"6.[root@cent6 conf]#vim httpd.conf<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all SSLRequireSSL</Directory>7.[root@cent6 bin]#./apachectl restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: