Apache Solr · 1 min read · Oct 22, 2025

Debian 12にApache Solrをインストールする方法

Apache Solrは、強力なアプリケーション検索およびインデックス作成機能を作成するために設計された、Apache Luceneに基づくオープンソースの検索プラットフォームです。高度な全文検索、ファセット検索、リアルタイムインデックス作成、分散検索を提供し、検索エンジンやデータ取得システムの構築に人気の選択肢となっています。Solrは非常にスケーラブルで、大量のデータに最適化されており、ウェブサイト検索、eコマース、ビッグデータ分析などのタスクに企業環境でよく使用されます。そのRESTライクなAPIは他のシステムとの統合を容易にし、クエリのハイライト、提案、地理空間検索などの機能をサポートしています。Solrの柔軟性、パフォーマンス、コミュニティサポートにより、堅牢な検索機能を必要とする組織にとっての主要なソリューションとなっています。

このガイドでは、Debian 12サーバーにApache Solrをインストールする手順をステップバイステップで説明します。Java OpenJDK 17を使用してApache Solrをインストールし、BasicAuthプラグインを介してセキュリティを確保し、次にコマンドラインを使用してSolrインデックスを作成する方法を学びます。

前提条件

手続きを進める前に、以下を確認してください:

  • メモリが少なくとも4GBのDebian 12サーバー。
  • sudo管理者権限を持つ非rootユーザー。

Java OpenJDKのインストール

Apache Solrは、Apache Luceneに基づくエンタープライズ検索プラットフォームで、Java JRE(Java Runtime Environment)の上で動作します。この時点で、Solrは少なくともJava JRE(Java Runtime Environment)バージョン11を必要とし、DebianリポジトリからインストールできるOpenJDK 17を使用します。

始める前に、以下のコマンドを実行してDebianパッケージインデックスを更新およびリフレッシュします。

sudo apt update

update repo

次に、以下のコマンドを実行してDebianマシンにJava OpenJDKをインストールします。Debian 12では、default-jdkパッケージはApache Solrが使用できるJava OpenJDK 17を指します。

sudo apt install default-jdk

インストールを進めるにはyと入力します。

install openjdk

インストールが完了したら、以下のコマンドを実行してJavaのバージョンを確認します。

java --version

以下の出力は、Java OpenJDK 17がインストールされていることを確認します。

check java

Apache Solrのダウンロードとインストール

Java OpenJDKをインストールした後、次にインストーラスクリプトを介してApache Solrをマシンにダウンロードしてインストールします。この時点で、Apache Solrの最新バージョンはバージョン9.4です。最新バージョンに関する情報を得るには、公式のApache Solrダウンロードページを訪問してください。

Apache Solrをダウンロードする前に、以下のコマンドを実行していくつかの依存関係をインストールします。

sudo apt install curl lsof bc

次に、以下のcurlコマンドを実行してApache Solrのバイナリパッケージをダウンロードします。この執筆時点で、Apache Solrの最新バージョンはv9.4.0です。ダウンロードが完了すると、Apache Solrパッケージはsolr-9.4.0.tgzとして利用可能になります。

curl -qO https://downloads.apache.org/solr/solr/9.4.0/solr-9.4.0.tgz

その後、以下のコマンドを実行して、ファイルsolr-9.4.0.tgzからApache Solrインストーラスクリプトを抽出します。インストーラスクリプトinstall_solr_service.shは、現在の作業ディレクトリから抽出されます。

tar xzf solr-9.4.0.tgz solr-9.4.0/bin/install_solr_service.sh --strip-components=2

download apache solr

次に、以下のコマンドを実行して、インストーラスクリプトinstall_solr_service.shを介してApache Solr solr-9.4.0.tgzをインストールします。

sudo bash ./install_solr_service.sh solr-9.4.0.tgz

プロセス中に、以下の内容が表示されます。

install solr

画像から、Apache Solrインストールの詳細ステータスが表示されます:

  • デフォルトのApache Solrインストールディレクトリは/opt/solrで、データディレクトリは/var/solrです。
  • 新しいシステムユーザーsolrが自動的に作成され、Apache Solrプロセスを実行するために使用されます。
  • solr.serviceという新しいサービススクリプトも作成され、systemctlおよびserviceコマンドを介して管理できます。

次に、以下のコマンドを使用してsolrサービスを確認します。

sudo service solr status

以下の出力が表示され、solrサービスがバックグラウンドで実行され、サービススクリプトを介して開始されたことを確認します。

check solr service

以下のコマンドを使用して、Solrサービスを再起動または停止することもできます。

sudo service solr restart  
sudo service solr stop

Apache Solrの設定

Apache Solrをインストールしたので、次のステップでは以下を行います:

  • Debianシステムの設定:shmmax、nr_hugepages、および最大プロセスとオープンファイルのシステム制限を増やしてDebianマシンを調整します。
  • Solrの設定:Solrの最大ヒープメモリを増やし、特定のローカルIPアドレスをホストApache Solrとして設定します。

始めましょう。

Debianシステムの設定

Apache Solrを最適化するには、Debianマシンのshmmaxnr_hugepagesmax processes、およびmax open filesを増やす必要があります。

以下のコマンドを実行して、Debianマシンのカーネルパラメータshmmaxnr_hugepagesを増やします。

sudo echo 4294967295 > /proc/sys/kernel/shmmax  
sudo echo 1536 > /proc/sys/vm/nr_hugepages

次に、以下のnanoエディタコマンドを使用してファイル/etc/security/limits.confを開きます。

sudo nano /etc/security/limits.conf

以下の設定を行の下部に追加します。これにより、ユーザーSolr最大プロセス最大オープンファイル65000に設定されます。

solr   soft   nofile   65000  
solr   hard   nofile   65000  
solr   soft   nproc    65000  
solr   hard   nproc    65000

完了したら、ファイルを保存してエディタを終了します。

最後に、以下のコマンドを実行してユーザーsolrのulimits(最大プロセスと最大オープンファイル)を確認します。

sudo -H -u solr bash -c "ulimit -aH"

成功した場合、ユーザーsolrのulimit最大プロセス最大オープンファイル65000に設定されているはずです。

setup system

Apache Solrの設定

Debianマシンに変更を加えた後、Apache Solrの設定を変更して最大ヒープメモリを4 GBに設定し、特定のローカルIPアドレス192.168.10.15でSolrを実行します。

以下のnanoエディタコマンドを使用してデフォルトのApache Solr設定/etc/default/solr.in.shを開きます。

sudo nano /etc/default/solr.in.sh

デフォルトのSOLR_HEAPオプションを最大許可メモリで調整します。この例では、Apache Solrが最大メモリ4GBを使用して実行できるようにします。

SOLR_HEAP="4g"

次に、SOLR_HOSTおよびSOLR_JETTY_HOSTオプションのコメントを解除し、サーバーのIPアドレスを入力します。この例では、Apache SolrをローカルIPアドレス192.168.10.15で実行します。

SOLR_HOST="192.168.10.15"  
SOLR_JETTY_HOST="192.168.10.15"

完了したら、ファイルを保存して閉じます。

次に、以下のコマンドを実行してsolrサービスを再起動し、行った変更を適用します。

sudo service solr restart

コマンドを実行した後、Apache SolrはサーバーのIPアドレス192.168.10.15で実行され、最大ヒープメモリは4 GBになります。

ウェブブラウザを起動し、サーバーのIPアドレスの後にポート8983を付けてアクセスします。例えば、http://192.168.10.15:8983/のようにします。すべてが正しく行われていれば、以下のようなApache Solrダッシュボードページが表示されます。

solr dashboard

ここから、Apache Solrのインストールディレクトリ/opt/solrがJava OpenJDK 17で実行されていることが確認できます。

BasicAuthプラグインでApache Solrを保護する

このセクションでは、BasicAuthプラグインを介して認証を追加し、新しいSolrユーザーを作成することでApache Solrを保護します。それを実現するために、特定の設定を作成し、Solrユーザーのための認証モジュールと認可モジュールを定義する必要があります。

以下のnanoエディタコマンドを使用して新しいファイル/var/solr/data/security.jsonを作成します。この例では、Apache Solrのデフォルトデータディレクトリは/var/solr/data/です。

sudo nano /var/solr/data/security.json

以下の設定をファイルに挿入します。

{  
  "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"}  
  }  
}

完了したら、ファイルを保存して閉じます。

これにより、以下の方法でApache Solrが保護されます:

  • ユーザー認証のためのBasicAuthPluginを使用し、新しいユーザーsolrをパスワードsolrRocksで作成します。
  • 認可のためのRuleBasedAuthorizationPluginを使用し、ユーザーsolrを管理者として設定し、Apache Solrインストール内の任意のインデックスにアクセスできるようにします。

次に、以下のコマンドを実行してsolrサービスを再起動し、行った変更を適用します。

sudo service solr restart

次に、ウェブブラウザに戻り、Apache Solrタブをリロードします。すべてが成功すれば、以下のようなSolrログインページにリダイレクトされるはずです。

ユーザーsolrとパスワードSolrRocksでログインします。

solr login page

ログインが成功すれば、画面にApache Solrダッシュボードが表示されます。

Solr Dashboard

最初のインデックスApache Solrの作成

この時点で、Apache Solrのインストールが完了しました。コマンドラインを介して最初のSolrインデックスを作成できます。しかし、その前に、Solrのデフォルト認証が設定されていることを確認する必要があります。

以下のnanoエディタコマンドを使用してSolr設定ファイル/etc/default/solr.in.shを開きます。

sudo nano /etc/default/solr.in.sh

以下の行のコメントを解除して、基本認証を介したデフォルトのSolr認証を設定し、作成したsolrユーザーとパスワードSolrRocksを入力します。

SOLR_AUTH_TYPE="basic"  
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"

完了したら、ファイルを保存してエディタを終了します。

次に、以下のsystemctlコマンドを実行してsolrサービスを再起動し、変更を適用します。

sudo service solr restart

次に、以下のコマンドを実行して最初のSolrインデックスtest_coreを作成します。

su - solr -c "/opt/solr/bin/solr create -c test_core -n TestCore"

インデックスが作成されると、期待される出力「Created new core ‘test_core’」が表示されます。

最後に、Apache Solrダッシュボードに戻ります。次に、Core Selectorドロップダウンメニューセクションでtest_coreを選択します。

完了すると、インデックスtest_coreの詳細情報が以下のように表示されます。

solr details

結論

結論として、Debian 12サーバーにApache Solrのインストールをステップバイステップで完了しました。Java OpenJDK 17を使用してApache Solrをインストールし、BasicAuthプラグインを介して認証を追加することでApache Solrのインストールを保護しました。さらに、コマンドラインを介してSolrインデックスを作成する方法も学びました。これからは、Solrインストールを活用してSolrクラスターを作成できます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。