计算机科学专业的学生应该在他的第一台服务器上包含/运行以学习最多的东西?

我们一群CompSci学生正试图让我们的第一台服务器正常运行。 我们将尝试在这个盒子上安装FreeBSD。 如果你能build议我们应该包含在服务器上的应用程序/包,这将是非常好的,这对我们来说是一个很好的学习体验。 什么networking服务器系统? 邮件服务器系统? 开发环境? 任何其他的提示或事情要尝试?

我们只是想要一些可靠的系统pipe理经验。

干杯!

如果你是sci,为什么不去学校的IT部门,看看他们在生产环境中做了什么,然后从那里走? 通过在一个盒子上设置邮件服务器或者DNS服务器或者开发服务器,你将无法获得完整的体验(并且你将要学习在一个系统上设置三到四个或者五个东西的坏习惯,在“现实世界”环境中应该如何做)。 访问现场的人会给你一个决定做什么的好地方。

我的build议是在一个白色的盒子上设置VMWare ESXi …你可以通过谷歌的信息,基本上是一个便宜的系统,但与操作系统兼容…并设置了许多子服务器来testing虚拟networkingESXi机箱,包括将一台虚拟机设置为虚拟路由器/防火墙。 如果这不会给你带来困惑的东西,如何与networking服务器工作,我不知道会有什么。

对于Web服务器,您可以设置Apache。 也许Tomcat?

对于组网,请configurationDHCP服务器和DNS服务器。 另外,build立一个防火墙。 另外,请在客户端和服务器之间build立一些共享。 configuration桑巴,以便Windows客户端也可以访问服务器。

您也可以设置LDAP。

我会build议一次一个。 安装一个,configuration它。 然后,更改configuration并播放以查看不同设置对服务的影响。 另外,像防火墙一样,看看不同的设置如何影响依赖于networking访问的其他服务。

确保此服务器位于隔离networking上。 您不希望服务器上运行的服务干扰较大的networking(例如您学校的networking)。

这些只是一些想法。 我会先去networking的东西和networking服务器。 不要打扰LDAP或类似的东西马上。 另外,不要担心开发环境,因为服务器不应该真正运行那些。 当你到达这一点时,尝试在工作站上开发一个testing应用程序,并将其部署到Web服务器上。

一种方法是使用虚拟机来build立比较系统。

  • 另一个是Sendmail,另一个是Postfix,另一个是Exim。

  • Apache与Lighttpd vs. nginx。

  • Svn vs. git与Mercurial。

我想说,我认为你在做什么是一个好主意。 这正是我如何开始使用服务器,我设置了一个FreeBSD服务器,并与它搞砸了。 我也认为FreeBSD是一个很好的开始,因为它不像linux那样点击。 我build议尽可能从源代码编译,这将给你无价的经验。 这里是一些我会推荐的软件:

  • qmail – 伟大的电子邮件服务器,可以让你很好地理解电子邮件服务器的内部工作原理
  • BIND – 标准的DNS服务器。 我个人更喜欢djbdns,但我认为使用BINDconfiguration文件提供了很多东西来学习
  • Samba – 正如NYSystemsAnalyst所指出的那样,samba是将Windows电脑连接到* nix机器的绝佳工具。
  • Apache – Apache是​​必须的,它是互联网上的标准的* nixnetworking服务器,也用PHP和Perl编译。

我认为在一台机器上做这个没什么问题,因为它只是一个testing环境。 我也build议重新编译内核,这是另一个很好的学习经验。

最后,我同意NYSystemsAnalyst的意见,你应该closures任何生产networking,你不希望有任何干扰。