您的位置:首页 > 房产 > 家装 > 搭建网站哪个好_凡客之家下载_域名查询大全_seo线下培训班

搭建网站哪个好_凡客之家下载_域名查询大全_seo线下培训班

2024/12/23 6:11:04 来源:https://blog.csdn.net/weixin_53510183/article/details/144525702  浏览:    关键词:搭建网站哪个好_凡客之家下载_域名查询大全_seo线下培训班
搭建网站哪个好_凡客之家下载_域名查询大全_seo线下培训班

简介

OpenSearch 是亚马逊发起的社区驱动项目,是 Elasticsearch 和 Kibana 的一个分支。它是一个完全开源的搜索引擎和分析套件,具有丰富的功能和创新的特性。OpenSearch 项目的主要组件是 OpenSearch(Elasticsearch 的一个分支)和 OpenSearch Dashboards(Kibana 的一个分支)。这两个组件都提供企业安全、警报、机器学习、SQL、索引状态管理等功能。

本指南将向你展示如何在 Ubuntu 服务器上安装 OpenSearch 和 OpenSearch Dashboard。你还将使用 TLS 证书保护 OpenSearch,并启用用户名和密码的身份验证

接下来,我将一步一步教大家如何进行安装和部署!!

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品云服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

img

  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

img

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器,Win+R 打开运行窗口,输入 powershell 后点击确定。

img

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器。

img

  • 到此为止,我们的云服务器就远程连接上了。

开始部署

添加 OpenSearch 存储库

首先,你需要将 OpenSearch 和 OpenSearch Dashboard 存储库添加到你的系统中。在这个例子中,我们将使用最新稳定版本的 OpenSearch。

首先,运行以下命令在你的 Ubuntu 系统上安装基本软件包。

sudo apt install lsb-release ca-certificates curl gnupg2 -y

使用以下命令下载 OpenSearch 存储库的 GPG 密钥。

curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring

使用以下命令将 OpenSearch 和 OpenSearch Dashboard 的存储库添加到你的系统中。在这个例子中,你将使用 OpenSearch 2.x 稳定版本。

echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.listecho "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-dashboards-2.x.list

最后,运行 apt 命令来更新你的软件包索引并检索新的 OpenSearch 软件包信息。

sudo apt update

安装 OpenSearch 和 OpenSearch Dashboard

添加 OpenSearch 存储库后,你将通过 APT 软件包管理器安装 OpenSearch 和 OpenSearch Dashboard。然后,你将通过 systemctl 实用程序启动这两个服务。

在安装 OpenSearch 之前,运行以下命令为 OpenSearch 安装生成一个随机密码。请确保复制输出,并包含大写字母、数字和符号。

sudo openssl rand -hex 16

现在运行以下命令来安装 opensearchopensearch-dashboard 软件包。请确保更改 OPENSEARCH_INITIAL_ADMIN_PASSWORD,并键入 Y 以确认安装。

sudo env OPENSEARCH_INITIAL_ADMIN_PASSWORD=B07e_af7e9f8fe12e@85ab797ddc1f174D apt-get install opensearch opensearch-dashboard

安装完成后,运行 systemctl 命令来重新加载 systemd 管理器并应用新的服务文件。

sudo systemctl daemon-reload

你现在可以使用以下命令启动、启用和验证 OpenSearch。

sudo systemctl enable --now opensearch
sudo systemctl status opensearch

你可以在下面看到 OpenSearch 正在运行。

image.png

最后,你现在可以使用以下命令启动、启用和验证 OpenSearch Dashboard 服务。

sudo systemctl enable --now opensearch-dashboards
sudo systemctl status opensearch-dashboards

在下面的输出中,你可以看到 opensearch-dashboards 服务正在运行。

image.png

配置 OpenSearch

安装 OpenSearch 后,你将通过 /etc/opensearch/opensearch.yml 文件配置安装。你还需要根据需要增加 OpenSearch 的默认最大 JVM(Java 虚拟机)大小。

使用 nano 编辑器打开默认的 OpenSearch 配置 /etc/opensearch/opensearch.yml

sudo nano /etc/opensearch/opensearch.yml

更改以下 OpenSearch 配置:

  • network.host 选项更改为你的本地 IP 地址
  • 添加 discovery.typesingle-node,以便在单节点模式下运行 OpenSearch
  • plugins.security.disabled 设置为 false
# Bind OpenSearch to the correct network interface. Use 0.0.0.0
# to include all available interfaces or specify an IP address
# assigned to a specific interface.
network.host: 192.168.10.60# Unless you have already configured a cluster, you should set
# discovery.type to single-node, or the bootstrap checks will
# fail when you try to start the service.
discovery.type: single-node# If you previously disabled the security plugin in opensearch.yml,
# be sure to re-enable it. Otherwise you can skip this setting.
plugins.security.disabled: false

保存文件并退出编辑器。

接下来,使用 nano 编辑器打开 JVM(Java 虚拟机)配置 /etc/opensearch/jvm.options

sudo nano /etc/opensearch/jvm.options

根据需要增加 OpenSearch 的默认最大内存。默认值是 1GB

-Xms2g
-Xmx2g

保存并退出文件。

最后,运行以下 systemctl 命令来重启 opensearch 并应用你的更改。这样,OpenSearch 将在单节点模式下在本地 IP 地址上运行。

sudo systemctl restart opensearch

使用 TLS/SSL 证书保护 OpenSearch

现在你已经配置了 OpenSearch,你需要通过 SSL/TLS 证书设置 OpenSearch 安全性。在本节中,你将禁用演示证书,然后生成根证书、管理员证书和主机/服务器证书。

在生成 SSL 证书之前,使用以下命令从 OpenSearch 中删除演示证书。

rm -f /opt/opensearch/{esnode-key.pem,esnode.pem,kirk-key.pem,kirk.pem,root-ca.pem}

使用 nano 编辑器编辑 OpenSearch 配置 /etc/opensearch/opensearch.yml

sudo nano /etc/opensearch/opensearch.yml

注释掉 OpenSearch 的 demo 安全配置,如下所示。

image.png

保存文件并退出编辑器。

现在创建一个新目录 /etc/opensearch/certs 并进入该目录。此目录将用于存储 OpenSearch 的新证书。

mkdir -p /etc/opensearch/certs; cd /etc/opensearch/certs

生成根证书

首先,运行以下命令生成根证书,该证书将用于签署你的其他证书,如服务器和客户端证书。

openssl genrsa -out root-ca-key.pem 2048

现在运行以下命令从你的私钥生成根证书。请务必使用你的服务器详细信息更改 -subj 选项。

openssl req -new -x509 -sha256 -key root-ca-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ROOT" -out root-ca.pem -days 730

生成管理员证书

使用以下命令为你的管理员证书创建一个新的私钥。

openssl genrsa -out admin-key-temp.pem 2048

使用以下命令将你的管理员密钥转换为 PKCS8 格式。

openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem

接下来,使用以下命令为管理员证书创建一个新的签名请求证书 (CSR)。

openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csr

现在运行以下命令使用根证书签署你新的管理员请求证书 (CSR)。

openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730

image.png

生成主机或服务器证书

生成 OpenSearch 主机/服务器的私钥,并将证书转换为 PKCS8 格式。

openssl genrsa -out ubuntu24-key-temp.pem 2048
openssl pkcs8 -inform PEM -outform PEM -in ubuntu24-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out ubuntu24-key.PEM

现在运行以下命令为主机生成证书请求 (CSR)。CN 或公用名称应与你的主机服务器的 fqdn 相匹配,而不是主机名。在此示例中,服务器的 fqdn 为 ubuntu24.howtoforge.local

openssl req -new -key ubuntu24-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ubuntu24.howtoforge.local" -out ubuntu24.csr

接下来,运行以下命令来创建一个包含你的主机/服务器 DNS 的新扩展文件。

echo 'subjectAltName=DNS:ubuntu24.howtoforge.local' > ubuntu24.ext

最后,运行以下命令,使用根证书签署主机/服务器证书,并包含你之前创建的扩展文件。

openssl x509 -req -in ubuntu24.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out ubuntu24.pem -days 730 -extfile ubuntu24.ext

image.png

设置证书

删除管理员和主机的临时证书、CSR(证书请求)以及扩展文件,如下所示。

rm *temp.pem *csr *ext
ls

现在使用以下命令将 root-ca.pem 证书转换为 root-ca.crt 文件。

openssl x509 -outform der -in root-ca.pem -out root-ca.crt

之后,将 root-ca.crt 证书复制到 /usr/local/share/ca-certificates 目录,并将你的根证书加载到服务器。

sudo cp root-ca.crt /usr/local/share/ca-certificates
sudo update-ca-certificates

image.png

最后,运行以下命令来设置证书文件和目录的正确权限和所有权。

sudo chown -R opensearch:opensearch /etc/opensearch/certs
sudo chmod 0700 /etc/opensearch/certs
sudo chmod 0600 /etc/opensearch/certs/*.pem
sudo chmod 0600 /etc/opensearch/certs/*.crt

将证书添加到 OpenSearch

为 OpenSearch 生成 TLS 证书后,你需要在 opensearch.yml 文件中添加新配置。在这种情况下,你将通过 bash 脚本向 opensearch.yml 添加新配置。

在将证书添加到你的 OpenSearch 服务器之前,请运行以下命令备份 opensearch.yml 文件并设置你的服务器 fqdn

sudo cp /etc/opensearch/opensearch.yml /etc/opensearch/opensearch.yml.orig
sudo hostnamectl set-hostname ubuntu24.howtoforge.local

现在使用 nano 编辑器创建一个新文件 add-cert.sh

nano add-cert.sh

将以下配置插入到文件中。这样,你将向 OpenSearch 配置文件 opensearch.yml 添加新配置

#! /bin/bash# Before running this script, make sure to replace the CN in the
# node's distinguished name with a real DNS A record.echo "plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/ubuntu24.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/ubuntu24-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.enabled: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/ubuntu24.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/ubuntu24-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.allow_default_init_securityindex: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.authcz.admin_dn:" | sudo tee -a /etc/opensearch/opensearch.yml
echo " - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.nodes_dn:" | sudo tee -a /etc/opensearch/opensearch.yml
echo " - 'CN=ubuntu24.hwdomain.lan,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.audit.type: internal_opensearch" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.enable_snapshot_restore_privilege: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.check_snapshot_restore_write_privileges: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.restapi.roles_enabled: [\\"all_access\\", \\"security_rest_api_access\\"]" | sudo tee -a /etc/opensearch/opensearch.yml

保存文件并在完成后退出编辑器。

现在使 add-cert.sh 文件可执行并使用以下命令执行它。新配置将添加到 opensearch.yml 文件中。

chmod +x add-cert.sh
./add-cert.sh

image.png

使用密码身份验证保护 OpenSearch

此时,你已经使用 SSL/TLS 证书配置了 OpenSearch,在下一步中,你将为 OpenSearch 设置密码身份验证。你将设置两个用户,这两个用户将用于登录 OpenSearch 并集成到 OpenSearch Dashboard 中。

转到 /usr/share/opensearch/plugins/opensearch-security/tools 目录并执行 hash.sh 脚本以生成 OpenSearch 的新密码。执行 hash.sh 两次,为 OpenSearch 和 OpenSearch Dashboard 生成两个密码。此外,请务必将生成的密码复制到你的笔记中。

cd /usr/share/opensearch/plugins/opensearch-security/tools
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.sh

现在使用以下 nano 编辑器打开文件 /etc/opensearch/opensearch-security/internal_users.yml

sudo nano /etc/opensearch/opensearch-security/internal_users.yml

使用你之前的密码更改用户 adminkibanaserver 的哈希密码。admin 用户将用于登录 OpenSearch Dashboard,kibanaserver 用户将用于连接 OpenSearch 和 OpenSearch Dashboard。

admin:hash: "$2y$12$zPtsgbrpfmInPRuDEKvDKetuzhUzsQWyCpE9foT1uun5RTMW51p9K"reserved: truebackend_roles:- "admin"description: "Admin user"kibanaserver:hash: "$2y$12$zPtsgbrpfmInPRuDEKvDKetuzhUzsQWyCpE9foT1uun5RTMW51p9K"reserved: truedescription: "Demo OpenSearch Dashboards user"

保存文件并在完成后退出编辑器。

现在运行以下命令来重启 opensearch 服务并应用你的更改。

sudo systemctl restart opensearch

OpenSearch 重启后,运行以下命令将你的 SSL 证书应用到 OpenSearch。

cd /usr/share/opensearch/plugins/opensearch-security/tools
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./securityadmin.sh -h 192.168.10.60 -p 9200 -cd /etc/opensearch/opensearch-security/ -cacert /etc/opensearch/certs/root-ca.pem -cert /etc/opensearch/certs/admin.pem -key /etc/opensearch/certs/admin-key.pem -icl -nhnv

如果顺利,你将看到类似这样的输出:

image.png

最后,运行以下 curl 命令来验证到 OpenSearch 服务器的身份验证。

curl https://192.168.10.60:9200 -u admin:password -k
curl https://node-rock1:9200 -u kibanaserver:kibanapass -k

如果成功,你将能够通过 HTTPS 协议使用用户名和密码访问 OpenSearch。

image.png

配置 OpenSearch Dashboard

配置密码身份验证后,你将通过编辑文件 opensearch-dashboard,yml 来设置 OpenSearch Dashboard。

使用 nano 编辑器打开 OpenSearch Dashboard 的配置 /etc/opensearch-dashboards/opensearch-dashboard.yml

sudo nano /etc/opensearch-dashboards/opensearch-dashboard.yml

将你的本地 IP 地址输入到 server.host 选项中,如下所示:

server.host: "192.168.10.60"

请务必使用你的信息更改 OpenSearch 主机、用户名和密码。

opensearch.hosts: ["https://192.168.10.60:9200"]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanapass

保存文件并退出编辑器。

现在运行以下 systemctl 命令来重启 OpenSearch Dashboard 并应用你的更改。这样,OpenSearch Dashboard 应该连接到 OpenSearch。

sudo systemctl restart opensearch-dashboards

接下来,打开你的 Web 浏览器并访问 http://192.168.10.60:5601。如果你的安装成功,你将看到 OpenSearch Dashboard 登录页面。

输入你的管理员用户和密码,然后单击“Log in”。

image.png

登录后,选择“Add data”来添加新数据或单击“Explore on my own”选项。

image.png

为了确保 OpenSearch 和 OpenSearch Dashboard 之间的连接,你需要从仪表板检查 OpenSearch 状态。

在“Management”部分,单击“Dev Tools”。

image.png

在控制台部分中,输入 GET / 并单击播放按钮。如果你与 OpenSearch 和 OpenSearch Dashboard 的连接成功,你将看到以下页面。

image.png

结论

你已经在 Ubuntu 服务器上安装了 OpenSearch 和 OpenSearch Dashboard。OpenSearch 在单节点模式下运行,安装通过 HTTPS 进行了保护。最后,你还配置了 OpenSearch 的身份验证,并将 OpenSearch 与 OpenSearch Dashboard 集成。

相关链接
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com