如何在 CentOS 8 上安装 Cockpit

Cockpit 是一个免费和开源的基于 Web 的服务器管理软件。它有一个漂亮的 Web 控制台,允许系统管理员轻松执行任务,例如存储管理、网络配置、启动 Docker 容器、检查服务器性能、启动和停止服务以及许多其他管理操作。Cockpit 在我们的 GNU/Linux 服务器中的一些令人敬畏的好处如下:

  1. 它由 systemd 服务管理器组成,以方便使用。
  2. 它有一个日志日志查看器来执行故障排除和日志分析。
  3. 包括LVM在内的存储设置从未如此简单。
  4. 基本网络配置可以与 Cockpit 一起应用
  5. 我们可以轻松添加和删除本地用户并管理多个服务器。

在本教程中,您将学习如何在CentOS 8上安装最新版本的 Cockpit 。

在 Centos 8/7 和 RHEL 8 上

更新系统包

在我们安装 Cockpit 软件包之前,我们需要更新系统:

$ sudo yum -y update
CentOS-8 - AppStream                                        1.7 kB/s | 4.3 kB     00:02    
CentOS-8 - Base                                             1.2 kB/s | 3.8 kB     00:03    
CentOS-8 - Extras                                           1.4 kB/s | 1.5 kB     00:01    
Extra Packages for Enterprise Linux 8 - x86_64               12 kB/s |  32 kB     00:02    
Extra Packages for Enterprise Linux 8 - x86_64               86 kB/s | 1.7 MB     00:20    
Dependencies resolved. 
Nothing to do.
Complete!

由于 Centos 8 刚刚发布,在撰写本文时,还没有任何更新。

从存储库安装 Cockpit 软件包

在 Centos 8 中,Cockpit 软件包默认包含在 extras 存储库中,您可以立即安装它,这与 Centos 7 不同的是,您需要先添加 epel repo。我们使用以下命令启动 Cockpit 安装:

$ sudo yum install cockpit
$ sudo yum install cockpit
Last metadata expiration check: 0:04:25 ago on Thu 26 Sep 2019 03:10:41 PM UTC.
Dependencies resolved.
================================================================================
 Package                               Arch            Version         
================================================================================
Installing:
 cockpit                               x86_64          185.1-1.el8_0            
Installing dependencies:
 PackageKit                            x86_64          1.1.12-2.el8    
 PackageKit-glib                       x86_64          1.1.12-2.el8            
 cairo                                 x86_64          1.15.12-3.el8      
 cairo-gobject                         x86_64          1.15.12-3.el8        
 libX11                                x86_64          1.6.7-1.el8        
 libX11-common                         noarch          1.6.7-1.el8           
 libXau                                x86_64          1.0.8-13.el8         
 libXext                               x86_64          1.3.3-9.el8          
 libXrender                            x86_64          0.9.10-7.el8         
 libxcb                                x86_64          1.13-5.el8              
 pixman                                x86_64          0.36.0-1.el8           
 python3-cairo                         x86_64          1.16.3-6.el8             
 python3-gobject                       x86_64          3.28.3-1.el8             
 python3-systemd                       x86_64          234-8.el8           
 setroubleshoot-plugins                noarch          3.3.10-1.el8        
 checkpolicy                           x86_64          2.8-2.el8                   

.....        

Transaction Summary
================================================================================
Install  42 Packages

Total download size: 16 M
Installed size: 46 M
Is this ok [y/N]: 

键入“y”,它将开始下载和安装所需的软件包。

在 Fedora 上

同样,CentOS 也默认在 Fedora 的官方存储库中可用,我们只需使用 dnf 包管理器安装 cockpit。

# dnf install cockpit

在 Arch Linux 上

Cockpit 目前在 Arch Linux 的官方存储库中不可用,但它在 Arch 用户存储库中可用,也称为 AUR。因此,我们将简单地运行以下 yaourt 命令来安装它。

# yaourt cockpit

在 Ubuntu 上

使用 apt 命令在 ubuntu 或 debian 上安装 cockpit

sudo apt update
sudo apt -y install cockpit
sudo systemctl status cockpit

在防火墙上允许端口 9090

sudo ufw allow 9090

启用并启动 Cockpit 服务

我们现在必须使用以下命令启用 Cockpit:

$ sudo systemctl enable --now cockpit.socket
Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket → /usr/lib/systemd/system/cockpit.socket.

并启动 Cockpit:

$ sudo systemctl start cockpit

设置防火墙

最后,让我们确保防火墙不会阻止 Cockpit。默认情况下,您访问 Cockpit 应该没有任何问题,但以防万一我们将使用以下命令打开所需的端口:

$ sudo firewall-cmd --permanent --zone=public --add-service=cockpit
Warning: ALREADY_ENABLED: cockpit
success

$ sudo firewall-cmd --reload
success

如您所见,Cockpit 已添加到防火墙规则中。但最好运行它以防万一,并避免防火墙可能出现的问题。

Cockpit 的安装现已完成,您可以通过导航到以下 URL 来访问仪表板:

https://localhost:9090

如果你有一个静态 IP 地址,你可以输入你的 IP 而不是“localhost”来从任何地方访问 Cockpit。

登录驾驶舱

导航到 Cockpit URL 时,您可能会收到有关站点 SSL 证书的安全警告提示,因为它是自签名的。您可以忽略警告并进入登录区域。使用超级用户凭据登录 Cockpit。

登录后,您将看到系统信息和资源监控页面:

向 Cockpit 添加新服务器

驾驶舱仪表板

驾驶舱帐户页面

驾驶舱帐户页面

Cockpit KernelDump 页面

Cockpit KernelDump 页面

驾驶舱网络页面

驾驶舱网络页面

Cockpit SELinux 页面

Cockpit SELinux 页面

驾驶舱服务页面

驾驶舱服务页面

驾驶舱终端

驾驶舱终端

结论

Cockpit 是管理员和开发人员必备的工具。一旦你开始使用它,你就会将它安装在你所有的 Linux 服务器上。正如我们在本教程中看到的,Cockpit 是一款出色的 Linux 服务器管理工​​具。如果您有任何意见和问题,请在下面的评论部分发表。

在 RHEL/CentOS 7 上启用远程桌面访问的 5 个工具

在本教程中,我将向您展示使您能够访问运行 CentOS/RHEL 的机器上的远程桌面的工具。所有这些应用程序都在客户端-服务器模式下工作。所以你需要在你的远程机器上运行一个服务器端应用程序,然后你就可以从世界各地连接到它。当然,在本参考手册中,我会告诉你如何安全地配置它,这样只有你才能访问你的服务器。

在我们开始之前,您需要通过 SSH 访问您的服务器并获得安装软件的权限。您需要以 root 用户或具有 sudo 权限的用户身份登录。所有命令都将在每个 CentOS 服务器 5/6/7/8 上运行。在开始之前,您需要在服务器上安装桌面环境。

# yum groupinstall 'GNOME Desktop Environment' 'X Window System'

1)VNC

x11vnc – 这三种方法中最简单的远程访问。VNC代表Virtual Network Computing)是一个非常有用的网络图形协议。

您需要启用 EPEL(企业 Linux 的额外软件包)存储库。跑步

# yum -y install epel-release

现在我们可以安装 x11vnc。此命令将安装服务器并解决所有依赖项:

# yum -y install x11vnc

然后我们将使用密码保护服务器:

# x11vnc -storepasswd

Enter VNC password:

Verify password:

Write password to /root/.vnc/passwd? [y]/n y

Password written to: /root/.vnc/passwd

!不要使用简单的密码!

我们现在准备启动服务器:

# x11vnc --reopen --forever -rfbauth ~/.vncpasswd &

您可以检查服务器是否已启动:

# netstat -an | grep 5900

tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN

tcp6 0 0 :::5900 :::* LISTEN

如果没问题,只需尝试使用 vncviewer 连接到它。

# yum -y install vnc
# vncviewer YOUR_SERVER_IP

就这样!现在您可以访问您的桌面了。重新启动后,只需再次 ssh 并再次执行此操作。

x11vnc --reopen --forever -rfbauth ~/.vnc/passwd &

2) TigerVNC服务器

TigerVNC – 是 VNC 的高性能、平台中立的实现

# yum install -y tigervnc-server

让我们复制示例配置并进行编辑:

# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
# vi /etc/systemd/system/vncserver@:1.service

配置示例:

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
Requires=systemd-logind.service

[Service]
Type=oneshot
RemainAfterExit=yes

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l USERNAME -c "/usr/bin/vncserver %i"
ExecStop=/usr/sbin/runuser USERNAME -c '/usr/bin/vncserver -kill %i'

[Install]
WantedBy=multi-user.target

注意:如果要使用相同的 VNC 设置,则必须更改上述配置中的 USERNAME。这是我们用于本教程的配置。

现在我们必须运行 vncpasswd 命令来设置我们的访问密码和/或仅查看密码(允许用户仅查看远程屏幕的密码):

# vncpasswd 
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

现在启用自动启动服务并重新启动它:

$ systemctl enable vncserver@:1.service
$ systemctl restart vncserver@:1.service

您可以通过键入以下命令检查 vnc 服务状态:

$ systemctl status vncserver@:1.service

如果一切顺利,你应该有类似的终端输出:

$ systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
   Active: active (exited) since Wed 2020-09-30 22:04:47 CEST; 7s ago
  Process: 3766 ExecStart=/usr/sbin/runuser -l slax -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)
  Process: 3761 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 3766 (code=exited, status=0/SUCCESS)

Sep 30 22:04:44 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
Sep 30 22:04:47 localhost.localdomain systemd[1]: Started Remote desktop service (VNC).

最后连接到它:

# vncviewer YOUR_SERVER_IP

3) XRDP

XRDP 是一个开源远程桌面协议服务器。要使用 XRDP,您需要已经安装了 VNC 服务。因此,在安装 XRDP 之前,您应该遵循本教程中的第一个或第二个选项。

首先,我们需要安装 EPEL 存储库和 xrdp 服务器:

# yum -y install epel-release
# yum -y install xrdp

现在让我们开始服务:

# systemctl start xrdp.service 

检查它是否正在运行,并将其添加到自动启动中。

# netstat -an | grep 3389 
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
# systemctl enable xrdp.service

就这样。现在您可以从任何 Windows 机器连接到您的服务器。

4) 团队查看器

Teamviewer 在标准 repos 中不存在,所以我们需要安装 wget 并下载 TeamViewer rpm 包

# yum -y install wget
# wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm

使用以下命令安装它:

# yum install teamviewer.x86_64.rpm

并设置您的密码:

# teamviewer passwd YOUR_PASSWORD
ok
# systemctl start teamviewerd.service

现在您只需要获取您的 id 即可连接:

# teamviewer –info
TeamViewer ID: 9XXXXXXX7

尝试使用您之前设置的此 ID 和密码连接到它:

5) FreeNX

FreeNX 是基于 NoMachine 的企业级开源技术的远程访问解决方案。如果您正是希望此工具获得远程访问,您可以考虑升级到云版本。

首先,我们需要为 Centos 6 添加 e EPEL + nux-dextop 存储库:

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm

对于 Centos 7

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

安装服务器和代理:

# yum install freenx-server nxagent 

启用 passdb 身份验证:

# echo 'ENABLE_PASSDB_AUTHENTICATION="1"' >> /etc/nxserver/node.conf

现在我们需要为远程访问创建用户并为他分配密码:

# /usr/libexec/nx/nxserver --adduser bob 
NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: not detected)
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: not detected)
NX> 716 Public key added to: /home/bob/.ssh/authorized_keys2
NX> 1001 Bye.
NX> 999 Bye

#/usr/libexec/nx/nxserver --passwd bob 
NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: not detected)
New password:
Password changed.
NX> 999 Bye

现在我们将在您的机器上安装 epel-repos 和 opennx 客户端:

# yum install opennx

启动 opennx 向导后,您将被询问会话名称、服务器地址和端口。最重要的是设置您的密钥。您需要从服务器的 /etc/nxserver/client.id_dsa.key 复制密钥并将其粘贴到客户端会话属性的常规选项卡中。

翻译:一粒云,原文来源:https://linoxide.com/tools-enable-remote-desktop-access-rhel-centos-7/

在 CentOS 7 上安装 MariaDB 的 2 种方法

MariaDB 是一个流行的开源 SQL 数据库管理系统,它是 MySQL 的一个分支和直接替代品。自 Oracle 收购 MySQL 以来,MariaDB 成为开源社区首选的数据库系统。MariaDB 通过更快的复制速度、更严格的安全措施和额外的存储引擎提供了改进的性能,还有一些好处。

在本指南中,您将学习如何在 CentOS 7 上安装 MariaDB。

有两种安装 MariaDB 服务器的方法。您可以安装 CentOS 7 存储库中可用的默认版本,也可以通过手动添加 MariaDB 存储库来安装最新版本。

1) 使用 Yum 在 CentOS 7 上安装 MariaDB

CentOS 存储库中 MariaDB 的默认版本是 MariaDB 5.5。虽然不是最新版本,但它非常稳定,强烈推荐。

要在 CentOS 7 上安装 MariaDB 5.5,请登录到您的服务器实例并使用 yum 包管理器,如图所示。

$ sudo yum install mariadb-server

出现提示时,按“y”表示“是”以继续安装过程。

要启动 MariaDB 数据库服务器,请发出命令:

$ sudo systemctl start mariadb

此外,您可以使用以下命令启用 MariaDB 在启动时启动:

$ sudo systemctl enable mariadb

要确认 MariaDB 是否正在运行,请运行:

$ sudo systemctl status  mariadb
CentOS 7 上的 MariaDB 检查 mariadb 状态
检查 mariadb 状态

上面的输出确认 MariaDB 已启动并正在运行。要确认安装的 MariaDB 版本,只需运行命令

mysql -V
检查 MariadB 版本
检查 MariaDB 版本

您还可以使用所示的 rpm 命令:

$ rpm -qi | grep mariadb
rpm 命令检查 mariadb 的版本
rpm 命令检查 MariaDB 版本

您还可以在登录数据库时查看 MariaDB 的版本。

$ sudo mysql -u root -p
登录 MariaDB 服务器
登录 MariaDB 服务器

2) 从 Repo 安装 MariaDB

在编写本指南时,MariaDB 的最新版本是 MariaDB 10.4。要安装它,首先创建一个存储库文件,如下所示:

$ sudo vim /etc/yum.repos.d/mariadb.repo

接下来,粘贴以下内容:

[mariadb]
name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 

保存并退出文件。

接下来,更新 yum 缓存索引,如图所示。

$ sudo yum makecache fast

要安装 MariaDB 10.4,请运行以下命令:

$ sudo yum install mariadb-server mariadb-client

出现提示时,按“y”表示“是”以继续安装过程。

要启动 MariaDB 数据库服务器,请运行以下命令:

$ sudo systemctl start mariadb

此外,您可以通过调用以下命令使 MariaDB 在启动时启动:

$ sudo systemctl enable mariadb

要确认 MariaDB 是否正在运行,请运行:

$ sudo systemctl status  mariadb

同样,您可以使用各种方法来确认 MariaDB 的版本,如前所述。

$ rpm -qi MariaDB-server
CentOS 7 上的 MariaDB
确认安装了最新的 MariaDB 服务器

从命令行访问 MariaDB 数据库

要以 root 用户身份访问 MariaDB 数据库,请调用以下命令:

$ sudo mysql -u root -p

系统将提示您输入 sudo 密码,然后是 root 密码。

登录 MariaDB 服务器

此外,您可以创建另一个用户并分配权限,如图所示

MariaDB [(none)] >  create user 'linoxide'@'localhost' IDENTIFIED BY  'Password';
MariaDB [(none)] > GRANT ALL PRIVILEGES ON *.* TO 'linoxide'@'localhost';

接下来,使用以下命令注销:

MariaDB [(none)] > quit;

然后使用用户登录

$ sudo mysql -u linoxide  -p

从 CentOS 7 中删除 MariaDB

如果您希望从 CentOs 7 中删除您的 MariaDB 实例,请先停止 MariaDB 服务。

$ sudo systemctl stop mariadb.service

接下来,使用以下命令从 CentOS 7 中完全删除 MariaDB:

$ sudo yum remove -y mariadb-server mariadb-client

最后,删除所有数据文件,如图所示。

$ sudo rm -rf /var/lib/mysql  /etc/my.cnf

相关阅读:

结论

在本指南中,我们将引导您完成在 CentOS 7 上安装 MariaDB 的步骤。我们介绍了安装 MariaDB 的默认和稳定版本以及安装最新版本。

原文出处:https://linoxide.com/install-mariadb-on-centos-7/ (翻译:一粒云-米立)