










安装 Ubuntu 26.04 (LTS), Webmin, Nginx, MariaDB, PHP8.5-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS
在第一部分,DavidYin 介绍了如何在 DigitalOcean 创建新 VPS,选择基本的 Ubuntu 26.04 LTS的系统。
下面是介绍如何安装 Webmin 这个主机控制面板和 SSH 的安全设置。这非常重要,安全性的事情,如何小心都不为过。
首先,我使用的是 Putty,这是一个 SSH 工具,先用 putty 登录 VPS,IP 地址可以登录到 DigitalOcean 后台看到,用户名就是 root,密码是刚刚自己设置的那个密码。
登录到 VPS 之后,一登录,就可看到显示着有 6 个更新需要马上进行,都是标准安全更新。
执行 apt update,查询软件库的更新信息。
root@pecan:~# apt update
Hit:1 http://security.ubuntu.com/ubuntu resolute-security InRelease
Hit:2 https://repos-droplet.digitalocean.com/apt/droplet-agent main InRelease
Hit:3 http://mirrors.digitalocean.com/ubuntu resolute InRelease
Hit:4 http://mirrors.digitalocean.com/ubuntu resolute-updates InRelease
Hit:5 http://mirrors.digitalocean.com/ubuntu resolute-backports InRelease
61 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@pecan:~#
现在看到有 61 个包需要升级。
root@pecan:~# apt upgrade
Upgrading:
bpftool libfwupd3 libpython3.14-minimal linux-virtual snapd vim-common
curl libgcrypt20 libpython3.14-stdlib ntfs-3g tar vim-runtime
fwupd libgssapi-krb5-2 libsqlite3-0 openssh-client tzdata vim-tiny
gawk libk5crypto3 libssh2-1t64 openssh-server ubuntu-kernel-accessories wget
gzip libkrb5-3 linux-headers-generic openssh-sftp-server ubuntu-minimal xxd
iproute2 libkrb5support0 linux-headers-virtual python3-httplib2 ubuntu-pro-client
krb5-locales libnghttp2-14 linux-image-virtual python3-idna ubuntu-pro-client-l10n
libcurl3t64-gnutls libnss3 linux-libc-dev python3.14 ubuntu-server
libcurl4t64 libntfs-3g89t64 linux-perf python3.14-gdbm ubuntu-standard
libfreetype6 libpython3.14 linux-tools-common python3.14-minimal vim
Installing dependencies:
linux-headers-7.0.0-28 linux-main-modules-zfs-7.0.0-28-generic linux-tools-7.0.0-28-generic
linux-headers-7.0.0-28-generic linux-modules-7.0.0-28-generic
linux-image-7.0.0-28-generic linux-tools-7.0.0-28
Suggested packages:
linux-tools
Not upgrading yet due to phasing:
apport apport-core-dump-handler python3-apport python3-problem-report python3-software-properties software-properties-common
Summary:
Upgrading: 55, Installing: 7, Removing: 0, Not Upgrading: 6
47 standard LTS security updates
Download size: 305 MB
Space needed: 318 MB / 22.5 GB available
└─ in /boot: 107 MB / 856 MB available
Continue? [Y/n]
按 Y,继续升级。中间会问你,SSHD配置文件是否要更改,我选择的是第二个选项,保持原来的版本。然后再次重启系统,对了重启命令是 shutdown now -r。
为什么要安装 Webmin?
主要就是我习惯使用,用了很多年了。一直在用 Webmin 管理面板,可以很方便的更新系统,安装 perl 包,添加 MySQL 数据库;第二,在出现错误的时候,查看 log 日志,还有很多很多其它功能。
参考 webmin 官方的安装 Webmin的方法。
先下载源库的文件,再添加源。
curl -o webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
sudo sh webmin-setup-repo.sh
然后就可以输入下面的命令开始安装 webmin了。
sudo apt-get install webmin --install-recommends
安装完成之后,在桌面浏览器(比如 Firefox)中输入下面的网址来访问安装好的 Webmin 控制面板。
https://144.126.221.243:10000
然后会出现"Be careful. Something doesn't look right."的警告信息,点击 Advanced 按钮,点击 "Proceed to 144.126.221.243 (Risky)",就可以继续载入登录页面了。
看到登录页面,输入之前的 root 和对应的密码。
Webmin 默认安装的用户界面是响应式,之前我一直用的是经典样式,现在我也已经习惯使用响应式了。
登入之后,看到有提示,6个软件包需要更新。一路点击更新之。
看看当前我所创建的这个 VPS 的参数:
为了 SSH 的安全,我会在 TCP wrappers 处添加两条规则,只允许来自指定的 IP 地址的电脑以 SSH 的方式连上服务器。
左侧,Networking 》TCP Wrappers。
在 Allow 规则处,允许 ALL Services, Remote Hosts 的地方输入服务器 IP 和我所指定的IP,(就是我自己的 IP 地址)在 Deny 规则处,Services 填写 sshd ,Remote Hosts 选 All。
这样设置完成后,来自指定 IP 地址的 SSH 访问不会受影响,除此之外的 IP,若访问 SSH 服务的话,就会直接被拒绝。比如下面的记录可以看到,服务器才刚刚创立十分钟,就有莫名奇妙的 IP 试图以 root 身份连上 SSH,用不同的端口,尝试密码,当然出错返回,但都会消耗 VPS 资源,大多是自动扫描的工具,设置 TCP Wrapper 之后,就直接 refused 了,连密码尝试的机会都不会给。
在 webmin 上面可以选 System 》 System Logs RS 》File /var.log/auth.log
看sshd 的日志,最下面的一行 refused connect from 就是一条。
Ubuntu 系统平时不建议以 root 用户直接登录操作,而是应该用普通用户,如果需要执行 root 用户的权限,那就采用 sudo 方式。下面就是在 Webmin 的管理面板中进行添加新用户。
在左侧,选择 System 》 Users and Groups, 然后选择 Create a new user,比如用户名输入 davidyin,选择 Normal password 输入自己设定的密码,当然更安全的是使用 SSH public key的方式来登入, Shell 这块我会选择 /bin/bash ,然后在 primary group 的地方,默认是选择已存在的用户组 users。在 Second group 的地方我会把 sudo 组加入,这样以后就只用登入这个用户来操作,即使执行更高权限的操作,也只需要 sudo 就可以了。
记得密码设置的复杂一些。
很多年前,我有用 proftpd 作为 VPS 上的 FTP 服务器,但是后来觉得既然可以直接使用 SFTP,就是 SSH File Transfer Protocol,简而言之,就是利用 SSH 来传输文件的方式,为什么还要安装 FTP服务器呢?第一,ssh 更加安全;第二,服务器上可以少安装一样服务,节约内存,并且少一个可能的安全漏洞。
设置时区就可以自动把系统时间同步到我所在的本地时间。
左侧,Hardware 》 System Time, 选择 Change Timezone 标签,在时区修改的下拉菜单,改为 America/Vancouver (MST -BC (most areas)),点击保存。现在 VPS 显示的时间就是我所在的温哥华地区了。
今年开始就是永久夏令时了,所以时区就从 PST,变成了 MST。
在 Time server sync 这个 tab 下面,可以设置让时钟定时校准。
在 Ubuntu 26.04 系统,是使用 chrony 服务来同步的。
而校时服务器,Ubuntu 26.04 的 chrony 默认是保存在 /etc/chrony/sources.d/ubuntu-ntp-pools.sources
其中已经设置了NTS 代替了 NTP。也已经设了相关的服务器。这部分不太了解,能用就行。
至此, Ubuntu 26.04 LTS,Webmin控制面板,以及时区设置,SSH的安全设置都完成了。接下来是介绍如何安装 Nginx Web 服务器,MariaDB数据库服务器,php等等。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。