で全文検索を構築 (xammp/7.2.3_VC15 + Fess 12)

XAMPP control panel の画面

 
自分用のメモ書きです
 

やりたいこと

 

(a) 共有フォルダー内の全文検索、曖昧検索。

FESS (Elasticsearch / TomcatBase / 8080ポート) でやってみる。以前もやったが。
曖昧検索はさて置き、指定フォルダー内の全文検索にまずは挑戦した
→ 成功 (やったこと を参照)
 

(b) Webサーバーと連携させたい。つまり、

Appache (Webサーバー) の一部の設定 (httpd.conf, httpd-proxy.conf) をカスタマイズして、
http://localhost:8080/ のところくhttp://localhost/fess/ (ポート80) でアクセスに挑戦した
→ 成功 (やったこと を参照)
 

今日 (までに) やったこと

大して理解しているわけではないが、(a)(b)とも、いろいろ参考にやってみたらうまくいった。
以下に順番に記載する。
 

(1) Java (SE ver 8.x) をインストールする (2018/3/20時点)


  1. jdk-8u161-windows-x64.exe をインストールする。ついでに jdk-8u161-windows-i586.exe も。

    ダウンロード:http://www.oracle.com/technetwork/java/javase/overview/index.html



  2. JAVA_HOME="C:\lang\java64\jdk1.8.0_161"をシステムの環境変数に設定する


    1. [PC] を右クリックする



    2. [プロパティ] - [システムの詳細設定] - [環境変数] - [システムの環境変数] の順に選択する



    3. [新規]をクリックし、変数名: JAVA_HOME、変数値: C:\lang\java64\jdk1.8.0_161 を登録する

       
    ここではまだTomcatを起動させないが、後述する(2) で動作は OK だった。


java SE 9.0.4は断念した。
後述の (2) で Tomcat (のバッチ) をカスタマイズしてみたが動作させられず。
java SE 9.0.4 は結局アンインストールしてしまった。
 

(2) xampp をインストール (2018/3/24時点)

  1. Windows版の最新を参照先からダウンロードしてインストールする

    ダウンロード:https://www.apachefriends.org/jp/index.html

    現在の最新は、xampp-win32-7.2.3-0-VC15-installer.exe

    (Apache/2.4.29 (Win32) OpenSSL/1.1.0g PHP/7.2.3 perl/5.16.3)


  2. XAMPP control panelを起動し各サーバーを起動する

    (Apache / MySQL / FileZilla / Mercury / Tomcat) OK


  3. http://localhost/ にアクセスする

    結果→ localhost/dashboard/ が表示された → OK


  4. Tomcat の HTTPポート 8080 を 8083 に変更する

    (後述の (3) fess で 8080 を使うためのポート変更)

  5. xamppにバンドルされた各アプリのバージョンを確認(把握のため

    --------------------------------------------------------------

    C:\xampp\apache\bin>httpd -v

    Server version: Apache/2.4.29 (Win32)

    Apache Lounge VC15 Server built: Nov 3 2017 10:30:36



    C:\xampp\perl\bin>perl -v

    This is perl 5, version 16, subversion 3 (v5.16.3) built for MSWin32-x86-multi-thread



    C:\xampp\php>php --version

    PHP 7.2.3 (cli) (built: Feb 28 2018 06:07:53) ( ZTS MSVC15 (Visual C++ 2017) x86 )

    Copyright (c) 1997-2018 The PHP Group

    Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies



    C:\xampp\mysql\bin>mysql --version

    >mysql Ver 15.1 Distrib 10.1.31-MariaDB, for Win32 (AMD64)



    C:\xampp\tomcat\bin>dir tomcat*.exe

    ドライブ C のボリューム ラベルは ボリューム です

    ボリューム シリアル番号は xxxx-xxxx です

    C:\xampp\tomcat\bin のディレクト

    2014/09/26 21:13 86,656 tomcat7.exe

    2014/09/26 21:13 110,208 tomcat7w.exe

           2 個のファイル 196,864 バイト

           0 個のディレクトリ xxx,xxx,xxx,xxx バイトの空き領域

    --------------------------------------------------------------


(3) の前にTomcatサーバーを停止しておく ←ポートを8080から8083に変更済み。停止不要(のはず)。
(3) Fess (TomcatBase) をインストール (2018/3/21時点)


  1. 最新の安定版(= Fess 12.1.1)をダウンロードし、解凍して、

    適当に配置する。どこでもよさげだが、C:\_opt\fess に配置した。

    ダウンロード:https://fess.codelibs.org/ja/downloads.html


  2. fess.batを実行する

    数分 (10分位?) 待つと、http://localhost:8080/にアクセスできた → OK!!!!!!!!!!!!!!!


  3. クロール設定をする (サンプル通りに)

    <ウェブクロール>

    • URL https://fess.codelibs.org/

    • クロール対象とするURL https://fess.codelibs.org/.*


    <ファイルシステムクロール>

    • パス file://D:/
    • クロール対象とするパス file://D:/.*

     

    実際に、検索もできている様子。OK!!!!!!!!!!!!!



(4) Apache (Web Server)とFessを連携=Apacheをリバースプロキシとして設定(2018/3/25時点)


  1. httpd.conf
    先頭の#を削除する (コメントアウトを外す)
    ------

    LoadModule proxy_module modules/mod_proxy.so

    #LoadModule proxy_http_module modules/mod_proxy_http.so

    ↓ 
    LoadModule proxy_module modules/mod_proxy.so ← もともと外れていた

    LoadModule proxy_http_module modules/mod_proxy_http.so ← #を削除した



  2. httpd-proxy.conf
    (httpd.confにもともとインクルードされていた)



    ProxyRequests Off ← もともと書かれてた

    ProxyPass /fess http://localhost:8080/ ← 追加 (localhost:8080/fess → localhost/fess に転送)

    ProxyPassReverse /fess http://localhost:8080/ ← 追加 (リダイレクトしたときのルートか?)



  3. Apacheを再起動する

    →OK



  4. fess.batを実行する

    数分待つと、

    http://localhost:8080/でアクセスできた→OK

    http://localhost/fessでも開けたが、スタイルシートは当たってない →NG!!!!!!!!!!!!!!!!!!!!!!!!

    http://localhost/fess/adminhttp://localhost/fess/longinは開けない →NG!!!!!!!!!!!!!!!!!!!!!!!!

    >> 没 ← 上手くいかなかった >>



  5. httpd-proxy.conf
    (httpd.confにもともとインクルードされていた)



    ProxyRequests Off ← もともと書かれてた

    ProxyPass /fess http://localhost:8080/ ← 追加 (localhost:8080/fess → localhost/fess に転送)

    ProxyPassReverse /fess http://localhost:8080/ ← 追加 (リダイレクトしたときのルートか?)



  6. fess\bin\fess.in.bat

    rem set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.context.path=/

    set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.context.path=/fess/



  7. Apacheを再起動する

    →OK



  8. fess.batを実行する

    数分待つと、

    http://localhost:8080/fess/でアクセスできた→OK

    http://localhost/fessでも開けた。スタイルシートも当たっている →OK!!!!!!!!!!!!!!!!!!!!!!!!

    http://localhost/fess/adminhttp://localhost/fess/longinも開けた →OK!!!!!!!!!!!!!!!!!!!!!!!!

    http://localhost:8080/ではアクセスできなくなった (当然)


ここまでで動作はOKの模様。

参考にしたサイト:

 
今日はここまで。
明日はApacheやTomcatをWindowsのサービスに登録してみる。