Original address: http://spaces.msn.com/members/stevengong/ About SVN Sorry, recently is busy, so there is no time to reply, because I hope to write some things. Using the version management tool management project has been a long time, from the beginning of CVS to the current SVN (contact VSS but no management experience). If I use SVN, I have a little bit of wind, then I am now talking about it. Now I use CVS administrators, please transplanted into SVN as soon as possible, because there is a thousand transplantation reasons (exaggerated). I really don't know how to manage CVS at that time, it is really unbearable! The first is to configure, don't forget to configure Cvswrapper, because CVS does not automatically discriminate Binary methods, so you must let you tell her. Then the management of Branch, playing n tag does not say, the process of working MERGE is really uncomfortable, and the situation of repeating merge is a common thing. SVN seems to be designed for painful CVS administrators. We don't have to worry about binary file, Branch management has become so easy, so that the administrators will make BRANCH (don't treat my words, the principle of Branch management is try not to branch). Merge's process even a programmer who has no experience will operate, this is unimaginable when using CVS. In addition, the HTTP access provided by SVN makes it possible to integrate with other systems. Although CVS has a toolworthy tool, it is not so natural. SVN's HTTP Access is like accessing the file system, we can put a URL to a place as a reference, how magic, this reference has version control, because each access is the latest version. Of course, in addition, SVN installation configuration is also very convenient, but unfortunately there is no complete tutorial to include the installation starting from 0, so I wrote such a Guide here, on the one hand as a memo, one aspect as a pair People who wish to configure SVN provide convenience. I have seen the URL of the round, that is a good post, but telling the truth, I really don't interested with M $, of course, if M $ will use svn, I will be very happy. . As for Shadow Authentication, I also found it recently. We used to use Htpasswd to generate user / pass. But the fatal problem of this way is that modification of Password is very troublesome, because we all want Password to set it yourself. Through the integration of the Linux account, you can log in directly to the system directly and modify it. The biggest problem facing Shadow Authentication is that this file is only root has access, and the web server is using the Apache account, so the shadow uses a validate program, this program is setuid root, and Shadow Module uses PIPE Communicate with this program. In this way, you can access the high privilege file in the case of low permissions. Of course, I haven't studied the code carefully, this is in the document, it is a bit shameless, huh, huh!
19:59 |
Fixed link
|
Comments (1)
|
Reference Notice (0)
|
Record it
| Computer and Internet
Fixed link
http://spaces.msn.com/members/stevengong/blog/cns!1phaa1y9nykg760vwc-9jyrq !119.entry
April 1 A step-by-step configuration guide for SVN server setup with HTTPS based on shadow authenticationAbstraction:. This guide will step-by-step show the installation and configuration process for SVN server with HTTPS based on linux shadow authentication Detail: Before you can install svn server with SSL support, please make sure you have openssl, svn, apache and mod_shadow_auth module packages at hand you can download them below:. openssl: http://www.openssl.org svn: Subversion Binary for Redhat 9 apache: http://httpd.apache.org mod_shadow_auth: Shadow authentication module for apacheFirstly, please install openssl if you have not you can also find RPM binary in RH9 CDs.Install or update the svn RPM The necessary RPMs are.. : APR, APR-Util, Neon, Subversion, Subversion-Server.Then, Compile Apache2. I Recommend You to Compile MOD_SSL AND MOD_DAV AS Builtin Module. (/ Path / TO / Configure --prefix = / path / to / installation - -ENABLE-SSL --ENABLE-DAV) Compile and install mod_shadow_auth. That is' Make all 'and' make install 'Note:. before you enter' make ', please modify' makefile 'to make the env point to your apache2 installation.Now, it's done You can begin configuring your SVN server now..
Create SVN repository: svnadmin create / path / to / repo && chown -R apache: apache / path / to / repo The second command let the apache2 access your repository Prepare SSL certifications I suppose you do not have enough money to... Buy a Certification from, Say, VeriSign. Create a self-signed certification yourself.
Create a Key: OpenSSL Genrsa -Des3 -OUT / PATH / TO / Key / KeyFile 1024 Create a Request: OpenSSL Req -new -days 1800 -key / path / to / key / keyfile -out / path / to / Req / ReqFile Create a certificate: OpenSSL X509 -IN / PATH / TO / REQ / REQFILE -SIGNKEY / PATH / TO / KEY / KEYFILE -OUT / PATH / TO / CRT / CRTFILED THESE Steps, The Console May Request You To Input Password for your key Several Times. The '-des3' Option Means You Use Des3 To Encrypt Your Rsa Keys. Configure Apache for Ssl: Edit /Path/to/apache2/conf/ssl.conf -->EDIT SSLCERTIFICATEFILE TO POINT TO / PATH / TO / crt / crtfile -> edit SSLCertificateKeyFile to point to / path / to / key / keyfile Configure apache server for SVN Copy /usr/lib/httpd/modules/mod_authz_svn.so and mod_dav_svn.so to / path / to / apache2.. / MODULES. Open /PATH/TO/apache2/conf/httpd.conf. add several 'loadingmodule' Directive if you'd like to for modules you just copied. (in apache2, it's not necessary "). Add A 'location' Tag Like Thus:
DAV SVN
Svnpath / path / to / repo
Authtype Basic
Authname "Subversion Repository"
Authshadow on
Require group yourgroup
Limited itxt>
Location>
You can modify 'Require Group' to 'Require User' if You Want to do user-based authentication.
Now, start apache: / path / to / apache2 / bin / apachectl startssl You'll need to input your password for your rsa-key Then all is done Summary:... The benefit for authentication based on shadow is that it's easy to Integrate User Management To OS and Let The Management More Smooth. (EG. Modification of Password)