TYPO3とSolr · 1 min read · Dec 27, 2025

Debian Squeeze上でTYPO3とSolrを使用する

Debian Squeeze上でTYPO3とSolrを使用する

バージョン 1.0
著者: Falko Timme
Twitterでフォローしてください

TYPO3のデフォルト検索拡張機能「Indexed Search」は小規模なウェブサイトには適していますが、ウェブサイトが大きくなると(> 500ページ)、非常に遅くなります。幸いなことに、超高速のApache Solr検索サーバーを使用する検索拡張機能に置き換えることができます。このチュートリアルでは、Debian Squeeze上でTYPO3とApache Solrを使用する方法を説明します。

これがあなたにとって機能するという保証はありません!

1 予備ノート

このチュートリアルでは、2つのサーバーを使用しています:

  • server1.example.com (IP: 192.168.0.100): TYPO3 4.7のイントロダクションパッケージがインストールされているウェブサーバー(www.example.comのvhost内)。
  • server2.example.com (IP: 192.168.0.101): Apache Solrをインストールするための別のサーバー。

もちろん、ウェブサーバーと同じシステムにSolrをインストールすることも可能ですが、両方のサービスが互いのパフォーマンスに影響を与えないように分けたいと思います。

2 Solrのインストール

server2.example.com:

/etc/apt/sources.listを開きます…

vi /etc/apt/sources.list

… そして、contribおよびnon-freeリポジトリが有効になっていることを確認します:

| deb http://ftp.de.debian.org/debian/ squeeze main contrib non-free deb-src http://ftp.de.debian.org/debian/ squeeze main contrib non-free deb http://security.debian.org/ squeeze/updates main contrib non-free deb-src http://security.debian.org/ squeeze/updates main contrib non-free deb http://ftp.de.debian.org/debian/ squeeze-updates main contrib non-free deb-src http://ftp.de.debian.org/debian/ squeeze-updates main contrib non-free |

パッケージデータベースを更新します…

apt-get update

… そしてJavaをインストールします:

apt-get install sun-java6-bin sun-java6-jdk sun-java6-jre unzip
update-alternatives --config java  
update-alternatives --config javac

TYPO3プロジェクトはSolrインストールスクリプトを提供しており、次のようにダウンロードします:

wget http://forge.typo3.org/projects/extension-solr/repository/revisions/master/raw/resources/shell/install-solr.sh  
chmod 755 install-solr.sh

次に、Solrをインストールします。デフォルトでは(パラメータとして言語を提供しない場合)、Solrは英語のみのサポートでインストールされます。より多くの言語のサポートが必要な場合は、コマンドに追加してください。例えば、次のようにします:

./install-solr.sh german english french

これにより、Solrが実行されるTomcatサーバーとSolrがインストールされます。デフォルトでは、Tomcatは127.0.0.1のみにリッスンします。リモートホストからSolrにアクセスしたいので、Tomcatをすべてのインターフェースでリッスンするように設定する必要があります。したがって、/opt/solr-tomcat/tomcat/conf/server.xmlの127.0.0.1を0.0.0.0に置き換えます:

vi /opt/solr-tomcat/tomcat/conf/server.xml

| [...] [...] |

Tomcatを再起動します:

/opt/solr-tomcat/tomcat/bin/shutdown.sh  
/opt/solr-tomcat/tomcat/bin/startup.sh

次に、Solrでコアを設定できます。デフォルトでは、英語のコアがすでに設定されています。より多くの言語が必要な場合は、/opt/solr-tomcat/solr/solr.xmlに追加できます。例えば、次のようにします:

vi /opt/solr-tomcat/solr/solr.xml

| |

その後、Solrを再起動します:

/opt/solr-tomcat/tomcat/bin/shutdown.sh  
/opt/solr-tomcat/tomcat/bin/startup.sh

サーバーが起動するたびにTomcatを手動で起動したくないので、Tomcatの起動コマンドを/etc/rc.localに追加できます:

vi /etc/rc.local

| [...] /opt/solr-tomcat/tomcat/bin/startup.sh [...] |

2.1 Solrへの認証の追加

Solrがすべてのインターフェースでリッスンしているため、認証を追加することは良いアイデアです。英語のコアに対して、ユーザーuser1とパスワードsecretを設定します。

/opt/solr-tomcat/tomcat/conf/web.xmlを開きます…

vi /opt/solr-tomcat/tomcat/conf/web.xml

… そして、コンテナのどこかに次のセクションを追加します:

| [...] Solr認証アプリケーション /core_en/* role1 BASIC 管理者と更新保護 [...] |

ご覧のとおり、これは英語のコアに対してのみ有効です(/core_en/*)。私はこれをrole1の役割に設定しましたので、有効なユーザーはその役割に属する必要があります。ユーザーuser1とそのパスワードをその役割に追加するには、/opt/solr-tomcat/tomcat/conf/tomcat-users.xmlを開きます…

vi /opt/solr-tomcat/tomcat/conf/tomcat-users.xml

… そして、コンテナの中に次のセクションを追加します:

| [...] [...] |

その後、Tomcatを再起動します:

/opt/solr-tomcat/tomcat/bin/shutdown.sh  
/opt/solr-tomcat/tomcat/bin/startup.sh

ブラウザを開いて、http://192.168.0.101:8080/solrでSolrにアクセスすると、すべての設定されたコアが表示されるはずです:

英語のコアにアクセスすると(認証を設定したばかりの)、ユーザー名とパスワードを求められるはずです:

認証に成功すると、Solrが正常に実行されていることを示す次のページが表示されるはずです:

Share: X/Twitter LinkedIn

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

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