ubuntu下搭建svn服务器以及设置SVN
来源:互联网 发布:手机淘宝网1元秒杀 编辑:程序博客网 时间:2024/06/10 08:18
=======================================================================================
OS :Ubuntu 12.04.3 LTS
kernel :3.2.0-29-generic
server IP: 172.16.147.13
svnserve :version 1.6.17 (r1128011)
svn client :TortoiseSVN version 1.7
=======================================================================================
一. 安装subversion配置
1.安装
#apt-get install subversion
2.添加svn管理用户及subversion组
# adduser svnuser# addgroup subversion# addgroup svnuser subversion # addgroup joe subversion #把自己的账号也加入
3.创建项目testpj目录
#mkdir /home/svnroot && cd /home/svnroot#mkdir testpj#chown -R root:subversion testpj# chmod -R g+rws testpj
4.创建SVN文件仓库
# svnadmin create /home/svnroot/testpj
操作这一步注意要确定testpj为空目录,执行完后生成以下文件可以用以下命令来查看svn的版本仓库路径以及服务是否开启。
ps -aux |grep svn
5.修改仓库访问权限
#chmod 700 /home/svnroot/testpj
6.配置仓库的访问权限
建好仓库可以通过修改 /home/svnroot/testpj/conf目录下:svnserve.conf 、passwd 、authz三个文件,来配置代码仓库的访问权限。注意:修改时行最前端不允许有空格
6.1编辑svnserve.conf文件
# vim svnserve.conf
### This file controls the configuration of the svnserve daemon, if you### use it to allow access to this repository. (If you only allow### access through http: and/or file: URLs, then this file is### irrelevant.)### Visit http://subversion.tigris.org/ for more information.[general]### These options control access to the repository for unauthenticated### and authenticated users. Valid values are "write", "read",### and "none". The sample settings below are the defaults.# anon-access = read read改为none# auth-access = write### The password-db option controls the location of the password### database file. Unless you specify a path starting with a /,### the file's location is relative to the directory containing### this configuration file.### If SASL is enabled (see below), this file will NOT be used.### Uncomment the line below to use the default password file.# password-db = passwd### The authz-db option controls the location of the authorization### rules for path-based access control. Unless you specify a path### starting with a /, the file's location is relative to the the### directory containing this file. If you don't specify an### authz-db, no path-based access control is done.### Uncomment the line below to use the default authorization file.# authz-db = authz### This option specifies the authentication realm of the repository.### If two repositories have the same authentication realm, they should### have the same password database, and vice versa. The default realm### is repository's uuid.# realm = My First Repository[sasl]### This option specifies whether you want to use the Cyrus SASL### library for authentication. Default is false.### This section will be ignored if svnserve is not built with Cyrus### SASL support; to check, run 'svnserve --version' and look for a line### reading 'Cyrus SASL authentication is available.'# use-sasl = true### These options specify the desired strength of the security layer### that you want SASL to provide. 0 means no encryption, 1 means### integrity-checking only, values larger than 1 are correlated### to the effective key length for encryption (e.g. 128 means 128-bit### encryption). The values below are the defaults.# min-encryption = 0# max-encryption = 256
anon-access = read
auth-access = write
password-db = password
authz-db = authz
并将anon-access = read的read改为none,禁止匿名用户访问。
password-db = password
authz-db = authz
6.2添加账号编辑/home/svnroot/testpj/conf/authz如下
[groups]admin = joe.chan[/]@admin=rw*=r
6.3 设置账号密码/home/svnroot/testpj/conf/passwd 如下:
[users]joe.chan = joe.chan
在windows下可以试着访问看看。如图
出现这个问题就是,没有执行创建仓库的操作
# svnadmin create /home/svnroot/testpj
二.添加固定提交模板
三.添加SVN邮件服务
邮件服务有多种,总结起来如下
- 基于mailer.py
- 基于svnnotify
- 基于sendmail
Sendmail 安装配置
安装
apt-get install sendmailapt-get install sendmail-cf配置sendmailc参考
sendmail.cf的配置语法比较难懂,一般资料上都是采用m4宏处理程序来生成所需的sendmail.cf文件(使用m4编译工具一般不容易出错,还可避免某些带有安全漏洞的宏对服务器造成的破坏)。其配置文件位于/etc/mail/sendmail.cf,在创建的过程中还需要一个模板文件,Linux自带有一个模板文件,位于/etc/mail/sendmail.mc.故可以直接通过修改sendmail.mc模板来达到定制sendmail.cf文件的目的,而不必去死啃哪些难理解的配置命令。配置步骤为:
http://www.360doc.com/content/13/1118/16/7492958_330261151.shtml
安装的过程有提示要在
/etc/mail/sendmail.mc
/etc/mail/submit.mc
中添加
postfix: fatal: the postfix command is reserved for the superuser
start-stop-daemon: unable to stat /usr/sbin/sendmail-mta (No such file or directory)
/etc/init.d/sendmail: line 296: /usr/sbin/sendmail-msp: No such file or directory
/etc/init.d/sendmail: line 296: /usr/sbin/sendmail-msp: No such file or directory
./commit-email.pl /home/svnroot/DailyBuildScripts/ 1 joe.chan@tpv-tech.com --from joe.chan@tpv-tech.com
./commit-email.pl: SMTP Error: 5.7.4 Unrecognized authentication type
下载svnmail
解压安装
tar -xvf svnmailer-1.0.9.tar.gzcd svnmailer-1.0.9python setup.py install安装前确定将setup.py 中 #/usr/bin/env python2.3修改为#!/usr/bin/python2.7
提示
SyntaxError: Non-ASCII character '\xc3' in file setup.py on line 36, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details保存为utf-8的格式,运行running installrunning buildrunning build_pycreating buildcreating build/lib.linux-x86_64-2.7creating build/lib.linux-x86_64-2.7/svnmailercopying src/lib/svnmailer/cli.py -> build/lib.linux-x86_64-2.7/svnmailercopying src/lib/svnmailer/differ.py -> build/lib.linux-x86_64-2.7/svnmailercopying src/lib/svnmailer/typedstruct.py -> build/lib.linux-x86_64-2.7/svnmailercopying src/lib/svnmailer/settings.py -> build/lib.linux-x86_64-2.7/svnmailercopying src/lib/svnmailer/browser.py -> build/lib.linux-x86_64-2.7/svnmailercopying src/lib/svnmailer/stream.py -> build/lib.linux-x86_64-2.7/svnmailercopying src/lib/svnmailer/subversion.py -> build/lib.linux-x86_64-2.7/svnmailercopying src/lib/svnmailer/main.py -> build/lib.linux-x86_64-2.7/svnmailercopying src/lib/svnmailer/util.py -> build/lib.linux-x86_64-2.7/svnmailercopying src/lib/svnmailer/config.py -> build/lib.linux-x86_64-2.7/svnmailercopying src/lib/svnmailer/struct_accessors.py -> build/lib.linux-x86_64-2.7/svnmailercopying src/lib/svnmailer/__init__.py -> build/lib.linux-x86_64-2.7/svnmailercreating build/lib.linux-x86_64-2.7/svnmailer/notifiercopying src/lib/svnmailer/notifier/_textmail.py -> build/lib.linux-x86_64-2.7/svnmailer/notifiercopying src/lib/svnmailer/notifier/stdout.py -> build/lib.linux-x86_64-2.7/svnmailer/notifiercopying src/lib/svnmailer/notifier/news.py -> build/lib.linux-x86_64-2.7/svnmailer/notifiercopying src/lib/svnmailer/notifier/_mail.py -> build/lib.linux-x86_64-2.7/svnmailer/notifiercopying src/lib/svnmailer/notifier/_multimail.py -> build/lib.linux-x86_64-2.7/svnmailer/notifiercopying src/lib/svnmailer/notifier/_base.py -> build/lib.linux-x86_64-2.7/svnmailer/notifiercopying src/lib/svnmailer/notifier/_textnews.py -> build/lib.linux-x86_64-2.7/svnmailer/notifiercopying src/lib/svnmailer/notifier/_text.py -> build/lib.linux-x86_64-2.7/svnmailer/notifiercopying src/lib/svnmailer/notifier/cia_xmlrpc.py -> build/lib.linux-x86_64-2.7/svnmailer/notifiercopying src/lib/svnmailer/notifier/mail.py -> build/lib.linux-x86_64-2.7/svnmailer/notifiercopying src/lib/svnmailer/notifier/selector.py -> build/lib.linux-x86_64-2.7/svnmailer/notifiercopying src/lib/svnmailer/notifier/__init__.py -> build/lib.linux-x86_64-2.7/svnmailer/notifierrunning build_scriptscreating build/scripts-2.7copying and adjusting src/svn-mailer -> build/scripts-2.7changing mode of build/scripts-2.7/svn-mailer from 644 to 755running install_libcreating /usr/local/lib/python2.7/dist-packages/svnmailercopying build/lib.linux-x86_64-2.7/svnmailer/cli.py -> /usr/local/lib/python2.7/dist-packages/svnmailercopying build/lib.linux-x86_64-2.7/svnmailer/differ.py -> /usr/local/lib/python2.7/dist-packages/svnmailercopying build/lib.linux-x86_64-2.7/svnmailer/typedstruct.py -> /usr/local/lib/python2.7/dist-packages/svnmailercopying build/lib.linux-x86_64-2.7/svnmailer/settings.py -> /usr/local/lib/python2.7/dist-packages/svnmailercopying build/lib.linux-x86_64-2.7/svnmailer/browser.py -> /usr/local/lib/python2.7/dist-packages/svnmailercopying build/lib.linux-x86_64-2.7/svnmailer/stream.py -> /usr/local/lib/python2.7/dist-packages/svnmailercopying build/lib.linux-x86_64-2.7/svnmailer/subversion.py -> /usr/local/lib/python2.7/dist-packages/svnmailercopying build/lib.linux-x86_64-2.7/svnmailer/main.py -> /usr/local/lib/python2.7/dist-packages/svnmailercopying build/lib.linux-x86_64-2.7/svnmailer/util.py -> /usr/local/lib/python2.7/dist-packages/svnmailercopying build/lib.linux-x86_64-2.7/svnmailer/config.py -> /usr/local/lib/python2.7/dist-packages/svnmailercopying build/lib.linux-x86_64-2.7/svnmailer/struct_accessors.py -> /usr/local/lib/python2.7/dist-packages/svnmailercreating /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/notifier/_textmail.py -> /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/notifier/stdout.py -> /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/notifier/news.py -> /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/notifier/_mail.py -> /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/notifier/_multimail.py -> /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/notifier/_base.py -> /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/notifier/_textnews.py -> /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/notifier/_text.py -> /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/notifier/cia_xmlrpc.py -> /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/notifier/mail.py -> /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/notifier/selector.py -> /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/notifier/__init__.py -> /usr/local/lib/python2.7/dist-packages/svnmailer/notifiercopying build/lib.linux-x86_64-2.7/svnmailer/__init__.py -> /usr/local/lib/python2.7/dist-packages/svnmailerbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/cli.py to cli.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/differ.py to differ.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/typedstruct.py to typedstruct.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/settings.py to settings.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/browser.py to browser.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/stream.py to stream.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/subversion.py to subversion.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/main.py to main.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/util.py to util.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/config.py to config.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/struct_accessors.py to struct_accessors.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/notifier/_textmail.py to _textmail.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/notifier/stdout.py to stdout.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/notifier/news.py to news.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/notifier/_mail.py to _mail.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/notifier/_multimail.py to _multimail.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/notifier/_base.py to _base.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/notifier/_textnews.py to _textnews.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/notifier/_text.py to _text.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/notifier/cia_xmlrpc.py to cia_xmlrpc.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/notifier/mail.py to mail.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/notifier/selector.py to selector.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/notifier/__init__.py to __init__.pycbyte-compiling /usr/local/lib/python2.7/dist-packages/svnmailer/__init__.py to __init__.pycrunning install_scriptscopying build/scripts-2.7/svn-mailer -> /usr/local/binchanging mode of /usr/local/bin/svn-mailer to 755running install_datacreating /usr/local/man/man1copying docs/svn-mailer.1 -> /usr/local/man/man1running install_egg_infoWriting /usr/local/lib/python2.7/dist-packages/svnmailer-1.0.9.egg-info安装完成运行svn-mailer --version#svn-mailer --versionsvnmailer-1.0.9with svn 1.6.17 (r1128011)
以下是commit-email.pl 的提示
# ====================================================================# This script is deprecated. The Subversion developers recommend# using mailer.py for post-commit and post-revprop change# notifications. If you wish to improve or add features to a# post-commit notification script, please do that work on mailer.py.# See http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/mailer .# ====================================================================root@xmdt4002954:/home/share/temp# ./commit-email.pl /home/svnroot/testpj/ 1 joechen@gmail.com --from joechan@gmail.comNo SASL mechanism found at /usr/share/perl5/Authen/SASL.pm line 77 at /usr/share/perl/5.14/Net/SMTP.pm line 143
需要安装 apt-get install libauthen-sasl-cyrus-perl libauthen-sasl-perl./commit-email.pl /home/svnroot/DailyBuildScripts/ 1 joe.chan@tpv-tech.com --from joe.chan@tpv-tech.com
- ubuntu下搭建svn服务器以及设置SVN
- ubuntu 下搭建svn服务器,以及自动更新到web服务器。
- Ubuntu 14.04 下搭建SVN服务器 svn://
- Ubuntu 14.04 下搭建SVN服务器 svn
- Ubuntu 14.04 下搭建SVN服务器 svn://
- ubuntu下搭建svn服务器
- ubuntu下搭建svn服务器
- ubuntu下搭建svn服务器
- ubuntu下搭建svn服务器
- ubuntu下搭建svn服务器
- ubuntu下svn服务器搭建
- ubuntu下svn服务器搭建
- Ubuntu下搭建svn服务器
- ubuntu下搭建svn服务器
- ubuntu下搭建svn服务器
- Ubuntu下搭建SVN服务器
- Ubuntu下搭建SVN服务器
- Ubuntu 下搭建SVN服务器
- 本地管理的表空间--数据字典管理的表空间
- Java发邮件出现java.lang.ArrayStoreException
- 关键词查找,正向匹配和for循环比较
- error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value '
- 如何去完成一个SAP notes的实现
- ubuntu下搭建svn服务器以及设置SVN
- android The project target (Android 2.2) was not properly loaded
- cocos2d-x中的NODE_FUNC和CREATE_FUNC宏作用
- 通过java提供的URL类包读取网上的文件
- mybatis+spring3实战3 - sqlSessionTemplate 方式
- Tomcat部署多个应用站点的方法
- Windows基本数据类型 和常用的预定义句柄类型
- 汇丰 密码器 使用
- js异步上传图片