Click here to Skip to main content
15,905,148 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello,

I have both a Windows XP computer and a Linux/Ubuntu computer. I have not decided which one to use for this project yet.

I have to be to system admin for a project that my friends and i want to work on.
I know very little about servers.
What i have to do is use a free server online (don't know which one yet) or set up a server on some free server space.
As i said, i don't know what i am doing so, i might be saying things that don't make sense :(

I then have to give everyone in the team a user-name and a password and give some people more privileges than others.
My team and i want to use that server to work on various projects (java, .NET and others) in the future and use version control to share our code.
I only know how to use TortoiseSVN client.

The first thing i am currently attempting is this:

Using Apache with Microsoft Windows[^]

I am busy working on it right now but, since have no experience with servers, i need to know whether i am going in the right direction, whether i am doing it the harder way ...

Thank you for your help.
Posted
Comments
Michel [mjbohn] 6-Dec-11 6:29am    
What is the main purpuse of this server. Will it host your application or do you just need a repository for your source code? What kind of application are you working on?
The_Real_Chubaka 6-Dec-11 12:50pm    
Main purpose of the server: just a repository for source code. However, i it would be a plus if i can run my applications on it :)

The kind of application we are working on: We are busy working on a web application. crawlers, parsers, extracting data from websites, putting extracted data in a database ...
However, in the future, we don't know what other projects we will work on. It can be desktop app, mobile app...

Thank you for your interest in my question.

Herve

This is a very good idea to use a good Revision Control System (actually, this is a must for any development) host the source code using Subversion if you want to work with distributed team.

If you want to use your own server, I would strongly recommend Linux. You can really easily install Apache with Subversion server. You can also easily integrate it with Trac (http://en.wikipedia.org/wiki/Trac[^], http://trac.edgewall.org/[^]) and probably something else.

Make sure you use HTTPS protocol, see below.

If you have to use some 3rd-party server, you need to look at source code hosting.

Here you can see a list of hosting offerings for open source: http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hosting_facilities[^].

For hosting of proprietary and close code or data, you can find a number of commercial secure hosting facilities, but you have to make your own search — I don't think I'm supposed to advertize any of them here. Make sure they offer "try before you buy" option and have good reputation. Make sure you have HTTPS service (which is usually used as a secure protocol by Subversion), valid certificates, etc. See:
http://en.wikipedia.org/wiki/Https[^],
http://en.wikipedia.org/wiki/Digital_certificate[^],
http://en.wikipedia.org/wiki/Certificate_authority[^].

[EDIT] Please see my other solution in response to the question by mjbohn.

—SA
 
Share this answer
 
v3
Comments
Michel [mjbohn] 7-Dec-11 5:01am    
Very detailed answer my 5
By the way: Do you have experience in using VS with SVN? Would like to use it in my private coding environment. At job we have TFS, which is fine but way to big (and expensive) for private use.
Sergey Alexandrovich Kryukov 9-Dec-11 12:40pm    
Thank you. OK, then another bunch of detailed recommendations for you. Please see my other solution I added on this page.
--SA
mjbohn wrote:
Do you have experience in using VS with SVN? Would like to use it in my private coding environment. At job we have TFS, which is fine but way to big (and expensive) for private use.
Yes, I used Subversion in different companies, installed different server settings and different OS; even my CodeProject articles are written under SVN. Event for work, revision control should be open source — the reliability if it is tested by millions. I think, at this moment most convenient amazingly low-footprint server is VisualSVN Server. Its manager does all the administration in a single point. It works with HTTP/HTTPS via a miniature Apache-bases server. The bare-bone manually installed service also allowed me to use faster SVN protocol. In all cases, this is very easy to move the database from machine to machine, join or split unrelated projects, backup them. This is easy as you can use the Subversion newer filesystem-based storage system (and I recommend to prefer it to alternative storage system, see also about compatibility with other systems below).

See http://en.wikipedia.org/wiki/VisualSVN#VisualSVN_Server[^], http://www.visualsvn.com/[^.

Again, installation of Apache with modules on Linux is easy enough, but this is still editing configuration files manually and reading a lot of documentation. Also, I found it important to develop scripts for administration, in particular, for creating a new project and bindings between Subversion and Trac databases with cloning of previously tuned configuration. With VisualSVN server you do it in the UI.

Best client — TortoiseSVN, I think, but a command-line client is good to have for some tricky operations, like reporting with complex queries. This client is fully embedded in the Windows Shell as a context menu extension, it works out of context menu click of any file manager using Shell API (not just Explorer). I want to emphasize that it's important to have a client not integrated in any IDE, must non-intrusive. You can work with files having nothing to do with Visual Studio or something else. At the same time, it's good to feel that you are working with just some source directory, not VS solution. Non-obtrusive Revision Control is most important. However, anyone who like integration with Visual Studio can use VisualSVN client (see the reference above; this is a product is a part of the same Windows Solution Stack as the server, but the two products are totally independent).

Open-Source Bazaar, Git and Mercurial are interesting distributed alternatives; they all can use SVN storage system, so using SVN won't put you in a dead end.

See:

http://en.wikipedia.org/wiki/Git_%28software%29[^],
http://git-scm.com/[^];

http://en.wikipedia.org/wiki/Bazaar_%28software%29[^]
http://bazaar.canonical.com/[^];

http://en.wikipedia.org/wiki/Mercurial_%28software%29[^],
http://mercurial.selenic.com/[^].

The above products also have corresponding Tortoise clients.

When I tried all of them, I felt they were not quite mature in comparison to SVN, but it was several years ago, so it would be interesting to try them out and compare.

See also this discussion, including my solution with some arguments: Revision control systems, which to choose from?[^].

—SA
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900