Cari versi OpenSSL yang kompatibel:
Sebagai contoh, kita akan menggunakan OpenSSL versi 1.1.1 yang masih didukung dan umum digunakan. Anda bisa mengunduhnya dari situs web resmi OpenSSL.
Download source code OpenSSL:
cd /usr/local/src
sudo wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
Ekstrak file yang diunduh:
sudo tar -xzvf openssl-1.1.1.tar.gz
Masuk ke direktori source code yang telah diekstrak:
cd openssl-1.1.1
Konfigurasi build:
Jalankan skrip konfigurasi dengan opsi untuk menginstalnya ke lokasi yang tidak akan mengganggu versi sistem:
sudo ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
Kompilasi dan instalasi:
sudo make
sudo make test # Opsional, untuk memastikan kompilasi berhasil
sudo make install
Konfigurasi Sistem untuk Menggunakan OpenSSL yang Baru Terinstal
Update file konfigurasi sistem untuk menunjuk ke OpenSSL yang baru:
Anda perlu menginformasikan kepada sistem untuk menggunakan OpenSSL yang baru terinstal di /usr/local/ssl. Edit file /etc/ld.so.conf untuk menambahkan path OpenSSL baru.
sudo nano /etc/ld.so.conf
Tambahkan baris berikut ke akhir file:
/usr/local/ssl/lib
Update cache linker dinamis:
sudo ldconfig
Update variabel environment untuk memastikan shell menggunakan versi OpenSSL yang benar:
echo 'export PATH="/usr/local/ssl/bin:$PATH"' >> ~/.bash_profile
echo 'export LD_LIBRARY_PATH="/usr/local/ssl/lib:$LD_LIBRARY_PATH"' >> ~/.bash_profile
source ~/.bash_profile
Instal Ruby Menggunakan RVM dengan OpenSSL yang Baru Terinstal
Instal Ruby dengan menunjuk ke OpenSSL yang baru:
rvm install 2.6.1 --with-openssl-dir=/usr/local/ssl
Periksa versi Ruby dan OpenSSL yang digunakan:
ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'
Dengan mengikuti langkah-langkah ini, Anda akan memiliki OpenSSL versi yang lebih lama terinstal secara terpisah dan dapat digunakan untuk mengkompilasi dan menjalankan Ruby 2.6.1 di server Anda tanpa mengganggu versi OpenSSL yang digunakan oleh sistem operasi. Jika Anda menemui masalah atau memerlukan bantuan lebih lanjut, jangan ragu untuk bertanya.