使用 Ubuntu 20.04 18.04 和 16.04 进行初始服务器设置
介绍
设置服务器是创建用于托管网站、应用程序或管理数据的可靠且安全的环境的重要步骤。在本文中,我们将探讨设置 Ubuntu 服务器的过程,特别是版本 20.04、18.04 和 16.04。我们将介绍必要的步骤以及实际示例及其相应的输出,以帮助您无缝地完成初始服务器设置过程。
先决条件
在深入研究服务器设置之前,请确保满足以下先决条件 -
Ubuntu 20.04、18.04 或 16.04 服务器实例。
具有管理权限(或 root 访问权限)的用户帐户。
用于远程连接到服务器的 SSH 客户端(例如 OpenSSH)。
系统更新升级
首先,更新和升级系统以确保您拥有最新的软件包和安全补丁至关重要。执行以下命令 -
$ sudo apt update
此命令更新升级和新安装的软件包列表。
$ sudo apt upgrade
此命令将所有已安装的软件包升级到最新版本。
创建新用户
虽然建议避免使用 root 帐户执行日常任务,但创建具有 sudo 权限的新用户被认为是最佳实践。按照下面的例子 -
$ sudo adduser example_user
将“example_user”替换为您所需的用户名。系统将提示您设置密码并为新用户提供附加信息。
授予管理权限
要向新创建的用户授予管理权限,您需要将其添加到 sudo 组。执行以下命令 -
$ sudo usermod -aG sudo example_user
此命令将用户添加到 sudo 组,允许他们以管理权限执行命令。
配置 SSH 访问
Secure Shell (SSH) 允许安全地远程访问您的服务器。您可以将 SSH 配置为使用基于密钥的身份验证而不是密码来增强安全性。执行以下步骤 -
在本地计算机上生成 SSH 密钥对(如果没有) -
$ ssh-keygen -t rsa -b 4096
将公钥复制到服务器 -
$ ssh-copy-id example_user@your_server_ip
禁用密码身份验证(可选但推荐) -
编辑 SSH 配置文件 -
$ sudo nano /etc/ssh/sshd_config
更改以下行 -
PasswordAuthentication no
保存文件并重新启动 SSH 服务 -
$ sudo systemctl restart sshd
防火墙配置
启用防火墙有助于保护您的服务器免受未经授权的访问。 Ubuntu 提供 UFW(简单防火墙)作为管理防火墙规则的直接方法。按照下面的例子 -
允许 SSH 连接 -
$ sudo ufw allow OpenSSH
启用防火墙 -
$ sudo ufw enable
验证防火墙状态 -
$ sudo ufw status
设置基本防火墙规则
有时,您可能需要允许或拒绝对特定端口的访问。以下示例演示了如何允许 HTTP 流量 -
$ sudo ufw allow 80/tcp
此命令允许端口 80 上的传入 TCP 流量,该端口用于 HTTP。
启用自动安全更新
保持服务器最新对于安全至关重要。 Ubuntu 提供了“无人值守升级”包来自动进行安全更新。执行以下步骤 -
安装包 -
$ sudo apt install unattended-upgrades
启用自动更新 -
$ sudo dpkg-reconfigure --priority=low unattended-upgrades
按照提示配置更新首选项。
使用基于密钥的身份验证保护 SSH 访问
为了进一步增强 SSH 访问的安全性,您可以禁用密码身份验证并仅依赖基于密钥的身份验证。请按照以下步骤操作 -
编辑 SSH 配置文件 -
$ sudo nano /etc/ssh/sshd_config
找到指定PasswordAuthentication 的行并将其值更改为no -
PasswordAuthentication no
取消注释指定 PubkeyAuthentication 的行以启用基于密钥的身份验证 -
PubkeyAuthentication yes
保存文件并重新启动 SSH 服务 -
$ sudo systemctl restart sshd
现在,您只能使用与之前添加的公钥关联的私钥来访问服务器。
配置时区和 NTP
正确设置时区并确保准确的时间同步对于各种服务器功能和应用程序非常重要。要配置时区并启用 NTP(网络时间协议),请按照以下步骤操作 -
检查当前时区 -
$ timedatectl show
使用带有 set-timezone 选项的 timedatectl 命令设置所需的时区。例如,将时区设置为“America/New_York” -
$ sudo timedatectl set-timezone America/New_York
安装 NTP 进行时间同步 -
$ sudo apt install ntp
启动并启用 NTP 服务 -
$ sudo systemctl start ntp
$ sudo systemctl enable ntp
安装和配置 Web 服务器 (Apache)
如果您打算在 Ubuntu 服务器上托管网站或 Web 应用程序,那么安装 Web 服务器是必不可少的。在此示例中,我们将安装和配置 Apache,它是最流行的 Web 服务器之一。执行以下步骤 -
安装 Apache -
$ sudo apt install apache2
调整防火墙以允许传入 HTTP 和 HTTPS 流量 -
$ sudo ufw allow 'Apache'
验证 Apache 服务的状态 -
$ sudo systemctl status apache2
打开网络浏览器并输入服务器的 IP 地址。您应该看到默认的 Apache 页面,确认安装成功。
安装和配置数据库服务器 (MySQL)
如果您的服务器需要数据库管理系统,MySQL 是一个强大且广泛使用的选择。请按照以下步骤安装和配置 MySQL -
安装 MySQL 服务器 -
$ sudo apt install mysql-server
保护 MySQL 安装 -
$ sudo mysql_secure_installation
按照提示设置 root 密码并提高 MySQL 安装的安全性。
验证 MySQL 服务的状态 -
$ sudo systemctl status mysql
定期更新系统
为了确保服务器的持续安全性和稳定性,让系统保持最新的软件更新和安全补丁非常重要。执行以下命令定期更新系统 -
$ sudo apt update && sudo apt upgrade -y
此命令将更新软件包列表并升级所有已安装的软件包,应用任何可用的更新。
结论
通过遵循上面的综合指南,您已经了解了如何在 Ubuntu 20.04、18.04 和 16.04 上执行初始服务器设置。我们涵盖了各个方面,包括用户创建、SSH 配置、防火墙设置、保护 SSH 访问、配置时区和 NTP、安装和配置 Web 服务器 (Apache)、安装和配置数据库服务器 (MySQL),以及更新定期系统。有了这些知识,您现在就可以设置