で全文検索を構築 (xammp/7.2.3_VC15 + Fess 12)
自分用のメモ書きです
やりたいこと
(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時点)
jdk-8u161-windows-x64.exe をインストールする。ついでに jdk-8u161-windows-i586.exe も。
ダウンロード:http://www.oracle.com/technetwork/java/javase/overview/index.html
JAVA_HOME="C:\lang\java64\jdk1.8.0_161"をシステムの環境変数に設定する
[PC] を右クリックする
[プロパティ] - [システムの詳細設定] - [環境変数] - [システムの環境変数] の順に選択する
[新規]をクリックし、変数名: JAVA_HOME、変数値: C:\lang\java64\jdk1.8.0_161 を登録する
java SE 9.0.4は断念した。
後述の (2) で Tomcat (のバッチ) をカスタマイズしてみたが動作させられず。
java SE 9.0.4 は結局アンインストールしてしまった。
(2) xampp をインストール (2018/3/24時点)
- 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)
- XAMPP control panelを起動し各サーバーを起動する
(Apache / MySQL / FileZilla / Mercury / Tomcat) OK
- http://localhost/ にアクセスする
結果→ localhost/dashboard/ が表示された → OK
- Tomcat の HTTPポート 8080 を 8083 に変更する
(後述の (3) fess で 8080 を使うためのポート変更)
- XAMPP control panelの {Config] - [Service and Port Settings]
[Tomcat] タブ - [HTTP Port] で、8080 を 8083 に変更
- C:\_xampp\tomcat\conf\server.xml内の 8080 も、8083 に置換
参照:http://www.javaroad.jp/opensource/js_tomcat12.htm
- XAMPP control panelの {Config] - [Service and Port Settings]
- 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時点)
最新の安定版(= Fess 12.1.1)をダウンロードし、解凍して、
適当に配置する。どこでもよさげだが、C:\_opt\fess に配置した。
ダウンロード:https://fess.codelibs.org/ja/downloads.html
- fess.batを実行する
数分 (10分位?) 待つと、http://localhost:8080/にアクセスできた → OK!!!!!!!!!!!!!!!
- クロール設定をする (サンプル通りに)
<ウェブクロール>
- URL https://fess.codelibs.org/
- クロール対象とするURL https://fess.codelibs.org/.*
- パス file://D:/
- クロール対象とするパス file://D:/.*
実際に、検索もできている様子。OK!!!!!!!!!!!!!
(4) Apache (Web Server)とFessを連携=Apacheをリバースプロキシとして設定(2018/3/25時点)
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 ← #を削除した
httpd-proxy.conf
(httpd.confにもともとインクルードされていた)
ProxyRequests Off ← もともと書かれてた
ProxyPass /fess http://localhost:8080/ ← 追加 (localhost:8080/fess → localhost/fess に転送)
ProxyPassReverse /fess http://localhost:8080/ ← 追加 (リダイレクトしたときのルートか?)
Apacheを再起動する
→OK
fess.batを実行する
数分待つと、
http://localhost:8080/でアクセスできた→OK
http://localhost/fessでも開けたが、スタイルシートは当たってない →NG!!!!!!!!!!!!!!!!!!!!!!!!
http://localhost/fess/adminやhttp://localhost/fess/longinは開けない →NG!!!!!!!!!!!!!!!!!!!!!!!!
>> 没 ← 上手くいかなかった >>
httpd-proxy.conf
(httpd.confにもともとインクルードされていた)
ProxyRequests Off ← もともと書かれてた
ProxyPass /fess http://localhost:8080/ ← 追加 (localhost:8080/fess → localhost/fess に転送)
ProxyPassReverse /fess http://localhost:8080/ ← 追加 (リダイレクトしたときのルートか?)
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/
Apacheを再起動する
→OK
fess.batを実行する
数分待つと、
http://localhost:8080/fess/でアクセスできた→OK
http://localhost/fessでも開けた。スタイルシートも当たっている →OK!!!!!!!!!!!!!!!!!!!!!!!!
http://localhost/fess/adminやhttp://localhost/fess/longinも開けた →OK!!!!!!!!!!!!!!!!!!!!!!!!
http://localhost:8080/ではアクセスできなくなった (当然)
参考にしたサイト:
Fess apache経由でのHTTPS利用について (2017-03-07 11:11, t_mochi, #79512)
https://ja.osdn.net/projects/fess/forums/18580/38453/79512/
Apacheリバースプロキシの設定
Apache 2.4 で リバースプロキシの設定
https://qiita.com/gingi99/items/83c1fb07644cd232d91e
mod_proxy再入門 - ProxyPassとProxyPassReverse
https://dev.classmethod.jp/server-side/server/introduction_mod_proxy/
今日はここまで。
明日はApacheやTomcatをWindowsのサービスに登録してみる。