西湖鱼 发表于 2015-8-1 11:19:53

CVSWEBNT

http://www.devguy.com/fp/cfgmgmt/cvs/cvswebIIS.htm
  This code is based on the feature-rich cvsweb by            Henner Zeller. Modifications for IIS were incorporated by Arthur Barrett.Thisdistribution is based on Henner's cvsweb 1.93.Visit the cvswebnt      home to see cvswebnt in action and to check for newer versions.
      Alternative - ViewCVS

[*]ViewCVS for Windows
Machine Requirements when running on IIS

[*]Windows NT4 SP4 or later, Server or Workstation, with NT4 option          pack
[*]Windows 2000 Server or Professional with IIS 5
CVSWeb also runs on Microsoft Personal Web Server.These instructionsmight not properly set up such a server, however.  Apache Installation
  See here
IIS Installation
Note:if you change the SYSTEM path, it will only take effect after a reboot.      
[*]Make sure to install a version of CVSNT other than builds 34-39.
[*]Install IIS (on NT4, viaNT Option Pack          4) on the computer that has the          raw CVS repository          files.This machine is named tigerin these instructions.You can use network shares, so the files don'tnecessarily have to reside on the IIS machine, but you will undoubtedlyrun into file access permissions hell.
[*]These instructions assume that the IIS wwwroot folder is located at c:\inetpub\wwwroot.         Change these instructions to match the actual path of your wwwroot.
[*]Copy all executable files from the         CVSNT program files directory to a directory in your PATH
[*]Extractthe diff distribution         to a directory in your PATH
[*]If you wish to allow anonymous access,

[*]Set the LockDir      option and give the users IUSR_ and IWAM_ "Full          control" permissions to the lock folder and its subfolders e.g., c:\locks
[*]If you don't set a a locks directory, you must give the users IUSR_ and IWAM_         "Full control" permissions to all files and folders in the CVS         repository
[*]Give the users IUSR_ and IWAM_ "Full          control" over c:\winnt\temp or where ever the          system TEMP and TMP environment variables          are pointing
[*]Give the users IUSR_ and IWAM_          "execute" permissions to cvs.exe and          "read" permissions to the folders that it's contained in
[*]Give the users IUSR_ and IWAM_          "execute" permissions to the files you extracted in step 3         (e.g., rcs.exe) and          "read" permissions to the folders that it's contained in
[*]Make sure the users IUSR_ and IWAM_          have at least "read" and "list contents" for all files and          folders in the CVS repository
      
[*]Install Active Perl to c:\perl

[*]For Windows NT, install build 522 (warning: build 616 doesn't work          properly on NT)
[*]For Windows 2000 you may install a later build.For          example, build 617 seems to work fine on Windows 2000
[*]Youmay install Perl to any folder you like, but you will have to changethe paths referenced in these instructions -- you must select "custominstall."
      
[*]Install the                Compress::Zlibmodule.This is optional (yet recommended anyway, since it avoidsrunning an external process) unless you have gzip.exe in your path.If you use ActivePerl, this         can be done by insalling "PPM" and running from the command line:
      ppm
      install Compress::Zlib
[*]Extract all files from the         cvsweb distribution to c:\inetpub\wwwroot\cgi-bin\cvsweb (use          folder names!)
[*]Move the the folder c:\inetpub\wwwroot\cgi-bin\cvsweb\icons          to c:\inetpub\wwwroot\icons
[*]Copy your company logo to c:\inetpub\wwwroot\icons\apache_pb.gif
[*]Followthe instructions listed in the cvsweb readme file, which are summarizedas follows.There are more instructions in the readme, these are thebasics:
[*]Set %CVSROOT folders in c:\inetpub\wwwroot\cgi-bin\cvsweb\cvsweb.conf.               You must use a local path name, you can't use:cvsnt: or               :pserver:            or :local:.Use forward slashes instead of            backslashes.
            %CVSROOT = (
            'Development' => 'c:/cvs/na',
                                        'Admin' => 'c:/cvs/admin'
    );
            And also change the next line which specifies the default            repository name to use.
[*]Modify c:\inetpub\wwwroot\cgi-bin\cvsweb\cvsweb.conf            and alter the line
            #$ENV{'PATH'} = '/usr/local/bin';
            Remove the leading # and enter a            semicolon-delimited list of folders that contain cvs.exe            and rcs.exe(use forward slashes instead of            backslashes).
            $ENV{'PATH'} .= 'c:/cvsbin;c:/rcsbin';
[*]An alternative to (c) is to add the locations of cvs.exe            and rcs.exe to the SYSTEM path and reboot (you must            reboot for this to take effect)
[*]Modify c:\inetpub\wwwroot\cgi-bin\cvsweb\cvsweb.cgi.               Look for the line $config = early on in the file and            change it to (use forward slashes instead of backslashes):
            $config = $ENV{'CVSWEB_CONFIG'} || 'c:/inetpub/wwwroot/cgi-bin/cvsweb/cvsweb.conf';
[*]As an alternative to (e), set theSYSTEM environment variable CVSWEB_CONFIG            to c:/inetpub/wwwroot/cgi-bin/cvsweb/cvsweb.conf               (use forward slashes!) and            reboot (you must            reboot for this to take effect)
      
[*]Run Internet Services Manager
[*]Right-click on Default Web Site and click Properties
[*]Click "Home Directory"
[*]Click the Configuration.. button
[*]Click Add

[*]Executable:C:\Perl\bin\perlis.dll
[*]Extension:cgi
[*]Check "script engine"
[*]Uncheck "check that file exists"
      
[*] In Internet Services Manager, right-click on cgi-bin/cvsweb            and select Properties
[*] Under Application Settings, click the            Create button
[*] For "Execute Permissions", choose "Scripts and            Executables"
[*] For "Application Protection",            select "Low (IIS Process)"
[*]If you performed all the steps correctly,http://tiger/cgi-bin/cvsweb/cvsweb.cgi/should display the root folder of the CVS repository.If you omit thetrailing slash you will get a page that says "Moved."
Authenticating Users on IIS
Instead of leaving CVSWeb and ViewCVS wide open to the public, you canhave IIS authenticate users.IIS's integration with Windows domainsecurity makes IIS advantageous over Apache.This method can also beused with NTFS permissions to control access to specific modules andfolders.
[*]This applies to CVSWeb only.If some users have read-only file access, you must change your CVS setup to specify the LockDir      option.For example, if the repository is at c:/cvs, put          the locks in c:/locks and give the users IUSR_ and IWAM_ "Full          control" over the lock folder e.g., c:/locks
[*]Give all CVSWeb or ViewCVS users "full" control over c:\winnt\temp
[*]Run Internet Services Manager
[*]Navigate to the cvsweb folder in thecgi-bin folder
[*]Right-click on thecvsweb or viewcvs         directory
[*]Click properties
[*]Click the "Directory Security" tab
[*]In the Anonymous Access box, click edit
[*]Un-check Anonymous
[*]Check"Integrated Windows authentication" if your users are connected to theNT domain; otherwise check Basic authentication (you can check both)
[*]Click OK to close all the open dialog boxes
[*]If you experience problems, set the Application Protection setting for the cgi-bin/cvsweb             or cgi-bin/viewcvs            application is "Low (IIS Process)."
[*]If you use basic authentication or if you want to protect your CVS          files from packet sniffers, you should use https to         encrypt data

[*]Run Internet Services Manager
[*]Right-click on "Default Web Site"
[*]Choose Properties
[*]Click the "Directory Security" tab
[*]Click on the Server Certificate... button
      
Browsing Multiple Repositories via CVSWebcvsweb can work with multiple repositories as long as the web servermachine has access to the raw repository files.Refer to thedocumentation that ships with cvsweb. What Does Annotate Do?
The annotate command (also in WinCVS 1.3) displays the selectedrevision, much like "download" does.Annotate displays the latestversion that is responsible for each line.This feature is handy forseeing "who did what" to a particular revision.      Click      here for an example.Known Issues

[*]Annotate doesn't work when option is specified
      
      This is a known issue if you have the LockDiroption specified as part of your CVS repository configuration. This may be fixed in the latest version of cvswebnt.
Troubleshooting (IIS)

[*]If you experience problems, set the Application Protection             setting for the application in cgi-bin to "Low (IIS             Process)"
[*]Error: Failed to spawn GNU rlog
         
Change the application protection setting to "Low (IIS Process)" -- seeabove.After doing this you may still have this problem because, asfar I know, rlog doesn't work with filenames that containspaces.If this continues to be a problem, copy all of the RCSexecutables to c:/winnt/system32.
[*]Problemsauthenticating users in IIS If "anonymous" is turned off, all usersneed permissions to "log on" to the IIS server.  Go to Start/ Programs/ AdministrativeTools/ LocalSecurityPolicy
      
      Open the item:
      
      LocalPolicies/ UserRightsAssignment/ AccessThisComputerFromTheNetwork
               
Make sure that the checkboxes are filled in both for the 'Local PolicySetting' and 'Effective Policy Setting' for the users and groups thatneed access to CVSWeb.
[*]When asking for diffs, the message - No viewable Change -      This is the same as "Failed to spawn GNU rlog" (see #1         above)  Or, you're attempting to diff a binary file.      
[*]IIS Lockdown Wizard
      
    The page cannot be found
    ...
    HTTP 404 File not found

      Change the following line from 0 to 1 in URLSCAN.INI:  AllowDotInPath=1            ; if 1, allow dots that are not file extensions
  and restart IIS.
页: [1]
查看完整版本: CVSWEBNT