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.