GNU/Linux >> Belajar Linux >  >> Linux

Cara Menginstal Elasticsearch di Ubuntu 22.04 dengan SSL

Cara Menginstal Elasticsearch di Ubuntu 22.04 dengan SSL. Elasticsearch 8 adalah pencarian terdistribusi dan analisis data yang skalabel dan dapat diukur secara real time. Di sini Anda akan mempelajari cara mengonfigurasi SSL ke instalasi Elasticsearch Anda dengan proxy terbalik Nginx di Ubuntu 22.04.

Anda akan membuat subdomain untuk layanan Elasticsearch Anda dan menginstal sertifikat SSL Let's Encrypt gratis menggunakan Certbot.

Penyiapan ini diuji di Google Cloud Platform yang menjalankan Ubuntu 22.04 LTS. Jadi panduan ini akan berfungsi sempurna di penyedia layanan cloud lain seperti AWS, Azure, atau VPS atau server khusus apa pun.

Prasyarat

  • Server dengan RAM minimal 2GB dan 2vCPU
  • Pengguna dengan hak istimewa sudo.

Pengaturan Server Awal

Mulailah dengan memperbarui paket perangkat lunak server ke versi terbaru yang tersedia.

sudo apt update 
sudo apt upgrade

Konfigurasi Sub-Domain

Pastikan Anda menggunakan sub-domain untuk mengakses instalasi Elasticsearch Anda.

Buka bagian manajemen DNS Anda dan buat A baru rekam dengan nama yang Anda inginkan untuk subdomain Anda (misalnya search ) dan nilai alamat IP server Anda.

Jadi sub-domain Anda akan terlihat seperti di bawah ini. Jika Anda ingin mengonfigurasi domain utama, Anda juga dapat melakukannya.

search.yourdomain.com

Langkah 1:Instal ElasticSearch

Java sudah disertakan dengan paket Elasticsearch, jadi Anda tidak ingin menginstal Java secara manual. Pelajari lebih lanjut tentang menginstal Java di Ubuntu 22.04.

Di sini kita akan menginstal Elasticsearch 8.

Mulailah dengan mengimpor kunci GPG repositori Elasticsearch.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

Tambahkan repositori ke daftar sumber server atau sistem Ubuntu Anda.

echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

Perbarui daftar paket dan instal ElasticSearch.

sudo apt update
sudo apt install elasticsearch

Setelah penginstalan selesai, Anda akan menerima kata sandi pengguna super, harap dicatat dan amankan.

------------------- Security autoconfiguration information ----------------------

Authentication and authorization are enabled.
TLS for the transport and HTTP layers is enabled and configured.

The generated password for the elastic built-in superuser is : houbJ1uivo5b=aVYYPa5

If this node should join an existing cluster, you can reconfigure this with
'/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <token-here>'
after creating an enrollment token on your existing cluster.

You can complete the following actions at any time:

Reset the password of the elastic built-in superuser with 
'/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'.

Generate an enrollment token for Kibana instances with 
 '/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana'.

Generate an enrollment token for Elasticsearch nodes with 
'/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node'.

---------------------------------------------------------------------------------

Layanan Elasticsearch tidak dimulai secara otomatis saat penginstalan, Anda perlu menjalankan perintah di bawah ini untuk mengonfigurasi layanan Elasticsearch agar mulai secara otomatis menggunakan systemd.

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

Setelah Elasticsearch diinstal, Anda dapat membatasi port 9200 dari akses luar dengan mengedit elasticsearch.yml file dan batalkan komentar network.host dan ganti nilainya dengan Internal IP or any IP or localhost .

sudo nano /etc/elasticsearch/elasticsearch.yml 

Jadi tampilannya seperti ini..

network.host: INTERNAL_IP

Anda juga dapat menggunakan localhost sebagai host atau alamat IP apa pun yang Anda inginkan.

Tekan Ctrl+X diikuti oleh Y dan Enter untuk menyimpan file dan keluar.

Sekarang mulai dan aktifkan Elasticsearch pada boot server.

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Sekarang pastikan layanan Elasticsearch Anda berjalan.

sudo systemctl status elasticsearch

Langkah 2:Verifikasi apakah Elasticsearch berfungsi

Uji instalasi Anda dengan mengirimkan permintaan HTTP dengan melampirkan sertifikat menggunakan perintah di bawah ini.

Catat kata sandi yang Anda terima sebelumnya, Anda harus menggunakannya saat diminta.

sudo su
curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://INTERNAL_IP:9200

Masukkan kata sandi saat diminta.

Anda akan menerima tanggapan seperti yang ditunjukkan di bawah ini.

{
  "name" : "elasticsearch-vm",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "vGrj3z4rQEWRBUdd9IhZWA",
  "version" : {
    "number" : "8.2.2",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "9876968ef3c745186b94fdabd4483e01499224ef",
    "build_date" : "2022-05-25T15:47:06.259735307Z",
    "build_snapshot" : false,
    "lucene_version" : "9.1.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

Langkah 3:Instal dan Konfigurasi Nginx untuk Elasticsearch

Sekarang saatnya untuk menginstal dan mengkonfigurasi Nginx. Jalankan perintah di bawah ini untuk menginstal Nginx.

sudo apt install nginx

Sekarang Anda dapat mengonfigurasi proxy terbalik Nginx dari Elasticsearch Anda.

Hapus konfigurasi default

sudo rm /etc/nginx/sites-available/default
sudo rm /etc/nginx/sites-enabled/default

Buat file konfigurasi Nginx baru.

sudo nano /etc/nginx/sites-available/search.conf

Tempelkan yang berikut ini.

Catatan:Anda harus menggunakan IP yang sama persis atau localhost yang Anda gunakan di host konfigurasi Elasticsearch.

server {
     listen [::]:80;
     listen 80;

     server_name search.yourdomain.com;

location / {
     proxy_pass http://INTERNAL_IP:9200;
     proxy_redirect off;
     proxy_read_timeout    90;
     proxy_connect_timeout 90;
     proxy_set_header  X-Real-IP  $remote_addr;
     proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header  Host $http_host;
} 

Simpan dan keluar dari file.

Aktifkan konfigurasi Anda dengan membuat tautan simbolis.

sudo ln -s /etc/nginx/sites-available/search.conf /etc/nginx/sites-enabled/search.conf

Langkah 4:Instal Let's Encrypt SSL

HTTPS adalah protokol untuk komunikasi yang aman antara server (instance) dan klien (web browser). Karena pengenalan Let's Encrypt, yang menyediakan sertifikat SSL gratis, HTTPS diadopsi oleh semua orang dan juga memberikan kepercayaan kepada audiens Anda.

sudo apt install python3-certbot-nginx

Sekarang kami telah menginstal Certbot oleh Let's Encrypt untuk Ubuntu 22.04, jalankan perintah ini untuk menerima sertifikat Anda.

sudo certbot --nginx --agree-tos --no-eff-email --redirect -m [email protected] -d search.domainname.com

Perintah ini akan menginstal SSL Gratis, mengonfigurasi pengalihan ke HTTPS, dan memulai ulang server Nginx.

Langkah 5:Memperbarui Sertifikat SSL

Sertifikat yang diberikan oleh Let's Encrypt hanya berlaku selama 90 hari, jadi Anda harus sering memperbaruinya. Jadi, mari kita uji fitur pembaruan menggunakan perintah berikut.

sudo certbot renew --dry-run

Perintah ini akan menguji masa berlaku sertifikat dan mengonfigurasi fitur yang dapat diperbarui secara otomatis.

Persiapkan diri Anda untuk peran yang bekerja sebagai Profesional Teknologi Informasi dengan sistem operasi Linux

Kesimpulan

Sekarang Anda telah mempelajari cara menginstal Elasticsearch 8 dan mengamankannya dengan Let's Encrypt free ssl di Ubuntu 22.04.

Terima kasih atas waktunya. Jika Anda menghadapi masalah atau umpan balik, silakan tinggalkan komentar di bawah.


Linux
  1. Cara Menginstal Elasticsearch di Ubuntu 18.04

  2. Cara menginstal Komunitas Zammad di ubuntu 20.04

  3. Cara Menginstal Docker di Ubuntu 22.04

  1. Cara Menginstal Joomla dengan Apache di Ubuntu 18.04

  2. Cara Menginstal Elasticsearch di Ubuntu 20.04

  3. Cara Menginstal WordPress 5.x Dengan Nginx Di Ubuntu 18.04 / Ubuntu 16.04

  1. Cara menginstal ELK Stack di Ubuntu 18.04

  2. Cara menginstal ElastAlert dengan Elasticsearch di Ubuntu

  3. Cara Menginstal NextCloud di Ubuntu 20.04 dengan Apache