如何在Ubuntu 18.04上配置和安装Webmin
Webmin是一个基于Web的控制面板,用于管理Linux系统。
它是用Perl编写的,可帮助系统管理员快速了解其服务器性能。
Webmin消除了手动创建用户帐户,组,系统更新,配置电子邮件,数据库等麻烦。
在本教程中,我们将向我们展示如何在Ubuntu 18.04上安装和保护Webmin。
准备工作
在我们开始之前,请确保我们具备以下条件
- 设置Ubuntu 18.04服务器的实例
- 已安装Nginx Web服务器
- 具有DNS A记录的完全限定域名(FQDN)指向服务器的地址。
- 让我们对使用certbot安装的SSL进行加密
现在,让我们逐步学习并安装webmin
安装webmin
首先,我们需要添加Webmin的存储库,以使我们能够使用apt软件包管理器无缝安装和管理Webmin。
但是在我们这样做之前,让我们更新系统存储库
$sudo apt update
接下来,安装必要的软件包
$sudo apt install python apt-show-versions libapt-pkg-perl libauthen-pam-perl libio-pty-perl libnet-ssleay-perl
之后,下载Webmin deb软件包
$cd /tmp && curl -L -O http://www.webmin.com/download/deb/webmin-current.deb
现在使用下面的命令安装Webmin
$sudo dpkg -i webmin-current.deb
访问Webmin
并不是说我们已经成功安装了Webmin,而是要在防火墙中允许端口10000。
这是我们要访问Webmin界面的端口。
要在ufw防火墙中添加端口10000,请执行
$sudo ufw allow 10000/tcp
要验证端口10000是否打开,请运行
$sudo ufw status
在防火墙允许的端口下,转到浏览器,并在URL末尾以后缀':10000'浏览域
语法
https://samplewebsite.com:10000
URL列将向我们显示该站点未加密,并且以上页面将打开。
这是因为Webmin尚没有我们将继续安装的SSL证书。
要进入主仪表板,请单击“高级”选项卡,然后单击“进入URL地址”
如图所示,我们将看到一个登录屏幕。
输入正确的用户详细信息,然后单击“登录”
设置文档根目录
接下来,我们将配置Nginx服务器块。
默认情况下,Nginx仅具有一个服务器块,该服务器块被配置为从“/var/www/html目录”中服务器文档
现在,我们将为我们的站点设置一个根目录。
语法
$sudo mkdir -p /var/www/samplewebiste.com/html
有了目录后,我们将所有权重新分配给我们的普通用户帐户
$ sudo chown -R $USER:$USER /var/www/samplewebiste.com/html
修改权限
$sudo chmod -R 755 /var/www
配置Nginx服务器块
Nginx默认包含一个称为“默认”的服务器块,我们可以将其用作自己配置的模板。
我们将创建域服务器块,然后将默认服务器复制到该服务器块并进行一些修改。
如上所述,我们将通过复制默认文件来创建第一个服务器块配置文件:
$sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/samplewebiste.com
然后,我们将使用文本编辑器打开文件并进行一些更改
$sudo vim /etc/nginx/sites-available/samplewebiste.com
忽略注释行,配置应类似于以下内容
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location/{ try_files $uri $uri/=404; } }
由于我们已经具有Nginx默认服务器块,并且在服务器块中具有'default_server'属性,因此我们将在我们的域中删除该属性,并具有:
server { listen 80; listen [::]:80; . . . }
然后,我们将调整文档根目录的路径,并将其指向服务器的文档根目录
server { listen 80; listen [::]:80; root /var/www/samplewebiste.com/html; }
修改“ server_name”属性以匹配我们的域
server { listen 80; listen [::]:80; root /var/www/samplewebiste.com/html; index index.html index.htm index.nginx-debian.html; server_name samplewebiste.com www.samplewebiste.com; location/{ try_files $uri $uri/=404; } }
关闭并退出配置文件
然后,我们将通过发出以下命令来启用服务器块
$sudo ln -s /etc/nginx/sites-available/samplewebiste.com/etc/nginx/sites-enabled/
为了确保我们的任何Nginx文件中都没有语法错误,请执行
$sudo nginx -t
现在让我们重启Nginx服务器
$sudo systemctl restart nginx
要验证Nginx是否正在运行,请执行
$sudo systemctl status nginx
加密Webmin
最后一部分是保护Webmin加密浏览器和Webmin服务器之间的通信。
点击“ Webmin”标签
在出现的下拉菜单中选择“ Web配置”
点击SSL“加密”
接下来,点击“Let’s Encrypt ”标签。
在“主机名”选项卡中填写主机名,然后为验证文件定义根目录,如图所示。
此后,单击“请求证书”。
Webmin将生成Let’s Encrypt SSL证书并将验证文件存储在已定义的目录中
返回URL并刷新浏览器。
现在,我们将注意到与Webmin服务器的连接已加密。
我们现在可以安全登录并访问仪表板
要查看有关证书的信息,请单击挂锁符号,然后选择“证书校验”选项查看。