需要一些技巧来设置和/或使用服务器 [英] Needs some words of wisedom to set up and/or use a server

查看:73
本文介绍了需要一些技巧来设置和/或使用服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,

我同时拥有Windows XP计算机和Linux/Ubuntu计算机.我尚未决定要为该项目使用哪个.

我必须是我和我的朋友要从事的项目的系统管理员.
我对服务器知之甚少.
我要做的是在线使用一台免费服务器(尚不知道是哪台服务器)或在一些免费服务器空间上设置服务器.
如我所说,我不知道自己在做什么,我可能说的是没有道理的事情:(

然后,我必须给团队中的每个人一个用户名和一个密码,并赋予某些人比其他人更多的特权.
我和我的团队希望将来使用该服务器来处理各种项目(java,.NET和其他项目),并使用版本控制来共享我们的代码.
我只知道如何使用TortoiseSVN客户端.

我目前正在尝试的第一件事是:

在Microsoft Windows上使用Apache [ ^ ]

我现在正在忙于此工作,但是,由于没有服务器方面的经验,我需要知道我是否朝着正确的方向前进,是否正在以更艰难的方式做这件事...

谢谢您的帮助.

解决方案

使用良好的版本控制系统(实际上,这是任何开发所必须的),这是一个很好的主意.如果要与分布式团队合作,请使用Subversion编写代码.

如果要使用自己的服务器,强烈建议使用Linux.您真的可以轻松地将Apache与Subversion服务器一起安装.您还可以轻松地将其与Trac集成( http://en.wikipedia.org/wiki/Trac [ ^ ], ^ ])可能还有其他内容.

确保使用HTTPS协议,请参见下文.

如果必须使用某些第三方服务器,则需要查看源代码托管.

在这里,您可以看到开放源代码托管服务的列表: http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hosting_facilities [^ ].

对于托管私有代码和封闭代码或数据,您可以找到许多商业上安全的托管工具,但是您必须自己搜索-我认为我不应该在这里做广告.确保他们提供购买前试用"选项,并具有良好的声誉.确保您具有HTTPS服务(Subversion通常将其用作安全协议),有效证书等.请参阅:
http://en.wikipedia.org/wiki/Https [ http://en.wikipedia.org/wiki/Digital_certificate [ http://en.wikipedia.org/wiki/Certificate_authority [

mjbohn写道:

您有使用VS的经验吗SVN?想在我的私人编码环境中使用它.是的,我在不同公司使用Subversion,安装了不同的服务器设置和不同的OS;在工作中,我们有TFS,这很好,但是可以大量使用(私人).甚至我的CodeProject文章都是在SVN下编写的.对于工作而言,修订控制应该是开源的-如果经过数百万的测试,则是可靠性.我认为,此刻最方便使用的低占用空间服务器是VisualSVN Server.它的经理可以单点进行所有管理.它通过微型Apache服务器与HTTP/HTTPS一起使用.准系统手动安装的准系统服务还使我可以使用更快的SVN协议.在所有情况下,这都非常容易在数据库之间移动数据库,联接或拆分不相关的项目,对其进行备份.这很容易,因为您可以使用Subversion较新的基于文件系统的存储系统(并且我建议将其替换为备用存储系统,另请参见与以下其他系统的兼容性).

请参见
http://en.wikipedia.org/wiki/VisualSVN#VisualSVN_Server [ http://www.visualsvn.com/ [ ^ .

同样,在Linux上使用模块安装Apache很容易,但这仍然是手动编辑配置文件并阅读大量文档.此外,我发现开发用于管理的脚本非常重要,特别是对于使用克隆先前调整的配置来创建新项目以及在Subversion和Trac数据库之间进行绑定的情况.使用VisualSVN服务器,您可以在UI中进行操作.

最好的客户端-我认为是TortoiseSVN,但是对于一些棘手的操作(例如,使用复杂查询进行报告),​​最好使用命令行客户端.此客户端作为上下文菜单扩展完全嵌入在Windows Shell中,它在使用Shell API(不只是Explorer)的任何文件管理器的上下文菜单单击中都可以正常工作.我想强调一点,重要的一点是,要使客户端不集成在任何IDE中,并且必须是非侵入式的.您可以使用与Visual Studio或其他无关的文件.同时,很高兴您正在使用的只是某些源目录,而不是VS解决方案.非干扰性的版本控制最为重要.但是,任何喜欢与Visual Studio集成的人都可以使用VisualSVN客户端(请参阅上面的参考;该产品与服务器在同一Windows解决方案堆栈中,但是这两个产品是完全独立的).

开源市集,Git和Mercurial是有趣的分布式替代品.他们都可以使用SVN存储系统,因此使用SVN不会让您陷入死胡同.

参见:

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/ [ ^ ].

以上产品也有相应的Tortoise客户.

当我尝试所有这些工具时,我觉得它们与SVN相比还不算成熟,但是那是几年前的事了,所以尝试一下并进行比较会很有趣.

另请参阅此讨论,包括带有一些参数的我的解决方案:版本控制系统,可供选择? [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.

解决方案

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


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


这篇关于需要一些技巧来设置和/或使用服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆