Apache Solrのインストール、設定

CentOSApache Solrのインストール、設定をする。
(手順が多少アレだが、とりあえずメモがてら。時間があれば逐次修正する。)


※Jettyのインストール
Jettyのダウンロード&解凍

# wget http://dist.codehaus.org/jetty/jetty-6.1.26/jetty-6.1.26.zip
# unzip jetty-6.1.26.zip



シンボリックリンクをはる

# ln -s /usr/local/src/jetty-6.1.26 /usr/local/jetty



jettyのコネクタを編集する

# vi /usr/local/jetty/etc/jetty.xml

    <Call name="addConnector">
      <Arg>
          <New class="org.mortbay.jetty.nio.SelectChannelConnector">
            <Set name="host"><SystemProperty name="jetty.host" /></Set>
<!-- こいつをコメントアウト   
          <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
-->
<!-- ↓追記する -->
          <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set>
<!-- ↑追記する -->
            <Set name="maxIdleTime">30000</Set>
            <Set name="Acceptors">2</Set>
            <Set name="statsOn">false</Set>
            <Set name="confidentialPort">8443</Set>
         <Set name="lowResourcesConnections">5000</Set>
         <Set name="lowResourcesMaxIdleTime">5000</Set>
          </New>
      </Arg>
    </Call>

     <Call name="addConnector">
       <Arg>
         <New class="org.mortbay.jetty.ajp.Ajp13SocketConnector">
           <Set name="port">8984</Set>
         </New>
       </Arg>
     </Call>



ajp_proxyを使ってapacheと連携する
※mod_proxy_ajpを読み込んでいる前提

# vi /usr/local/apache2/conf/httpd.conf
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #有効になっていることを確認。
ProxyPass /jetty/ ajp://localhost:8984/ #最下部あたりに追記



パスを設定する

# vi /etc/default/jetty
JAVA_HOME=/usr/local/jdk1.6.0_24/
JAVA_OPTIONS="-Dsolr.solr.home=/usr/local/solr/solr/hoge/solr/ $JAVA_OPTIONS" 
JETTY_HOME=/usr/local/jetty
JETTY_USER=root
JETTY_LOGS=/var/log/solr/



※Solrのインストール
Apache Solrのダウンロード&解凍

# wget http://ftp.riken.jp/net/apache//lucene/solr/3.4.0/apache-solr-3.4.0-src.tgz
# tar xvzf apache-solr-3.4.0-src.tgz



シンボリックリンクをはる

# ln -s /usr/local/src/apache-solr-3.4.0 /usr/local/solr



exampleフォルダをコピーする

# cd /usr/local/src/apache-solr-3.4.0/solr
# cp -r example hoge 



lucene-gosenをゲットしてくる

# cd /usr/local/src/apache-solr-3.4.0/solr/hoge/lib
# wget http://lucene-gosen.googlecode.com/files/lucene-gosen-1.1.1-ipadic.jar



solr.warをコピーする

# wget http://ftp.riken.jp/net/apache//lucene/solr/3.4.0/apache-solr-3.4.0.tgz
# tar xf apache-solr-3.4.0-src.tgz
# cp /apache-colr-3.4.0/example/webapps/solr.war /usr/local/src/apache-solr-3.4.0/solr/hoge/webapps/solr.war

※今回はなぜだか、solr.warがsrcの圧縮ファイルには無かった。
少々、面倒だが、上記の場合はsrcじゃないほう(apache-solr-3.4.0.tgz)を解凍してくる。


usr/local/jetty/webapps/solr.warファイルにlucene-gosenファイルを突っ込み、
solr.warファイルを設置して対応

# mv solr.war solr.zip
# unzip solr.zip
# mv lucene-gosen-1.1.1-ipadic.jar WEB-INF/lib
# zip solr_war_in_lucene.zip admin/ favicon.ico index.jsp META-INF/ WEB-INF/
# mv solr_war_in_lucene.zip solr.war
# cp /usr/local/src/apache-solr-3.4.0/solr/hoge/webapps/solr.war /usr/local/jetty/webapps/



apache再起動する

# /usr/local/apache2/bin/httpd restart



jettyを起動する

# /usr/local/jetty/bin/jetty.sh restart



ついでにjettyをinit.dに登録しておく

# cp jetty.sh /etc/init.d/jetty
# cd /etc/init.d/
# chkconfig jetty on
# chkconfig jetty --list
# cd rc3.d/
# ll
lrwxrwxrwx 1 root root 15 Oct  5 20:04 S99jetty -> ../init.d/jetty



あとは、http://localhost:8983/solr/admin/
にアクセスして管理画面が正常に表示されていれば完了。


お疲れ様でしたー。