安装 Ubuntu 20.04, Webmin, Nginx, MariaDB, PHP7.4-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(2)

作者:


最后更新于 | 最初发布于 | 分类:


安装 Ubuntu 20.04 LTS, Webmin, Nginx, MariaDB, PHP7.4-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS上。

在第一部分,DavidYin 介绍了如何在 DigitalOcean 创建新 VPS。并且完成基本的 Ubuntu 20.04 LTS的系统。

下面是介绍如何安装 Webmin 这个主机控制面板和 SSH 的安全设置。这非常重要,安全性的事情,如何小心都不为过。

第二部分

最初的安全更新

首先,我使用的是 Putty,这是一个 SSH 工具,先用 putty 登录 VPS,IP 地址可以登录到 DigitalOcean 后台看到,用户名就是 root,密码是在第一部分修改之后的那个密码。

登录到 VPS 之后,执行 apt update,会显示有四个软件包需要更新,然后输入 apt upgrade 完成升级更新,包括下面这四个软件包。

  • distro-info-data
  • libnetplan0
  • netplan.io
  • python3-requests

安装 Webmin 控制面板,SSH 安全设置

为什么要安装 Webmin?

主要就是我习惯使用,用了很多年了。一在 Webmin 管理面板,可以很方便的更新系统,安装 perl 包,添加 MySQL 数据库;第二,在出现错误的时候,查看 log 日志,还有很多很多其它功能。

安装 Webmin

参考 webmin 官方的安装 Webmin 到 Debian 系统的做法。

首先安装一些必要的软件包。因为系统本身还缺少必要的 unzip 工具,也一并加上。

apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python unzip

接着下载目前最新的 webmin v1.941,并安装。

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.941_all.deb
dpkg --install webmin_1.941_all.deb

安装完成之后,在桌面浏览器(比如chrome)中输入下面的网址来访问安装好的 Webmin 控制面板。

https://45.33.52.122:10000

这个IP地址只是用于举例,并没有实际使用,请不要尝试。 然后会出现"Your connection is not private"的警告信息,点击 Advanced。 private-connection.jpg

然后点击"Proceed to 45.33.52.122 (unsafe)",忽略它,继续就可以看到一个登录的界面。

private-connection-proceed.jpg

看到登录界面,就输入 root 和其相对应的 密码。

webmin-login.jpgwebmin 默认的用户界面是响应式的,只是我个人更喜欢使用传统的界面。

webmin-new-ui.jpg

修改响应式模板的方式如下:点击左侧的 Webmin 》 Webmin Configuration 》 Webmin Themes,然后选择 "Change theme" 标签页,修改当前 theme,改为 Gray Framed theme。

webmin-frame-ui.jpg这种传统的样式,载入的速度快。

可以看一下目前 DigitialOcean 在旧金山2区的服务器的参数:

  • Operating system Ubuntu Linux 20.04
  • Webmin version 1.941
  • Time on system Sun Apr 26 07:53:39 2020
  • Kernel and CPU Linux 5.4.0-26-generic on x86_64
  • Processor information Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz, 1 cores

添加新用户

Ubuntu 系统平时不建议以 root 用户直接登录操作,而是应该用普通用户,如果需要执行 root 用户的权限,那就采用 sudo 方式。下面就是在 Webmin 的管理面板中进行添加新用户。

在左侧,选择 SystemUsers and Groups, 然后选择 Create a new user,比如用户名输入 davidyin,输入自己设定的密码,Shell 这块我会选择 /bin/bash ,然后在 primary group 的地方,默认是选择已存在的用户组 users。在 Second group 的地方我会把 sudo 组加入,这样以后就只用登入这个用户来操作,即使执行更高权限的操作,也只需要 sudo 就可以了。

为什么没有安装 FTP 服务器?

很多年前,我有用 proftpd 作为 VPS 上的 FTP 服务器,但是后来觉得既然可以直接使用 SFTP,就是 SSH File Transfer Protocol,简而言之,就是利用 SSH 来传输文件的方式,为什么还要安装 FTP服务器呢?第一,ssh 更加安全;第二,服务器上可以少安装一样服务,节约内存,并且少一个可能的安全漏洞。

设置时区

设置时区就可以自动把系统时间同步到我所在的本地时间。

左侧,HardwareSystem Time, 选择 Change Timezone 标签,在时区修改的下拉菜单,改为 America/Vancouver (Pacific -BC (most areas)),点击保存。现在 VPS 显示的时间就是我所在的温哥华地区了。

接下里要设置加拿大 NTP 服务器,让VPS 的时间能定时与世界原子钟同步。

左侧,HardwareSystem Time, 选择 Time Server sync 标签,在 Timneserver hostnames or address 这里填写 ca.pool.ntp.org,其它设置看下图。

timeserver-sync.jpg让它每天的六点四十做一次时间同步。

SSH安全设置

为了 SSH 的安全,我会在 TCP wrappers 处添加两条规则,只允许来自指定的 IP 地址的电脑以 SSH 的方式连上服务器。

左侧,NetworkingTCP Wrappers

Allow 规则处,允许 ALL Services, Remote Hosts 的地方输入服务器IP和我所指定的IP;在 Deny 规则处,Services 填写 sshd ,Remote Hosts 选 All。

这样设置完成后,来自指定 IP 地址的 SSH 访问不会受影响,除此之外的 IP,若访问 SSH 服务的话,就会直接被拒绝。比如下面的记录可以看到,短短一个小时,有莫名奇妙的 IP 试图以 root 身份连上 SSH,尝试密码,出错返回,设置之后,就直接 refused 了,连密码尝试的机会都不会给。

查看日志记录: 左侧 System LogsFile /var/log/auth.log Yes auth,authpriv.* 》点击 View,可以看到这么些尝试登录失败的。

ssh-error-log.jpg至此, Ubuntu 20.04 LTS,Webmin控制面板,以及时区设置,SSH的安全设置都完成了。接下来是介绍如何安装 Nginx Web 服务器,MariaDB数据库服务器,php等等。



搜索
关于
David Yin
研究(SEO)搜索引擎优化排名和(PPC)竞价排名技术,总结搜索营销学的各种方法和趋势。专业SEO优化研究,致力于搜索引擎优化技术的普及和推广。
David Yin
Email:seo[AT]g2soft.net
版权说明
如果想转载,而又不明白转载的条件,请看本站的详细版权说明
推荐
Dreamhost Hosting
使用优惠码“save252015”,节省更多,每月只要 $2.59。
归档
标签云
热门标签