因为电脑分区表出现错误,以前所以的资料都没有了,这几天一直在恢复数据
整理程序。以前好多程序的配置都忘了,重新设置花了我好长时间。所以今天
就记录了SVN的配置过程(SVN1.4.5+apache2.26openssl-0.9.8e)
本机系统环境:
winxp en版 sp2
svn-win32-1.4.5.zip
apache_2.2.6-win32-x86-openssl-0.9.8e.msi
1.下载安装apache_2.2.6-win32-x86-openssl-0.9.8e.msi然后按提示
安装即可。
2.下载svn-win32-1.4.5.zip,根据你的apache版本下载相应的SVN两个版本。
3.创建subversion目录,将上边压缩包的内容解压至这个目录,比如:d:/web/svn
4.在windows环境变量path中加入 ;D:\web\svn\bin\
以便在任何目录下可以直接调用bin里面的文件,主要是命令行文件以及so模块文件。
另外在环境变量中加入 APR_ICONV_PATH=d:\web\svn\iconv
5.打开apache的配置文件httpd.conf找到下面两行
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
去掉前面的#注释号
在这两行下面加入以下两行
LoadModule dav_svn_module "D:/web/svn/bin/mod_dav_svn.so"
LoadModule authz_svn_module "D:/web/svn/bin/mod_authz_svn.so"
#以上黑体的目录路径根据你自己目录创建的情况自行修改
6.重新启动apache服务,如果出现It works!,查看apache logs error.log.看到
Apache/2.2.6 (Win32) SVN/1.4.5 DAV/2 configuredsvn 则说明SVN已经作为
apache的模块正常调用
7.在apache的配置文件httpd.conf的最后添加下面这些行:
程序代码<Location /svn>
DAV svn
SVNParentPath D:\web\svnroot
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile D:\web\svnroot\passwd
#AuthzSVNAccessFile D:\svnaccessfile
Require valid-user
</Location>
注意路径!
详细说明如下:
—————————————————————————
<Location /svn>
意味着可以通过像这样的URL(http://MyServer/svn)来访问Subversion版本库
DAV svn
告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块
SVNListParentPath on 显示指定路径下面的所有版本库
在Subversion 1.3及更高版本中,这个指示器使得Subversion列出由SVNParentPath指定的目录下所有的版本库
SVNParentPath D:\SVN
告诉Subversion在目录D:\SVN下寻找版本库 #(修改成你自己的目录)
AuthType Basic
启用基本的验证,比如用户名/密码
AuthName "Subversion repositories"
当一个验证对话框弹出时,告诉用户这个验证是用来做什么的
AuthUserFile D:\passwd #(密码文件,不是文件夹哦)
指定D:\passwd用为密码文件用来验证用户的用户名及密码
AuthzSVNAccessFile D:\svnaccessfile
指定D:\svnaccessfile来限定各个用户或组在版本库中目录的访问权限
Require valid-user
限定用户只有输入正确的用户名及密码后才能访问这个路径
—————————————————————————–
8.创建passwd文件
打开命令行(DOS窗口CMD),
将当前目录切换到apache的bin目录
输入命令:
htpasswd.exe -c D:\web\svnroot\passwd username
Automatically using MD5 format.
New password: ****** (输入密码)
Re-type new password: ******
Adding password for user username
上边的黑体目录要和Httpd.conf 中设定的是一致,当然生成后复制过去也行。
再增加用户时,要去除-c 参数
htpasswd.exe D:\web\svnroot\passwd username2
重启Apache服务。
9.(3)TortoiseSVN1.4.5
TortoiseSVN1.4.5官方下载地址
按提示安装完成,需重启电脑
10.SVN项目设置
(1).打开资源管理器,在D:\web\svnroot目录下新建WWW目录
(2).在WWW文件夹上右击TortoiseSVN—>Create repository here…
(也可以通过命令的方式:到SVN的安装BIN目录。运行:svnadmin create D:\web\svnroot\www
D:\web\svnroot目录需先建好,要不会出错:
svnadmin: 档案库创建失败
svnadmin: 无法创建最上层目录
(3).然后选择Native filesystem(FSFS)
(4).到项目文件夹上,右击TortoiseSVN–>import…
在URL of repository:中输入http://YourIP/svn/www
(5).项目成员,可在自己机上新建一个空的项目文件夹.右击SVN checkout…
在提示的用户名和密码对话框中输入服务端配置的用户名和密码;然后点击OK;后面对话框中即会显示逐个加入的文件和目录信息,最后一条显示“Completed At Version 1”。
如果成功,可以在本地目录下看到相应的代码文件。选中文件或目录,可以进行“SVN Update”(从服务器更新版本)和“Svn Commit”(提交更改到服务器)操作。
11.SSL 配置(本机安装的是 apache 的带 openssl的 版本)
(1)复制apahce2/conf目录openssl.cnf 文件到bin目录(带路径可忽略这一步)
(2)生成RSA密钥 (private key) 下面两个命令都可以生成密钥,
openssl genrsa -des3 -out ca.key
openssl genrsa -out ca.key
-des3选项可以加密生成的密钥, 但是Win32平台不支持加密密钥,启动Apache时会产生
以下错误信息, "SSLPassPhraseDialog builtin is not supported on Win32"
(当时不清楚我就加了-des3参数,且出现这个错误时apache启动不报错,查看日志才发现以上错误。)
openssl genrsa -out ca.key 1024
(3) 产生 CA require cert,按提示填入相应的内容
openssl req -config openssl.cnf -new -key ca.key -out ca.csr
(4) 产生 CA public cert
openssl x509 -days 3650 -req -signkey ca.key -in ca.csr -out ca.crt
(5) 产生 Server private key
openSSL genrsa -out ssl/server.key 1024
(6) 产生 Server require cert,按提示填入和上边相同的内容
openssl req -config openssl.cnf -new -key server.key -out server.csr
(7) 产生 Server public key
openssl ca -config openssl.cnf -days 3650 -cert ca.crt -keyfile ca.key -in server.csr -out server.crt
运行这个命令会出错:I am unable to access the ./demoCA/newcerts directory….
错误原因是没有手动创建一个CA目录结构
└─demoCA
├─newcerts
├─index.txt
&
nbsp; ├─serial
在demoCA中建立 index.txt 空文件, serial文件 , serial文件 中可输入01
此时再运行以上的命令即可生成server.crt
将生成的 ca.crt、server.crt 和 server.key 放入apache的 conf 目录中
(8) 编辑apache的配置文件httpd.conf
去掉以下语句的注释, Include conf/extra/httpd-ssl.conf
例:
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
#
(9) 编辑 conf/extra/httpd-ssl.conf
把SSLMutex标签的值改为default
检查以下项目对应的文件的目录是否正确
SSLCertificateFile "D:/web/Apache2.2/conf/server.crt"
SSLCertificateKeyFile "D:/web/Apache2.2/conf/server.key"
SSLCertificateChainFile "D:/web/Apache2.2/conf/ca.crt"
(10) 重启apahce 打开https://127.0.0.1
一切OK。
发表于 2009年08月8日 19:19
不知道一个欠钱的人和一个没钱的人哪个会惨一点呢?我从曾经的一个无忧无虑的人变到现在这样,为还债和养家奔波每一天,过得很累的每一天,很不开心的每一天,不知道这样的日子何时才能结束呢?又时痛恨没钱的日子,有时庆幸没钱的日子。
发表于 2009年04月26日 11:59
生命不胜于饮食么?身体不胜于衣裳么?
你的这篇短文让我想起耶稣说过的这句话.
我随意键入"没钱的日子"就看到了你的这篇文章.
因为我在经历着没钱的日子.
看到你的文章.感受良多……谢谢了.
发表于 2008年04月18日 13:58
没钱不要紧,简单的饮食更养人;没钱不要紧,简单的生活更自由.当然,不能没有饮食,没有希望.
发表于 2008年04月13日 11:48
我也正经历着没钱的日子 想起曾有钱的感觉真好 对于处在读书的我来说 日子的确难熬 不过我还得感谢这种没钱的日子 因为这些天我也相通了很多 增长了不少 QQ710161585
发表于 2007年08月29日 16:58
我现在也是正在经历没钱的日子,对一个刚毕业的大学生而说,是难堪而难受的,看了你的文章,想通了很多的事情。谢谢.我想我会渡过那个难关的!