我是一个相当有经验的开发人员,但是当涉及到服务器和网络相关的东西时,我是很绿色的。
我们正在开发一个网站,我想设置一个服务器来托管我的 SubVersion 存储库,并在我们为某些用户发布测试版本时托管 Bugzilla。
那么我需要什么来完成这个?我有一台可以使用的旧电脑。我可以在任何操作系统上运行它吗?它目前安装了 Win 7,但我正在考虑改用 Ubuntu。有任何理由选择其中一个吗?
我想我需要一个 Web 服务器,我想 Apache 会做得很好。我是否需要其他东西才能让我的计算机在整个网络上可用,还是只需要一个网络服务器和一个标准的互联网连接?
一些好的在线教程的链接将不胜感激。然后我的意思是真正的傻瓜;)。我通常会发现试图解释设置服务器的页面超出了我的想象。
我们在这里的情况非常相似。我使用 VirtualBox 作为虚拟化解决方案,并且 svn 在虚拟 windows server 2008 机器上运行。如果硬件崩溃并且您需要您的 SVN 重新启动并严重运行,虚拟机会给您一些额外的灵活性。
我会选择您更熟悉的操作系统。我也到处使用 debian,但是设置 VisualSVN ( http://www.visualsvn.com/ ) 要容易得多。大约需要2分钟。相比之下,我在安装 linux 时遇到了很多困难。
然而,在这两种情况下,你都应该做一些基本的安全检查,例如端口扫描你的机器(使用'nmap',见http://nmap.org/)并确保只有需要的端口可用。
要使机器可用于 Internet,您需要配置路由。这就是它变得有点复杂的地方。但是,如果您的路由器支持所谓的 DMZ(非军事区,请参阅http://en.wikipedia.org/wiki/DMZ_(computing)),则存在一个简单的解决方案,您基本上可以在其中输入服务器的 IP 地址你想向互联网展示 - 完成。
最后要做的是添加一个动态 dns 服务,比如 dyndns,它可以帮助人们在网上找到你的机器。您基本上需要在他们的网站上注册并配置您的路由器以在外部 IP 更改时更新它。一些路由器本身也支持这一点,而且配置很少。例如,linksys WRT 54 效果很好,如果您安装不同的固件,例如 dd-wrt ( http://www.dd-wrt.com/site/index ),它的效果会更好。这听起来比实际复杂得多,作为奖励,您可以在嵌入式路由器上轻松配置 Web 界面。
也许您可以稍微详细说明一下您的网络基础设施?
Ubuntu 服务器易于设置,并为您需要的所有功能提供安装包。文档包含在 /usr/share/doc 目录中。您可以调整 Windows 大小并将其安装为与 Windows 一起双启动,以防您决定无法使用 Linux
对于 Windows 和 Ubuntu,您都需要进行一些配置。对于 Ubuntu,这主要是设置访问和安全相关的东西。
您应该为您的服务器设置防火墙,这很容易通过 linux 上的内部网络堆栈来实现。我更喜欢shorewall,但Ubuntu上预装的防火墙包可能更容易设置。
我会选择某种Linux。你可以在 Windows 上运行你想要的,但它更复杂,支持更少。这些是开源项目,它们的原生环境通常是 Linux。
您需要在 Internet 连接上使用静态 IP 地址,或者您需要使用某种动态 DNS 服务,该服务允许您在 IP 地址更改时更改 DNS。
颠覆一般
这些将有助于设置 SVN 和 Apache,以便可以从外部访问源代码控制(不确定是否需要)
我正在做同样的事情(并且几乎完成)。我从 Ubuntu 服务器 9.10 开始,通过 apache 进行颠覆。配置了 dyndns,因此可以在我的家庭网络之外访问它。尽管颠覆工作正常,但我在尝试设置 bugzilla 时遇到了一些问题,这与 perl 日期时间模块有关。因此,在阅读了一些关于长期支持优势以及总体而言 Debian 比 Ubuntu 更高的稳定性之后,我选择重新安装 Debian 5。一般来说,Ubuntu 非常适合桌面安装,而 Debian 适合服务器安装(就像 Fedora 和 RHEL 一样)。然而 Ubuntu 服务器是由 Canonical 支持的,我已经阅读了一些关于服务器安装的好消息,但是对于听起来你想要做的事情,我会选择 Debian。
我还没有完全弄清楚 Bugzilla 设置,欢迎大家分享关于在 Debian 5 上设置它的任何链接。