设为首页 收藏本站
查看: 546|回复: 0

[经验分享] CVSWEBNT

[复制链接]

尚未签到

发表于 2015-8-1 11:19:53 | 显示全部楼层 |阅读模式
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, via  NT 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
  • Extract  the 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 the  SYSTEM 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 the  cgi-bin folder
  • Right-click on the  cvsweb 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 CVSWeb
cvsweb 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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-92961-1-1.html 上篇帖子: RESTful Java client with Apache HttpClient 下篇帖子: apache 和 Tomcat 安全性配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表