作为一个没有经验的服务器管理员,我需要了解哪些基本概念?

Der*_*air 5 linux lamp

我(正如这个标题所暗示的)对这个服务器配置的东西很陌生。我最近被迫学习如何配置开发/生产环境。我的实际服务器/网络配置历史仅限于编程。我精通 PHP/MySQL/JavaScript。

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

大约一个月前,我执行了我的第一个 LAMP 安装(在 Ubuntu 上),并且我已经......

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

任何其他与服务器管理相关的过程现在都让我心烦意乱,但它们可能非常小。

我应该提一下,我将通过 Amazon EC2 专注于基于 Linux(可能是 Ubuntu)的服务器。这不会是我的职业道路——只是一个临时的工具。我个人将专注于基于 Web 的应用程序开发端。我想我不会出错学习如何配置我的环境......对吗?

不过我有点担心,因为我没有在这个主题(或任何与网络相关的主题)方面的“正式”教育。我非常依赖论坛或问答网站,例如这个网站,以确保我的教育是完整的。

大或小。这对我来说没有区别。我的理解是每个人都有那些“天哪,我希望我早点知道这件事!” 时刻。

我面临的问题是我缺乏基础。我有信心我可以学会如何做大部分中等和一些高级的东西。

没有重复,只是让自己沉浸在材料中。我需要知道什么?

我需要深入了解哪些概念?

例如:安全要点、如何设置一个像样的系统来安全地进行 FTP(文件传输,无论如何)、文件系统组织、我应该使用哪个 Linux 发行版。

谢谢 - 非常感谢给出的任何输入或方向!

对不起,如果这有点笼统和模糊。

编辑:我将专注于基于 Internet 的应用程序,这些应用程序肯定会使用某种 SQL 数据库。

Chr*_*ian 5

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

当您管理多个服务器时,请查看Puppet等配置管理工具。

记录您的更改以及您进行更改的原因。在ITIL术语中,它是在 cmdb 中完成的,但您可以从一个简单的文本文件、wiki、...

获得像Nagios这样的监控解决方案,这样您就可以了解您的系统在做什么。

尽可能自动化。当事情变得一团糟时,你会感谢你拥有的每一个脚本。

这不是确定的全部,但我相信你会得到很多其他好的答案。

Edit1:这里有一些博客可能有助于让你有个起点:

以及一些书籍:
* Linux 系统管理手册
* UNIX 编程艺术

Edit2:这里是不同 Linux 发行版的概述: