[SKIP]全文検索で結果表示に不具合のチェックポイント

全文検索の結果が常に「閲覧制限のため、あなたが見られるページはありませんでした。」
になってしまう場合のチェックポイント。

以下SkipUserGroupでの回答を転載。(一部わかりやすく修正)

閲覧制限はlib/batch_make_cache.rbで作成するメタファイルに権限情報がかかれており、それを見ています。そのため、恐らくは
・キャッシュファイルは生成されているが、メタファイルが正しく生成されていない
・メタファイルが正しく生成されているが、正しく参照できていない
のいずれかではないかと推測されます。

具体的な設定箇所ですが、
initial_settings.ymlの

cache_path
serarch_appsのmeta
の2ヶ所が正しく設定されているかどうかを確認して下さい。

設定されている場合、設定されているディレクトリに正しくメタファイルが出力されているかどうか確認して下さい。

例として記事であれば、path/to/meta/entry/xxxx/xxxx.htmlといったファイルが正しく出力されており、かつ、search_appsのmetaがpath/to/metaとなっていることを確認してみて下さい。

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

[SKIP]ログインID及びメアド非表示設定

SKIP1.0.1での標準では各ユーザのログインIDとメアドが公開になる。
個人情報をあまり公開したくないケースに対応する修正の方法。
下記のものとは異なる対応方法や抜けがあれば教えてください。

確認しているログインIDとメアドが表示される箇所

・参加グループの参加者一覧で表示されている
・他ユーザの個人ページを表示して、紹介文作成しようとすると表示されている
・他ユーザの個人プロフに表示されている
・ユーザ検索画面の検索結果に表示されている

1)ログインIDの表示制御

 config/initial_settings.yml を開き
 usercode_dips_setting の行を探して true を false に変更する

2)メールアドレスの表示制御

 以下のファイルの修正を行う
 app/views/user/show.html.erb
 app/views/users/_user.html.erb

修正方法

A) app/views/user/show.html.erb から以下の行を削除↓

<div class=”input_line”>
<div class=”input_label”><%=h _(‘UserProfile|Email’) %></div>
<div class=”input_value”><a href=”mailto:<%=h @user.user_profile.email -%>”><%=h @user.user_profile.email -%></a></div>
<div class=”input_bottom”></div>
</div>

B) app/views/users/_user.html.erb を修正↓

<tr>
<% else -%>
<td class=”image” rowspan=”4″><%= image_output %></td>
<% end -%>
<% if user_name_mode?(:code) -%>
<th><%=h Admin::Setting.login_account -%></th>
<td><%=h user.code %></td>
<% end -%>
<% if user_name_mode?(:name) -%>
<th><%= _(‘user name’) %></th>
<td><%=h user.uid %></td>
<% end -%>
</tr>
<tr>
<th><%=h _(“Admin::User|Name”) %></th>
<td><%= user_link_to user %></td>
<th><%=h _(“UserProfile|Email”) %></th>
<td><%=h user.user_profile.email %></td>
</tr>

上記部分を以下のように

<tr>
<% else -%>
<td class=”image” rowspan=”4″><%= image_output %></td>
<% end -%>
<th><%=h _(“Admin::User|Name”) %></th>
<td><%= user_link_to user %></td>
<% if user_name_mode?(:name) -%>
<th><%= _(‘user name’) %></th>
<td><%=h user.uid %></td>
<% end -%>
</tr>

とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

SKIP1.1cron設定

一応抜けていたのでフォロー。
CentOS5ではコマンドをフルパスで表記するのが吉。

# crontab -e

にて、以下の内容を環境に合わせて記述

# 人気ブックマークの日別ランキング算出用バッチ
5 * * * * /usr/local/bin/ruby /var/skip_root/lib/batch_make_popular_bookmarks.rb

# サイト情報の集計用バッチ
0,15,30,45 * * * * /usr/local/bin/ruby /var/skip_root/lib/batch_make_site_counts.rb

# アンテナ機能のための記事更新の収集バッチ
5,20,35,50 * * * * /usr/local/bin/ruby /var/skip_root/lib/batch_make_user_readings.rb

# 不要データの削除バッチ データクリーニングバッチ
0 1 * * * /usr/local/bin/ruby /var/skip_root/lib/batch_cleanup_tables.rb

# ランキング算出用バッチ
30 0 * * * /usr/local/bin/ruby /var/skip_root/lib/batch_make_ranking.rb

# 連絡メール/新着通知メール 送信用バッチ
# 0,15,30,45 * * * * /usr/local/bin/ruby /var/skip_root/lib/batch_send_mails.rb

# ユーザ情報のクリーニング リマインド メール送信バッチ
# 0 10 1 * * /usr/local/bin/ruby /var/skip_root/lib/batch_send_cleaning_notification.rb

# 全文検索
20 3 * * 7 /usr/local/bin/ruby /var/skip_root/lib/batch_make_cache.rb -all
30 3 * * 7 /usr/local/bin/ruby /var/skip_root/lib/batch_delete_cache.rb
10,25,40,55 * * * * /usr/local/bin/ruby /var/skip_root/lib/batch_make_cache.rb
35 * * * * /usr/local/bin/estwaver crawl -revcont /var/est/skip_crawl

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

SKIP1.1Apache経由接続設定

SKIPを稼働させるサーバで既にApacheで別のコンテンツが提供されている状況で
SKIPもport80でアクセスさせたい時にする設定です。[CentOS5.3]

なぜかhttp://xxx.xxxx.com/skip/ というようなサブディレクトリ経由での設定が
うまく動作しないので、別途バーチャルホストを設定することになります。

設定にはapacheにmod_proxyが有効になっている必要があります。

http://localhost:3000/  でSKIPと全文検索が動いている前提です。
http://skip.yourdomain.com/  を新しいバーチャルホストのURLと仮定します。
/var/log/skip/ にログを記録することにします。

# mkdir /var/log/skip

apacheの設定
# vi /etc/httpd/conf.d/skip.conf

[code]
ServerName skip.yourdomain.com
ServerAdmin root@localhost
ErrorLog /var/log/skip/error_log
CustomLog /var/log/skip/access_log combined

ProxyRequests Off

Order deny,allow
Allow from all

ProxyPass / http://localhost:3000/

[/code]

SKIPの設定変更
# vi /var/skip_root/config/initial_settings.yml

host_and_port: skip.yourdomain.com

lighttpdを再起動
# cd /var/skip_root/
# kill `cat tmp/pids/lighttpd.pid`
# ruby script/server lighttpd &

apacheを再起動
# apachectl graceful

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

SKIP1.1全文検索設定手順

SKIP1.1.0で全文検索を有効にする手順です。[CentOS5.3]
(SKIP1.1.0でも同じ手順で動作したので正式版に修正しました)

SKIPとHyperEstraierのインストールは前述の通り済んでいる前提です。
できるだけSKIPのデフォルトの設定を利用します。
この設定を行う前にユーザと記事をいくつか登録しておくことをオススメします。

SKIPの本番稼働用のlighttpdを設定する

lighttpdのインストール

# yum install fcgi fcgi-devel lighttpd lighttpd-fastcgi pcre-devel
# gem install fcgi

lighttpd起動の前に走っているrailsプロセスがあれば終了する

# ps aux | grep production

root 13683 0.0 2.8 62012 57360 pts/0 S Apr24 0:06 ruby ./script/server -e production

# kill -9 13683

現在パスを確認して/var/skip_rootで運用するよう変更

# pwd
/home/user/download/skip-1.1.0
# cd ../
# mv /home/user/download/skip-1.1.0 /var/skip_root
# cd /var/skip_root

lighttpdを起動する(config/lighttpd.confをそのまま利用できます)
# ruby script/server lighttpd &

検索キャッシュの設定追加
initial_settings.ymlの設定をそのまま利用します
※ただし後からcron登録することを考えてフルパスに修正しておきます。

share_file_path: /var/skip_root/tmp/share_file_path
cache_path: /var/skip_root/tmp/app_cache

# mkdir tmp/app_cache
# mkdir tmp/app_cache_meta

# ruby lib/batch_make_cache.rb -all
※記事やファイルを予め作成しておきましょう

batch.logを確認
# less log/batch.log
app_cacheとapp_cache_meta以下にentryとuserが出来ていればOK
# ls tmp/app_cache
# ls tmp/app_cache_meta

添付ファイル検索におけるlighttpdの仕様上の問題を修正する

share_file_pathの生成を確認
# ls public/tmp/share_file_path
# rm -f tmp/app_cache/share_file
# cd tmp/app_cache
# ln -s ../../public/tmp/share_file_path share_file

HyperEstraierのノードインデックスを作成(/var/est/skipとします)

# mkdir /var/est
# mkdir /var/est/skip
# estmaster init /var/est/skip

ノードマスターをバックグラウンドで起動

# estmaster start -bg /var/est/skip
http://localhost:1978/  で起動していることを確認

インデックスを作成

# estcall raw -auth admin admin ‘http://localhost:1978/master?action=nodeadd&name=node1&label=NODE01’
OKと返ってくればOK

クローラの設定(/var/est/skip_crawlとします)

# mkdir /var/est/skip_crawl
# estwaver init /var/est/skip_crawl
# vi /var/est/skip_crawl/_conf

confファイルを以下のように編集します

キャッシュのURLを指定する
seed: 1.0|http://localhost:3000/cache/

許可するURLを指定する
allowrx: ^http://localhost:3000/cache/

拒否するURLから pdf,doc,xls,pptを取り除く
denyrx: ¥.(rtf|pdf|ps|eps|ai|doc|xls|ppt|sxw|sxc|sxi|xdw|jtd|oas|swf)$
↓ ↓
denyrx: ¥.(rtf|ps|eps|ai|sxw|sxc|sxi|xdw|jtd|oas|swf)$

インデックに登録しないURLを指定する(ディレクトリはインデックスに登録しない)
noidxrx: cache/.*/$

PDF, officeの変換ツールの設定を入れる
typerule: ^application/pdf${{!}}H@/usr/local/share/hyperestraier/filter/estfxpdftohtml
typerule: ^(application/msword|application/vnd.ms-(excel|powerpoint))${{!}}H@/usr/local/share/hyperestraier/filter/estfxmsotohtml

言語を日本語に設定する
language: 1

revisit: で再度URLを訪れるまでの期間を1日に設定する
revisit: 1d

nodeserv: で登録するノードサーバを設定する
nodeserv: 1|http://admin:admin@localhost:1978/node/node1

クロールの動作確認

# estwaver crawl -revcont /var/est/skip_crawl
finished successfullyと出ればOK

検索機能を有効にするためSKIPの設定を編集します

# vi config/initial_settings.yml

full_text_search_setting: true
meta: /var/skip_root/tmp/app_cache_meta

lighttpdの再起動

# kill `cat tmp/pids/lighttpd.pid`
# ruby script/server lighttpd &

これで検索窓が表示され、登録された記事などがあれば検索することができます。

記事や添付ファイル登録して確認する際には以下のコマンドを使用する
# estwaver crawl -restart /var/est/skip_crawl
もしくは
# vi /var/est/skip_crawl/_conf
revisit: で再度URLを訪れるまでの期間を1秒に設定する
revisit: 1s

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

HyperEstraierインストール手順

CentOS5.3向け
SKIP全文検索のためのHyperEstraierのインストール

※以下のコンテンツの続き
http://user.openskip.org/user/wainohito/blog?entry_id=659

HyperEstraierの効率的なクロールパッチのためにこのページを読んでおく
http://jamz.jp/tech/2008/08/patch-to-hyper-estraier-before-install.html

以下からパッチpatch20080403.tgzをダウンロードしてdownloadフォルダに置いておく
http://sourceforge.net/mailarchive/message.php?msg_id=20080403.190234.98160137.Yasuharu.Yamada%40access-company.com
※wgetでうまく取得できなかったので。

CentOSではyumで導入できるものが限られるので手間がかかります。
yumでinstallできるものを先に入れて、後は個別に対応します。

# cd ~/download/
# yum install memcached xpdf wv

xlhtmlの準備

# wget http://www.asahi-net.or.jp/~yw3t-trns/namazu/xlhtml/xlhtml-0.5.1.tar.gz
# tar zxvf xlhtml-0.5.1.tar.gz
# cd xlhtml
# ./configure
# make
# make install

libiconvの準備

# cd ../
# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz
# tar zxvf libiconv-1.13.tar.gz
# cd libiconv-1.13
# ./configure
# make
# make install

パッチファイルの準備

# cd ../
# tar zxvf patch20080403.tgz

QDBMの準備

# wget http://qdbm.sourceforge.net/qdbm-1.8.77.tar.gz
# tar zxvf qdbm-1.8.77.tar.gz
# cd qdbm-1.8.77
# patch < ../qdbm1.8.77/qdbm1.8.77_00all.diff # ./configure --enable-zlib # make # make install HyperEstraier本体のインストール # cd ../ # wget http://hyperestraier.sourceforge.net/hyperestraier-1.4.13.tar.gz # tar zxvf hyperestraier-1.4.13.tar.gz # cd hyperestraier-1.4.13 # patch -p1 < ../he1.4.13/he1.4.13_00all.diff # ./configure # make # make install rubynativeのインストール # cd rubynative # ./configure # make # make install rubypureのインストール # cd ../rubypure/ # ./configure # make # make install これでインストールは完了

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

SKIP1.1インストール手順

思ったよりハマったので改めてインストール手順を書いておきます。
(SKIP1.1.0でも同じ手順で動作したのでrc2から正式版に修正しました)

CentOS5.3系へのインストール手順
※使用環境はCentOSのインストール時にServer設定でWeb/Mailサーバのみで
インストールしたものです。EPELリポジトリ追加して最新化しています。

rubyの1.8系最新安定版インストール

# cd /home/user
# mkdir download
# cd download
# wget http://core.ring.gr.jp/archives/lang/ruby/ruby-1.8.7-p160.tar.gz
# tar zxvf ruby-1.8.7-p160.tar.gz
# cd ruby-1.8.7-p160
# yum install gcc automake
# ./configure
# make
# make install
# ruby -v
ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-linux]

rubygemsの最新版インストール

# cd ../
# wget http://rubyforge.org/frs/download.php/55066/rubygems-1.3.2.tgz
# tar zxvf rubygems-1.3.2.tgz
# cd rubygems-1.3.2
# ruby setup.rb

zlibサポートを追加

# yum install zlib-devel
# cd ../ruby-1.8.7-p160/ext/zlib/
# ruby extconf.rb –with-zlib-include=/usr/include –with-zlib-lib=/usr/lib
# make all
# make install

続いてopensslサポートを追加

# yum install openssl-devel
# cd ../openssl
# ruby extconf.rb
# make all
# make install

Railsと必要なものをインストール

# gem install gettext –version 1.93.0
# gem install fastercsv
# gem install ruby-openid
# gem install rails –version 2.1.2
# ln -s /usr/lib/mysql /usr/local/lib/
# gem install mysql
# gem install haml(1.1.0では不要)
# gem install json

SKIPのインストール

# cd ../
# wget http://www.openskip.org/download/release/skip-1.1.0.tar.gz
# tar zxvf skip-1.1.0.tar.gz
# cd skip-1.1.0
# cp config/initial_settings.yml.sample config/initial_settings.yml
# cp config/database.yml.sample config/database.yml

SKIP初期設定(mysqlデータベース作成含む)

# mysql -u root -p
mysql> grant all privileges on skip_production.* to skipuser@localhost identified by ‘skippasswd’;
mysql> quit

# vi config/initial_settings.yml
# vi config/database.yml
# RAILS_ENV=production rake –trace db:create
# RAILS_ENV=production rake –trace db:migrate
# RAILS_ENV=production ruby lib/create_new_admin_url.rb –code
“activation_codeを発行しました。初期管理者登録用URLは以下の通りです。”
“http://localhost:3000/admin/users/new/first?code=32dec04cc838f2f9c5788cxxxxxxxxxxxxx”

SKIP起動

# ruby ./script/server -e production

ブラウザで初期管理者登録用URLにアクセスして初期設定

,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

SKIPインストール手順(CentOS5)

CentOS5系へのインストール手順
rubyの最新安定版インストール

# cd /home/user
# mkdir download
# cd download
# wget http://core.ring.gr.jp/archives/lang/ruby/ruby-1.8.7-p72.tar.gz
# tar zxvf ruby-1.8.7-p72.tar.gz
# cd ruby-1.8.7-p72
# yum install gcc automake
# ./configure
# make
# make install
# ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-linux]

rubygemsの最新版インストール

# cd ../
# wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
# tar zxvf rubygems-1.3.1.tgz
# cd rubygems-1.3.1
# ruby setup.rb

Railsと必要なものをインストール

# gem install gettext
# gem install fastercsv
# gem install ruby-openid
# gem install rspec
# gem install rails –version 2.1.2
# ln -s /usr/lib/mysql /usr/local/lib/
# gem install mysql

SKIPのインストール

# cd ../
# wget http://www.openskip.org/download/release/skip-1.0.1.tar.gz
# tar zxvf skip-1.0.1.tar.gz
# cd skip-1.0.1
# cp config/initial_settings.yml.sample config/initial_settings.yml
# cp config/database.yml.sample config/database.yml

SKIP初期設定(mysqlデータベース作成含む)

# vi config/initial_settings.yml
# vi config/database.yml
# RAILS_ENV=production rake –trace db:create
# RAILS_ENV=production rake –trace db:migrate
# ruby lib/create_new_admin_url.rb –code
“activation_codeを発行しました。初期管理者登録用URLは以下の通りです。”
“http://localhost:3000/admin/users/new/first?code=32dec04cc838f2f9c5788cxxxxxxxxxxxxx”

SKIP起動

# ruby ./script/server -e production

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

Ubuntu8.10へのインストール手順メモ
応答メッセージも一部表記

$ cd /home/user/

$ sudo apt-get install ruby
$ sudo apt-get install rubygems
$ sudo apt-get install libmysqlclient15-dev
$ sudo apt-get install rake

$ sudo gem update –system

$ sudo rm /usr/bin/gem
$ ln -s /usr/bin/gem1.8 /usr/bin/gem

$ sudo gem install gettext
$ sudo gem install fastercsv
$ sudo gem install ruby-openid
$ sudo gem install rspec
$ sudo gem install rails –version 2.1.2
$ sudo gem install mysql
Building native extensions. This could take a while…
Successfully installed mysql-2.7

$wget http://www.openskip.org/download/release/skip-1.0.1.tar.gz
$ tar zxvf skip-1.0.1.tar.gz
$ cd skip-1.0.1/
$ cp config/initial_settings.yml.sample config/initial_settings.yml
$ cp config/database.yml.sample config/database.yml

$vi config/initial_settings.yml
$vi config/database.yml

$ sudo RAILS_ENV=production rake –trace db:create
(in /home/user/skip-1.0.1)
** Invoke db:create (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:create

$ sudo RAILS_ENV=production rake –trace db:migrate
(in /home/user/skip-1.0.1)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
== 1 CreateDefaultTables: migrating ===========================================
— create_table(:accounts)
-> 0.0047s
— add_index(“accounts”, [“code”], {:name=>”index_accounts_on_code”, :unique=>true})
-> 0.0058s
— create_table(:antenna_items)
-> 0.0034s
— create_table(:antennas)
-> 0.0027s
— create_table(:applied_emails)
-> 0.0032s
— create_table(:board_entries)
-> 0.0048s
(中略)
** Invoke db:schema:dump (first_time)
** Invoke environment
** Execute db:schema:dump

$ sudo ruby lib/create_new_admin_url.rb –code
“activation_codeを発行しました。初期管理者登録用URLは以下の通りです。”
“http://localhost:3000/admin/users/new/first?code=25aedca9xxxxxxxxxxxxxxxxxxx”

$ sudo ruby ./script/server -e production
=> Booting WEBrick…
=> Rails 2.1.2 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with –help for options
[2009-01-11 00:23:54] INFO WEBrick 1.3.1
[2009-01-11 00:23:54] INFO ruby 1.8.6 (2007-09-24) [i486-linux]
[2009-01-11 00:23:54] INFO WEBrick::HTTPServer#start: pid=18292 port=3000

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...