Run SVN repositories under IIS - windows

How to setup IIS 7.0 to serve SVN repositories?
First of all I need to make possible remote users to checkout and web-based viewing isn't really necessary.
I tried to setup WebSVN but got no success: can't set parent folder for a number of repositories, can't switch off anonymous access, can't link non-anonymous access and access list.
Are there others products for SVN under IIS? Or it's better to learn how to setup WebSVN properly?

There are no server modules for IIS, you can't serve an SVN repository directly from IIS.
Serve a subversion repository through Apache, the built in svnserve, or proxy it via ssh.

There is a commercial solution available named SVNIsapi. But I have no idea how well it works because it's too expensive for me to even try out.
But why insist on using IIS? Just install the VisualSVN server, then configure WebSVN with that - WebSVN also works well with Apache.

Do you really need IIS or will Apache work out ok? Visual SVN Server is a great SVN host and installer for Windows.
http://www.visualsvn.com/server/

There is a free server called RocketSVN, it has no official support anymore though.

Related

How to update the code of Laravel that is deployed on live server?

The Laravel project made based on vuejs UI is deployed on the server. Now I need to change the code and worked fine on the local machine. But the problem arose that I have to zip all the files and again upload. This seemed tedious. Also when I uploaded it, the application seemed not changed as on the local machine. What should I do? I also don't have a node installed on my Cpanel so that I was unable to run npm run dev.
The preferred way is to use a Version Control System (VCS) like Git.
VCS
Version control systems are software tools that help software teams manage changes to source code over time. Consider uploading your project to a Github repository.
If you Google this, you’ll find tutorials that can explain it much better than we can in an answer here.
Note: You require SSH access to the server in order to run Git commands. Having SSH access will also solve your problem of not being able to run commands like npm run dev. Consider deploying your repository on a Virtual Private Server (VPS).
(S)FTP
There are several ways of deploying. One of them being, manually transferring files using SFTP or FTP. However, as you've mentioned, this is a tedious process.

What is the server URL for Notepad++'s Plugin Manager?

I'm not able to use Notepad++'s update or plugin manager. I suspected it was a proxy problem, so I added my proxy to the plugin-manager settings but it still doesn't work.
Then I contacted my network admin and he said that he needs the server's URL to add it in the exception list. How can I find to what server it's trying to connect to?
What IP/URL does Notepad++'s plugin manager connect to for updates?
According to the project's creator, Notepad++ Plugin Manager's update URL is hosted on nppxml.bruderste.in
Hosting was moved from *.sourceforge.net to nppxml.bruderste.in in October 2016 due to a controversy where Sourceforge began bundling adware with installers for abandoned projects.
New Plugin Manager URL: https://nppxml.bruderste.in/pm/xml/plugins.zip
From the sponsor page for NP++ Plugin Manager
Since 2010, Plugin Manager has been hosted on Sourceforge.net. They've
been a great host for us, and generously supported the large amount of
traffic that the plugin manager generates. To put some numbers on the
traffic, whilst the plugin list is only 50KB, and is normally only
download when it changes, each change generates around 500GB of
traffic, with a steady 200GB of traffic each month.
In 2015 there was some controversy surrounding SourceForge bundling
adware with abandoned projects. This has since been cleared up, and we
applaud SourceForge for taking the right path in this regard. However,
this sparked some discussion and thinking around what we could do to
transfer the hosting of the list off SourceForge and onto another
provider, and what benefits and disadvantages that would bring. There
are things we aren't able to do easily with the sourceforge hosting
system, and relying on the goodwill of a website is not good in the
long run for the project. Using a more traditional hosting platform
would allow us to address some of the current issues we have around
automating the list updates, and serving a dynamic "bleeding edge"
list.
So, I'm very grateful to Nexinto that they are sponsoring the hosting and bandwidth requirements for Notepad++ Plugin Manager, and hope you can forgive the small logo and link in the plugin which means we are reliably hosted on VMs that we control, and hence can extend what we do, bringing automatic fortnightly releases of new plugins to the plugin manager.
For reference, the old url was https://downloads.sourceforge.net/project/npppluginmgr/xml/plugins.zip
If you are not sure if problem is proxy but plugin list is no displayed, try the next.
From "Plugin Manager, Settings", select checkbox "Use development plugin list (may contain untested, unvalidated or uninstallable plugins)
At the moment for v7.5 and v7.6:
Proxy setting are no displayed from Plugins Manager interface
Plugins server is http://nppxml.bruderste.in
Downloaded files by Plugin Manager:
http://nppxml.bruderste.in/pm/xml/plugins.zip
http://nppxml.bruderste.in/pm/xml/plugins2.md5.txt

Howto add an existing VS project to Mercurial (using TortoiseHG or VirtualHG)

I am new to Mercurial / TortoiseHG / VirtualHG. After reading some tutorials I still fail to understand how it is supposed to work.
Could someone please explain in a few simple steps how I add an existing VS2010 project to Mercurial using TortoiseHG or VirtualHG, and how I go from there?
So after adding it to Mercurial, what do I need to do to start working on this project again? Years ago I have worked with Visual SourceSafe, so maybe this experience confuses me right now.
Also I'd like to know what to do when colleagues want to work on this project.
I see in the comments that you managed to get your source files under version control with:
$ hg init
# (setup .hgignore)
$ hg add
$ hg commit
Great! To share the project with your colleguages you need to make the repository accessible to them somehow. You have three options:
Filesystem access: This is the easiest if you already have a shared network drive setup. You put the repository on the shared drive where everybody can read and write. People make a clone from the drive back to their own machine and work on the files there. They commit there as well and finally use hg push to send their changes back to the repository on the shared drive.
Make sure that everybody uses version 2.0 or later with such a setup! There has been bugs in earlier versions of Mercurial that could cause repository corruption when pushing to a repository on a network drive.
HTTP server: You can use hg serve to start a built-in webserver in Mercurial. The server can be used to clone from. In a trusted environment you can start it as
$ hg serve --config "web.push_ssl=no" --config "web.allow_push=*"
to disable the default security settings and allow anybody to push new changes to the server.
For more heavy-duty use, we recommend setting up a "real" webserver and install the hgweb (Fast)CGI script that comes with Mercurial. See the Mercurial wiki for information on that.
SSH server: This is easy if you have an existing Unix setup where people have SSH login to a central server. You need to install Mercurial on the server and create a repository there that people have read and write access to. This is also covered in the wiki.

Securing Git server on windows?

Using msysgit and copssh, is it possible to secure the ssh part such that it can only access the relevant git executables and also be constrained to access only one folder?
I have a feeling that a git server on windows will be very much more open than a svn server like visual svn. I'm hoping to be proved wrong.
I would use a Linux server for your central Git repository. Install gitolite. This will enable you to administer branch rights etc.
UPDATE:
As per your recent comments, just go with unfuddle and be done with it in 1 minute. If you're concerned about using up the 500MB of space they give, large non-private artifacts can be stored as a submodule that can be hosted on github.
hope this helps!
On Windows, I have found Apache and Smart Http ( git-http backend ) to be the best way to host a Git server.
https://web.archive.org/web/20100308035130/http://progit.org/2010/03/04/smart-http.html
And coming to access control, I would advice you to keep it simple and have an access conf file svn or even gitolite / gitosis and write simple hooks in the Git repo ( in Python, Ruby, etc. )
The hooks will provide you pretty good control to the Git repo. You can control checkins per branch, checkins to particular folders etc.
Have a look at the git hooks man page. pre-receive or update are the hooks that you can make use of for this purpose.
Look at this awesome chapter from Pro Git on how to use Git hooks on the server side to enforce policy - https://git-scm.com/book/en/v2/Customizing-Git-An-Example-Git-Enforced-Policy
You can easily adjust them and add functionality to suit your purpose.
I would very much recommend using one of the Git-HTTP projects.
See my answer at: https://serverfault.com/questions/58425/setting-up-git-repository-on-remote-windows-server/163065#163065
You're trying to make Windows behave like UNIX.
Better go with the flow, and use a .NET based solution as Git server backend.
When you have the deal with a small 2-person project (as you mentioned in the comments), you can also host the git repository on a Windows network share. It just works, and you clone the UNC path (or mapped drive letter) in your git client.
For UNC paths, when you use slashes instead of backslashes (i.e. //server01/git/myrepos.git).
An alternative might be to use https://github.com/jakubgarfield/Bonobo-Git-Server/wiki
When I started looking at setting up a corporate git service, we have the following requirements:
1. Manage git repositories as projects, where we can provide self-service access control at project level.
2. LDAP login integration
3. Low administrative effort
I evaluated vanilla git, git + git-http, gitolite. These solution would require an admin person to manage the access control. If the team is big, this will be a significant effort. If the team is small (5-10 developers), vanilla git is ok.
I looked at github enterprise, use github, and later bitbucket. We eventually bought bitbucket and have a on-prem version up and running. bitbucket meets all our requirements. In addition, we can selectively sync some of the AD group to bitbucket and manage access at group level.

Best way to clone IIS settings to new server?

I have a number of asp and asp.net 2.0 applications that I need to move to a new Win2003 server.
I've created a test suite to verify that different aspects are installed and configured properly, but other than exporting the IIS metabase from the two servers and comparing manually, are there any tools or techniques I'm missing?
The Microsoft Web Deployment Tool should allow you to do pretty much what you want.
From the linked web site:
The Web Deployment Tool is a tool for simplifying the deployment, management and migration of Web applications, sites and even entire servers. Developers can package a Web site, automatically including content, configuration, certificates and databases. These packages can be directly deployed to a server or packaged and shared with others. IT Professionals can enable developers to deploy these packages to a server and delegate access to non-admins. IT Professionals can also use the tool in their infrastructure to synchronize servers easily on both IIS 6.0 and IIS 7.0, or even to accomplish a migration from IIS 6.0 to IIS 7.0.
When it comes to metabase edits, it allows you to easily get a list of all settings your site is dependent on, and sync these to the target server (complete with a handy 'what if' mode).
What version of IIS? (This will impact the extract steps.)
You can export settings from IIS manager and import.
If you're doing it manually then I'd use something like BeyondCompare to make your life easier.
You could write some code using System.DirectoryService to programatically compare the two servers settings, or compare a given server against an Xml file have a look at this
Look at the sdc extensions for MSBuild they let you create websites in a msbuild file so if you can verify that you can create it correctly you can just add that to your build script.
To use move your application to another IIS.
1) First use ntbackup, and backaup
the applicaton folder.
2) Export the application
configuration to a file in IIS.
3) On the other server use the
ntbackup command and then restore the
files in the same path.
4) Create the application from the
config file.
5) Adjust possible missed
configurations.
6 That's it.
In our company we are migrating many .NET apps from our testing servers to productive ones, and we follow this guide.
Best Regards!

Resources