作为一个没有经验的服务器pipe理员,我需要知道的一些基本概念是什么?

我(这个标题暗示)是这个服务器configuration的东西很新。 我最近被推动学习如何configuration开发/生产环境。 我的实际服务器/networkingconfiguration历史仅限于编程。 我精通PHP / MySQL / JavaScript。

我正在快速提取服务器相关的东西,并跳入一些相当复杂的东西。

我大约一个月前执行了我的第一个LAMP安装(在Ubuntu上),我有…

  1. 成功安装/configuration了Apache。 这包括设置虚拟主机,设置文件夹权限。 我对Apache的理解是体面的 。 我仍然想进入mod_rewrite更多…
  2. 成功安装/configurationPostfix。 我从我的合作伙伴那里得到了一些帮助 – 在这方面也不是那么有经验。 我几乎完全按照这个教程。 我已经详细阐述了这个教程,因为我正在通过Gmail使用SMTP中继。
  3. 成功安装/configurationOpenSSL。 (通过Ubuntu社区wiki教程)。 这比Postfix更具有挑战性和简洁性…但是我的服务器现在可以为自己生成和validation证书,除了使用第三方权限来validation证书之外。
  4. 一个体面的使用命令行的基础。 SSH'ing,vi,pico,一些目录/文件制作垃圾。 和其他一些小小的事情。 (也许一个不错的备忘单会有帮助?)

任何其他与服务器pipe理相关的进程现在正在消失,但它们可能是非常小的。

我应该提到,我将通过Amazon EC2专门从事基于Linux(可能是Ubuntu)的服务器。 这不会是我的职业道路 – 只是一个临时的工具。 我将亲自关注基于Web的应用程序的开发结束。 我想我不能错误学习如何configuration我的环境…对不对?

我有点担心,因为我在这个主题上没有“正规”的教育(或者真的在任何与networking有关的课题上)。 我非常依赖像这样的论坛或问答网站,以确保我的教育是完整的。

大或小。 对我来说没有任何区别 我的理解是,每个人都有那些“神圣的垃圾”,我希望我前一阵子知道这件事! 时刻。

我面临的问题是我缺乏基础。 我有信心,我可以学习如何做大部分的温和和一些先进的东西。

短暂的重复,只是沉浸在自己的材料。 需要知道什么?

我需要了解哪些概念?

例如: 安全要领,如何build立一个体面的系统,以安全的FTP(文件传输,无论),文件系统的组织,我应该使用哪个Linux发行版。

谢谢 – 任何input或方向给予非常感谢!

对不起,如果这是有点一般和模糊。

编辑:我将专注于基于互联网的应用程序,绝对会使用某种SQL数据库。

您应该知道如何进行备份,更重要的是testing恢复是否正常运行。 所以当你不小心删除了一些文件时,你可以取回文件。

当你pipe理多个服务器时,看一下像Puppet这样的configurationpipe理工具。

logging你的变化以及你为什么做这些变化的原因。 在ITIL中,它是在cmdb中完成的,但是你可以从一个简单的文本文件,维基,…

获得像Nagios这样的监控解决scheme,让您知道您的系统正在做什么。

尽可能自动化。 当事情变得混乱的时候,你会感谢你的每一个脚本。

这不是一切,但我相信你会得到很多其他的好答案。

编辑1:这里有一些博客可能会帮助你起点:

还有一些书:
* Linux系统pipe理手册
* UNIX编程的艺术

编辑2:这里是不同的Linux发行版的概述:

您的备份与恢复一样好。

我可以说,你可以采取的一个重要的领导是真正让你的头虚拟化(服务器,桌面,存储,networking等)的各种forms,因为它是一个真正开始看到一些领域“老守卫”挣扎。

我不是在谈论事物的动手方面,更多的是要求function与物理性的分离 – 一旦你“明白了”,就会看到职业方面的好处 – 我很惊讶有多less人能够根本不了解它,或者默认回到老的方式。

您还需要开发非常“清洁”的产品/技术诊断和故障查找技能 – 由于我们使用的套件和软件始终在不断变化,所以这些将比现在可能具有的任何特定技能更具长期价值基本的逻辑思维过程很less做。

祝你好运。

不要使用FTP。 使用SCP(sshd / ssh传输文件)。

你的问题,如你所说,是模糊的。 这使得很难给出任何具体的细节。 我的意思是,你最终的目标是什么? 我是服务器的pipe理员,但是对于我们的Cisco CallManager / PBX系统我根本没有做太多的工作。 系统pipe理属于分学科,交叉学习的同时,对系统pipe理的学习大多来自对用户和业务需求的积极追求,解决和阅读书籍,杂志,博客等问题。

你应该知道备份。 你需要有一个系统,可以让你从裸机恢复电脑,如果有必要,可以这么说。 但这取决于你的需求。 你有很多dynamic数据吗? 你需要24/7的正常运行时间和可访问性?

安全取决于你如何运行以及你允许谁访问服务器。 跟上更新,不允许不需要的服务,使用nmap和审计工具等进行扫描来评估它,但也要注意简单的事情,如用户密码要求,给予用户信任,还取决于你正在运行的服务器。 例如,SQL可能是最新的版本,但是如果您没有清理Web服务器的input,则可能会发生注入式攻击。

如果您有特定的使用情况,网站上的其他人可能会向您提供与您的情况相关的更多信息。 否则,我唯一可以build议的是从本地书店购买Linux书籍,并阅读,阅读和阅读。 看看Bruce Schneier这样的大师的安全博客。

系统与networkingpipe理的实践。 这本书是必备的。

要传输文件,我build议使用NULL FTP Server而不是WinSCP,这是一个很好的,从SSL的angular度来看易于理解的FTPS和SFTP服务器。 我build议在端口22上运行SFTP服务器。对于FTP客户端,使用FileZilla。

为了获得开发环境的经验,可以获得VisualSVN和龟客户端,并与之一起玩。

为了试验操作系统,我build议使用Sun VirtualBox 。 它与networking的东西有点finnicky,但你应该能够处理好。