在家里设置服务器以运行 svn 和 Bugzilla

在家里设置服务器以运行 svn 和 Bugzilla

我是一个相当有经验的开发人员,但是当涉及到服务器和网络相关的东西时,我还很陌生。

我们正在开发一个网站,我想建立一个服务器来托管我的 SubVersion 存储库,并且当我们向一些用户发布测试版本时还可以托管 Bugzilla。

那么我需要做什么才能实现这一点?我有一台可以使用的旧电脑。我可以在任何操作系统上运行它吗?它目前安装了 Win 7,但我正在考虑改用 Ubuntu。有什么理由选择其中一个吗?

我想我需要一个 Web 服务器,Apache 就足够了。我是否还需要其他东西来让我的计算机在网络上可用,还是只需要一个 Web 服务器和一个标准的 Internet 连接?

如果有好的在线教程的链接就更好了。我的意思是针对真正的傻瓜 ;)。我通常会发现一些页面试图解释如何设置服务器,而这些页面我根本无法理解。

答案1

我会选择某种 Linux。你可以在 Windows 上运行你想要的东西,但它更复杂,支持更少。这些都是开源项目,它们的原生环境通常是 Linux。

您要么需要在互联网连接上使用静态 IP 地址,要么需要使用某种动态 DNS 服务,以便您在 IP 地址更改时更改 DNS。

颠覆概述

这些将有助于设置 SVN 和 Apache,以便可以从外部访问源代码控制(不确定您是否想要这样)

答案2

我们的情况非常相似。我使用 VirtualBox 作为虚拟化解决方案,svn 在虚拟 Windows Server 2008 机器中运行。如果硬件崩溃并且您急需重新启动并运行 SVN,虚拟机会为您提供一些额外的灵活性。

我会选择你更熟悉的操作系统。我也偶尔使用 Debian,但设置 VisualSVN (http://www.visualsvn.com/) 非常简单。大约需要 2 分钟。相比之下,我在安装 Linux 时遇到了不少困难。

但是,在这两种情况下,你都应该做一些基本的安全检查,例如对你的机器进行端口扫描(使用“nmap”,请参阅http://nmap.org/),并确保只有所需的端口可用。

要使计算机可以访问互联网,您需要配置路由。这就是事情变得有点复杂的地方。但是,如果您有一台支持所谓的 DMZ(非军事区,请参阅http://en.wikipedia.org/wiki/DMZ_(计算)) 您基本上可以输入您想要向互联网显示的服务器的 IP 地址 - 完成。

最后要做的是添加动态 DNS 服务,例如 dyndns,它可以帮助人们在网络上找到您的机器。您基本上需要在他们的网站上注册并配置您的路由器,以便在外部 IP 发生变化时更新它。一些路由器也原生支持此功能,并且配置很少。例如,linksys WRT 54 做得很好,如果您安装不同的固件(例如 dd-wrt ​​(http://www.dd-wrt.com/site/index)。这听起来比实际情况要复杂得多,作为回报,您将获得一个易于在嵌入式路由器上配置的 Web 界面。

也许您可以详细说明一下您的网络基础设施?

答案3

Ubuntu 服务器易于设置,并具有您需要的所有功能的安装包。文档包含在 /usr/share/doc 目录中。如果您决定无法使用 Linux,您可以调整 Windows 大小并将其安装为与 Windows 双启动

对于 Windows 和 Ubuntu,您都需要进行一些配置。对于 Ubuntu,这主要是设置访问和安全相关的内容。

您应该为服务器设置防火墙,这在 Linux 上通过内部网络堆栈很容易实现。我更喜欢 shorewall,但 Ubuntu 上预装的防火墙包可能更容易设置。

答案4

我正在做同样的事情(几乎完成了)。我从 Ubuntu 服务器 9.10 开始,让 Apache 上的 subversion 工作。配置 dyndns 后,它可以在我的家庭网络之外访问。虽然 subversion 工作正常,但我在尝试设置 bugzilla 时遇到了一些问题,这与 perl datetime 模块有关。因此,在阅读了一些关于长期支持优势以及 Debian 比 Ubuntu 更高的稳定性后,我选择重新安装 Debian 5。一般来说,Ubuntu 是桌面安装的理想选择,而 Debian 是服务器安装的理想选择(就像 Fedora 和 RHEL 一样)。但是 Ubuntu 服务器确实得到了 Canonical 的支持,而且我已经阅读了一些关于服务器安装的好消息,但就你正在尝试做的事情而言,我会选择 Debian。

我还没有完全弄清楚 Bugzilla 的设置,欢迎大家分享有关在 Debian 5 上进行设置的任何链接。

相关内容