Publish NuGet package to local Apache server - nuget

I'm creating a NuGet package for my company and want to publish it to our local Apache server. I would like to add the folder location on the server to the NuGet.config file. I have read this article on hosting your own NuGet feeds. In this article, they reference another article talking about local feeds. From this article, I gathered that I will most likely need to create a local feed on the server.
Will I need to run this command on the Apache server itself? Does this command create the local feed on the server?
nuget init \packagesToHost \\myserver\packages
where myserver would be the IP address of the server.

A local feed means local to the machine, something that can be opened with the operating system's "open file" API, so the file must be either on disk or on a network share. If the NuGet client needs to download packages from HTTP, it's not local. Therefore the nuget init command won't work unless you use network file sharing on myserver, in which case the fact that it also runs a HTTP server is irrelevant. Something to keep in mind is that it's not very efficient for browsing and searching, so if your feed has lots of packages, people using Visual Studio's Package Manager UI will have a bad experience.
If you want to use a HTTP feed, you need to investigate one of the apps listed on the page you linked. You could look into Sleet, as it generates static files that any HTTP server can host, like Apache, without knowing anything about NuGet. All the other HTTP servers are applications that need to be hosted appropriately.

Related

Invalid xml:base in Teamcity nuget feed

I try to setup teamcity nuget feed. But when i try download package form nuget server i get next error in VS output window:
when i try get definition of nuget feed i see next:
in Administration / Global settings / Server URL i have valid dmin name of my server. How can i change xml:base attribute in feed definition?
I don't think there is an issue with TeamCity. From what I can see you are hosting TeamCity locally on your development machine and you are successfully downloading your own packages (1st picture). The error that you are seeing in chrome is absolutely fine.
However the issue that it appears you are having is that you have not configured either VisualStudio or your solution in VisualStudio to download from more than one place. The package that is failing is NancyFx which presumably you are not hosting from TeamCity so therefore you need to go and get it from the public NuGet Server. In order to achieve this you either have to configure VisualStudio or your solution file to search multiple package sources.
https://docs.nuget.org/ndocs/tools/package-manager-ui#package-sources
From TeamCity support "Change base URL in FeedService":
It looks like you have a reverse proxy and it is not properly
configured. Please refer to TeamCity HowTo documentation about this:
https://confluence.jetbrains.com/pages/viewpage.action?pageId=74845225#HowTo...-SetUpTeamCitybehindaProxyServer
It seems HTTP proxy does not pass Host header correctly. When browser
makes a request it sets Host to hostname from browser address bar. If
proxy changes Host to something else, or removes it, then feed will
have URLs pointing to localhost, because TeamCity server does not know
that there is an HTTP proxy somewhere.
Please check that HTTP proxy preserves original Host header.

NuGet private feed not updating DownloadCount

I have set up a small test Nuget private repository on my machine following this guide.
Everything is working perfectly and I can publish packages, update versions, download them etc. The only problem is that the DownloadCount of my packages is always 0 regardless of how many times I download it.
I downloaded NuGet source but could not find a place where this value is updated. Moreover, nuget does not seem to use any DB technology so probably the feed is just generated on demand from the contents of the Packages folder.
Does anyone have any idea if this is a known issue or if it's a problem in my setup or if I should just add some code to the server to record downloads myself?
Thanks!
NuGet.Server based web sites are simply a front-end exposing an OData feed on top of a file share. There's no real database behind it, no indexing, no auditing, tracing, metrics or statistics, or any of that kind of stuff.
You could build it yourself, or take a look at alternatives such as MyGet, ProGet, Artifactory, etc.

Hosting NuGet repository via Apache / http server

Is there any way that I can setup and host a NuGet repository on an Apache or related http server? I have code that I would like made available, and it turns out that I have an apache server as well. I know that there are public places that I could publish to, but I was curious about my own. Any ideas? Is it possible?
If you need it i made a little nuget server with php. It works on apache with mod_rewrite and IIS: http://www.kendar.org/?p=/dotnet/phpnuget :)
I needed this recently too and have started implementing it at https://github.com/grenade/apache-nuget-repo
There are some limitations, like you can't push to it (yet?). To have that, it'd need some server side upload handler and that would mean picking a technology like PHP, Node, Python, etc which compromises the current simplicity. I also haven't made any effort yet around NuGet api v3 support.
Right now it relies on some other copy process uploading the .nupkg files and triggering the manifest and html generators.
There's nothing stopping you come creating a NuGet server that runs on Apache, but I don't think there's anything currently available that'll do this.
The command-line nuget.exe runs on Mono, but I suspect getting the ASP.NET NuGet server running is a whole new ballgame :-(

Is there a way on how to integrate TortoiseSVN with FileZilla?

I am using Tortoise1.6, SubversionEdge for SVN CMS and FileZilla3 (Test Server has CentOS as Server).
Let's assume the scenario:
- Test Server exists - here, developers have direct access; used for user testing
- There are 3 members in a team
- 2 of the members are developing on their local machine using TortoiseSVN
- But 1 wants to develop directly on the Test Server
--> The issue on developing directly on the Test Server are:
1.) No TortoiseSVN installed
2.) Even if SVN exist in TestServer, command scripts are tedious since it is running on CentOS (no GUI)
This issue can be resolved with team management, but the challenging part in here is how to address the technical issue (as this is maybe a future need).
QUESTION
So, my question is - is there a way to integrate TortoiseSVN on FileZilla?
Or a way that after committing changes on the working copy, files in the Test Server are also updated?
If you were on my situation, how would you address such issue aside from just team mgt/agreement?
Tortoisesvn is an explorer shell-extension. It doesn't know how to access Filezilla's functions to access the files on the ftp server.
What you can do is using a smb-share over a vpn-network. TortoiseSVN ist then able to directly see the files and display them correctly in explorer - although this solution may be quite slow depending on your network-connection.
However, what I usually do is developing locally, connect via ssh to the server and then use the svn cmd-line utility to do updates.

What is WEBDAV?

I want to use WebDAv server to share files among systems and (iPod or iPhone) in my iphone project. To use it, do I have to use an individual webserver? Or is it a built in facility?
WebDAV is a way to share files through a web server, which includes functionality for file locking and versioning.
Presumably, you would run Apache or another WebDAV-savvy web server, enabling access to a folder and its contents through the setting of relevant permissions.
This service would be run on a server somewhere — such as a Mac OS X workstation, which has Apache installed by default — and which has files that you want to present to the outside world.
Your iPhone device would connect to the WebDAV server through a WebDAV client; for example, DAV-E. The client locates and displays a list of files and folders, allowing uploads and downloads.
It typically isn't a built-in facility, but can be enabled as an extension of existing webservers, e.g mod_dav for Apache, WebDAV publishing for IIS, etc.
Short for Web-based Distributed Authoring and Versioning.
WebDav is sometimes referred to as DAV.
An IETF standard set of platform-independent extensions to HTTP
It allows users to collaboratively edit and manage files on remote Web servers.
It features XML properties on metadata, locking - which prevents authors from overwriting each other's changes - namespace manipulation and remote file management.
To know more Visit the FAQ