Cách cài đặt Apache Solr trên Ubuntu Linux

Tác giả Security+, T.Năm 02, 2024, 04:17:43 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Apache Solr hoặc Solr là một nền tảng tìm kiếm cấp doanh nghiệp dựa trên thư viện Apache Lucene. Solr là viết tắt của Searching On Lucene with Replication và là một nền tảng tìm kiếm mã nguồn mở miễn phí được viết bằng Java. Solr là một trong những nền tảng tìm kiếm phổ biến nhất trong ngành và cung cấp tính sẵn sàng cao với khả năng sao chép cũng như chuyển đổi dự phòng và phục hồi tự động.

Solr là một nền tảng tìm kiếm đáng tin cậy và có khả năng mở rộng cao để xây dựng các ứng dụng doanh nghiệp và mang lại hiệu suất cao. Nó hỗ trợ lập chỉ mục phân tán và cung cấp khả năng chịu lỗi. Một số công ty internet lớn như Adobe, Netflix, Instagram, Magento và Bloomberg sử dụng Apache Solr làm nền tảng công cụ tìm kiếm sản phẩm.

Trong hướng dẫn này, bạn sẽ chạy Apache Solr trên máy chủ Ubuntu 22.04. Bạn cũng sẽ bảo mật Apache Solr khi bật mô-đun Xác thực Cơ bản.

1. Điều kiện tiên quyết

Trước khi bắt đầu, bạn phải đáp ứng các yêu cầu sau:

  • Máy chủ Ubuntu 22.04 - có bộ nhớ ít nhất 2 GB.
  • Người dùng không phải root có quyền quản trị viên sudo.

2. Cài đặt Java OpenJDK

Apache Solr là một phần mềm dựa trên Java, vì vậy bạn phải cài đặt Java trên máy chủ Ubuntu của mình. Phiên bản hiện tại của Apache Solr yêu cầu ít nhất Java OpenJDK 11 trở lên. Bây giờ bạn sẽ cài đặt Java OpenJDK 11 trên hệ thống Ubuntu của mình.

Trước tiên, hãy chạy lệnh "apt" bên dưới để cập nhật cơ sở dữ liệu và kho lưu trữ gói Ubuntu.

Mã nguồn [Chọn]
sudo apt update
Bây giờ hãy cài đặt Java OpenJDK trên hệ thống của bạn bằng lệnh "apt install" (xem bên dưới). Xác nhận cài đặt Java OpenJDK bằng Y và nhấn ENTER. Quá trình cài đặt sau đó sẽ bắt đầu.

Mã nguồn [Chọn]
sudo apt install default-jdk

Khi cài đặt, hãy sử dụng lệnh sau để kiểm tra phiên bản Java. Bạn sẽ nhận được đầu ra của Java OpenJDK "11" đã cài đặt trên thiết bị đầu cuối của mình.

Mã nguồn [Chọn]
java -version

3. Cài đặt Apache Solr bằng tập lệnh cài đặt

Sau khi Java OpenJDK được cài đặt, bạn có thể bắt đầu cài đặt Apache Solr. Trong hướng dẫn này, bạn sẽ cài đặt Apache Solr bằng tập lệnh cài đặt trong gói Solr.

Chạy lệnh "wget" bên dưới để tải xuống gói Apache Solr. Tại thời điểm viết bài này, phiên bản mới nhất của Apache Solr là v8.11.2. Bây giờ bạn sẽ thấy gói Apache Solr "solr-8.11.2.tgz" trong thư mục hiện tại của bạn.

Mã nguồn [Chọn]
wget https://downloads.apache.org/lucene/solr/8.11.2/solr-8.11.2.tgz
Tiếp theo, giải nén tập lệnh cài đặt khỏi gói Solr "solr-8.11.2.tgz" bằng lệnh bên dưới. Bạn sẽ thấy tập lệnh cài đặt "install_solr_service.sh" trong thư mục làm việc hiện tại của mình.

Mã nguồn [Chọn]
tar xzf solr-8.11.2.tgz solr-8.11.2/bin/install_solr_service.sh --strip-components=2
Để bắt đầu cài đặt Apache Solr, hãy chạy tập lệnh cài đặt "install_solr_service.sh" như sau. Lệnh này sẽ cài đặt Apache Solr bằng các cấu hình sau:

  • Việc cài đặt dựa trên gói Apache Solr "solr-8.11.2.tgz".
  • Thư mục đích để cài đặt là "/opt", vì vậy thư mục sẽ là"/opt/solr".
  • Thư mục dữ liệu cho Apache Solr là"/var/solr".
  • Apache Solr sẽ chạy dưới tên "solr" của người dùng, được chương trình cài đặt tự động tạo.
  • Tệp dịch vụ systemd cho Apache Solr sẽ được đặt tên là "solr" để bạn có thể dễ dàng quản lý dịch vụ Apache Solr bằng lệnh "systemctl".
  • Apache Solr sẽ chạy trên cổng TCP "8983".

Mã nguồn [Chọn]
sudo bash./install_solr_service.sh solr-8.11.2.tgz -i /opt -d /var/solr -u solr -s solr -p 8983
Tập lệnh cài đặt Apache Solr sẽ hiển thị thông báo sau:


Bạn cũng có thể thấy trong thiết bị đầu cuối của mình dịch vụ "solr" đang chạy. Thông báo "exit" là do systemd không thể tìm thấy daemon giám sát dịch vụ "solr".

Bạn cũng có thể kiểm tra các cổng đang mở trên hệ thống của mình bằng lệnh "ss" bên dưới. Sau đó, bạn sẽ thấy ứng dụng Java Apache Solr đang chạy trên cổng TCP "8983".

Mã nguồn [Chọn]
ss -plnt

Trước khi truy cập cài đặt Apache Solr, bạn phải thêm quy tắc tường lửa mới vào hệ thống của mình. Trên Ubuntu, tường lửa mặc định là "UFW".

Thực hiện lệnh "ufw" bên dưới để thêm cổng TCP "8983" vào quy tắc tường lửa của bạn. Sau đó, kiểm tra cấu hình tường lửa của bạn. Bạn sẽ thấy cổng Apache Solr "8983" đã được thêm vào tường lửa UFW.

Mã nguồn [Chọn]
sudo ufw allow 8983/tcp
sudo ufw status


Bây giờ hãy mở trình duyệt web của bạn và truy cập địa chỉ IP của máy chủ có cổng "8983" (tức là   Đăng nhập để xem liên kết). Bạn sẽ thấy trang quản trị Apache Solr mặc định, được phân phối theo mặc định mà không cần xác thực.


4. Thiết lập Ulimit cho Apache Solr

Khi sử dụng Apache Solr trên hệ điều hành giống Unix, chúng tôi luôn khuyến nghị thiết lập vĩnh viễn ulimit hệ thống cho người dùng "solr", đặc biệt là trong môi trường sản xuất.

Cài đặt này bao gồm số lượng quy trình và tệp đang mở tối đa. Giá trị cho cả hai cài đặt ít nhất phải là "65.000". Hai cài đặt nữa là bộ nhớ ảo và kích thước bộ nhớ tối đa, lý tưởng nhất là nên đặt ở mức không giới hạn.

Tạo tệp cấu hình mới "/etc/security/limits.d/solr.conf" bằng lệnh sau.

Mã nguồn [Chọn]
sudo nano /etc/security/limits.d/solr.conf
Thêm cấu hình sau vào tập tin. Cấu hình này chỉ áp dụng cài đặt Ulimit cho người dùng "solr", tức là Apache Solr.

Mã nguồn [Chọn]
solr   soft   nofile   65000
solr   hard   nofile   65000
solr   soft   nproc    65000
solr   hard   nproc    65000

Lưu và đóng tập tin khi bạn hoàn tất.

Tiếp theo, chạy lệnh sau để kiểm tra và xác minh cài đặt Ulimit cho người dùng "solr". Bạn sẽ thấy giá trị cho các tệp mở tối đa và kích thước quy trình tối đa là "65000"và giá trị cho bộ nhớ ảo và kích thước bộ nhớ tối đa là "không giới hạn".

Mã nguồn [Chọn]
sudo -H -u solr bash -c "ulimit -aH"
Đầu ra lệnh trông giống như sau:


Cuối cùng, hãy chạy lệnh "systemctl" sau để khởi động lại dịch vụ Apache Solr để những thay đổi mới có hiệu lực trên hệ thống Ubuntu.

Mã nguồn [Chọn]
sudo systemctl restart solr
5. Bảo mật Apache Solr bằng Plugin xác thực cơ bản

Cài đặt mặc định của Apache Solr không có xác thực an toàn. Để bảo mật cài đặt Solr của bạn, bạn có thể kích hoạt plugin "Xác thực cơ bản" cho Apache Solr.

Plugin Solr "Xác thực cơ bản" có thể được kích hoạt thông qua tệp cấu hình "security.json" mà bạn tạo trong thư mục dữ liệu Apache Solr "/var/lib/solr".

Tạo tệp cấu hình mới "/var/solr/data/security.json" bằng lệnh sau.

Mã nguồn [Chọn]
sudo nano /var/solr/data/security.json
Thêm cấu hình sau vào tập tin. Cấu hình này tạo người dùng quản trị viên cho Apache Solr với tên người dùng "solr" và mật khẩu "SolrRocks".

Mã nguồn [Chọn]
{
 "authentication":{
   "blockUnknown": true,
   "class":"solr.BasicAuthPlugin",
   "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="},
   "realm":"My Solr users",
   "forwardCredentials": false
  },
 "authorization":{
   "class":"solr.RuleBasedAuthorizationPlugin",
   "permissions":[{"name":"all","role":"admin"}],
   "user-role":{"solr":"admin"}
  }
}

Lưu và đóng tập tin khi bạn hoàn tất.

Tiếp theo, chạy lệnh "systemctl" sau để áp dụng cấu hình và thay đổi mới.

Mã nguồn [Chọn]
sudo systemctl restart solr
Cuối cùng, quay lại trình duyệt web và gọi địa chỉ IP máy chủ của bạn bằng cổng "8983" để truy cập Apache Solr (tức là:   Đăng nhập để xem liên kết).

Bạn sẽ nhận được trang đăng nhập Apache Solr như sau:


Nhập người dùng quản trị viên "solr" và mật khẩu "SolrRocks" và nhấp vào nút "Đăng nhập". Bạn sẽ thấy bảng điều khiển quản trị Apache Solr nếu người dùng và mật khẩu chính xác.


Bạn cũng sẽ thấy cài đặt bảo mật ở dưới cùng bên phải, thông báo cho bạn biết plugin xác thực hiện đang được sử dụng là "BasicAuthPlugin" và người dùng là "solr" với vai trò "admin".


Bây giờ bạn đã định cấu hình "Xác thực cơ bản" cho Apache Solr, tức là bạn sẽ được trang đăng nhập Solr nhắc nhở mỗi khi bạn truy cập bảng điều khiển quản trị Apache Solr.

6. Tạo lõi đầu tiên trong Solr

Trong Apache Solr, bạn cũng có thể tạo và thiết lập nhiều lõi chỉ bằng một lần cài đặt Apache Solr. Lõi Solr được gọi là chỉ số Lucene.

Lõi Solr chứa nhật ký giao dịch và tệp cấu hình, chẳng hạn như tệp lược đồ "solrconfig.xml", v.v. Ngoài ra, lõi Solr hỗ trợ nhiều dữ liệu với các cấu trúc khác nhau và có thể được thiết lập cho nhiều ứng dụng hoặc nhóm mục tiêu khác nhau.

Bản cài đặt tiêu chuẩn của Apache Solr chứa công cụ dòng lệnh "solr", có thể được sử dụng để quản lý các lõi. Dòng lệnh "solr" có sẵn trong thư mục "/opt/solr/bin" và có thể được định cấu hình bằng plugin"Xác thực cơ bản".

Thực hiện lệnh sau để sao chép tập lệnh dòng lệnh "solr".

Mã nguồn [Chọn]
cp /opt/solr/bin/solr.in.sh.orig /opt/solr/bin/solr.in.sh
Chỉnh sửa tập lệnh dòng lệnh "solr" bằng lệnh sau.

Mã nguồn [Chọn]
nano /opt/solr/bin/solr.in.sh
Xóa ký tự nhận xét trong tùy chọn "SOLR_AUTH_TYPE" để thiết lập plugin xác thực. Sau đó, thay đổi giá trị thành "basic" để sử dụng plugin "BasicAuthPlugin".

Mã nguồn [Chọn]
SOLR_AUTH_TYPE="basic"
Tiếp theo, bạn cần bình luận về tùy chọn "SOLR_AUTHENTICATION_OPTS" để đặt người dùng và mật khẩu Solr để xác thực. Trong ví dụ này, người dùng là "solr" và mật khẩu là "SolrRocks". Cấu hình sẽ trông như thế này.

Mã nguồn [Chọn]
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
Lưu và đóng tập tin khi bạn hoàn tất.

Để tạo lõi mới cho Apache Solr, hãy chạy lệnh "solr" sau. Trong bản demo này, bạn sẽ tạo một lõi mới với tên "mycore" và tên cấu hình "MyConfig". Và bạn sẽ thấy kết quả "Đã tạo lõi mới 'mycore'".

Mã nguồn [Chọn]
su - solr -c "/opt/solr/bin/solr create -c mycore -n MyConfig"
Cuối cùng, quay lại bảng điều khiển quản trị Apache Solr và bạn sẽ thấy lõi có tên "mycore" trong menu thả xuống.

Chọn lõi Solr "mycore" và bạn sẽ nhận được thông tin chi tiết về lõi.


Trong hướng dẫn này, bạn đã cài đặt Apache Solr trên Ubuntu 22.04 bằng tập lệnh cài đặt. Bạn cũng đã tìm hiểu một số cấu hình hệ thống cơ bản để sử dụng Apache Solr và kích hoạt Plugin xác thực cơ bản cho Apache Solr.