安装 Ubuntu 22.04 (LTS), Webmin, Nginx, MariaDB, PHP8.1-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS
在第一部分,DavidYin 介绍了如何在 DigitalOcean 创建新 VPS,选择基本的 Ubuntu 22.04 LTS的系统。
下面是介绍如何安装 Webmin 这个主机控制面板和 SSH 的安全设置。这非常重要,安全性的事情,如何小心都不为过。
第二部分
最初的安全更新
首先,我使用的是 Putty,这是一个 SSH 工具,先用 putty 登录 VPS,IP 地址可以登录到 DigitalOcean 后台看到,用户名就是 root,密码是自己设置的那个密码。
登录到 VPS 之后,执行 apt update
,查询软件库的信息。
此处略去相关代码,请查看桌面标准版文章。
安装完成之后,在桌面浏览器(比如 chrome)中输入下面的网址来访问安装好的 Webmin 控制面板。
https://147.182.232.40:10000
然后会出现"Your connection is not private"的警告信息,点击 Advanced。
然后点击 "Accept the Risk and Continue",就可以继续载入登录页面了。
看看当前我所创建的这个 VPS 的参数:
- Operating system Ubuntu Linux 22.04
- Webmin version 1.991
- Kernel and CPU Linux 5.15.0-30-generic on x86_64
- Processor information DO-Premium-Intel, 1 cores
- Running processes 101
- CPU load averages 0.24 (1 min) 0.05 (5 mins) 0.02 (15 mins)
- CPU usage 90% user, 2% kernel, 1% IO, 0% idle
SSH安全设置
为了 SSH 的安全,我会在 TCP wrappers 处添加两条规则,只允许来自指定的 IP 地址的电脑以 SSH 的方式连上服务器。
左侧,Networking 》TCP Wrappers。
在 Allow 规则处,允许 ALL Services, Remote Hosts 的地方输入服务器 IP 和我所指定的IP,(就是我自己的 IP 地址)在 Deny 规则处,Services 填写 sshd ,Remote Hosts 选 All。
添加新用户
Ubuntu 系统平时不建议以 root 用户直接登录操作,而是应该用普通用户,如果需要执行 root 用户的权限,那就采用 sudo 方式。下面就是在 Webmin 的管理面板中进行添加新用户。
在左侧,选择 System 》 Users and Groups, 然后选择 Create a new user,比如用户名输入 davidyin,选择 Normal password 输入自己设定的密码,Shell 这块我会选择 /bin/bash ,然后在 primary group 的地方,默认是选择已存在的用户组 users。在 Second group 的地方我会把 sudo 组加入,这样以后就只用登入这个用户来操作,即使执行更高权限的操作,也只需要 sudo 就可以了。
为什么没有安装 FTP 服务器?
很多年前,我有用 proftpd 作为 VPS 上的 FTP 服务器,但是后来觉得既然可以直接使用 SFTP,就是 SSH File Transfer Protocol,简而言之,就是利用 SSH 来传输文件的方式,为什么还要安装 FTP服务器呢?第一,ssh 更加安全;第二,服务器上可以少安装一样服务,节约内存,并且少一个可能的安全漏洞。
设置时区
设置时区就可以自动把系统时间同步到我所在的本地时间。
左侧,Hardware 》 System Time, 选择 Change Timezone 标签,在时区修改的下拉菜单,改为 America/Vancouver (Pacific -BC (most areas)),点击保存。现在 VPS 显示的时间就是我所在的温哥华地区了。
左侧,Hardware 》 System Time, 选择 Time Server sync 标签,在 Timneserver hostnames or address 这里填写 ca.pool.ntp.org,其它设置看下图。
此处略去相关代码,请查看桌面标准版文章。
这样设置,是为了让系统在每天的18点29分同步一次时钟。
至此, Ubuntu 22.04 LTS,Webmin控制面板,以及时区设置,SSH的安全设置都完成了。接下来是介绍如何安装 Nginx Web 服务器,MariaDB数据库服务器,php等等。