さくらのレンタルサーバで全文検索システムNamazu(2.0.21)の検索インデックスが更新されなくなったので修正対応

久しぶりに自サイトのメンテナンスをしていると…

Namazuの検索インデックスが更新されてないことに気づいたので調査開始

まずはインデックスを更新するshファイルを直接叩いてみると

% ./autoindex.sh
Can’t use ‘defined(@array)’ (Maybe you should just omit the defined()?) at /home
/yamasita/lib/File/MMagic.pm line 1122.
Compilation failed in require at /home/yamasita/namazu/bin/mknmz line 35.
BEGIN failed–compilation aborted at /home/yamasita/namazu/bin/mknmz line 35.

ん?やっぱり何かエラーが吐かれて止まっているようだ。

さくらのレンタルサーバの環境(Perlのバージョンとか?)変わったのかもなーと思い

Perlのバージョン選択を確認すると、Perl 5.8.9でした

念のために、昔まとめてた手順↓を参考に再度Namazu 2.0.21を再インストール

 ⇒Namazu 2.0.21をさくらレンタルサーバに再インストール〔投稿日時: 2014/10/01〕

すると、configureを実行した所でエラーになり

checking for File::MMagic perl module… Can’t use ‘defined(@array)’ (Maybe you
should just omit the defined()?) at /home/yamasita/lib/File/MMagic.pm line 1122.

どうやら、MMagic perl moduleに問題があるようなのでWeb検索して調べてみると

最新バージョンはFile-MMagic-1.30らしく、丸ごと入れ替えでも良かったんだけど

ついでなので最新バージョンのソースをちょっと確認してみて

サーバ上のファイル(MMagic.pm,v 1.26.4.5)を1行修正して対応してみました。

% chmod +w MMagic.pm
% vi MMagic.pm

    #elsif (defined(@$entry)) {
    elsif ('ARRAY' eq ref $entry && @$entry) {

% chmod -w MMagic.pm

で、もう一度configureを実行すると上手く行ったので、makeとmake installし再インストール完了

検索インデックス更新するshファイルを叩いて、動作確認!

% ./autoindex.sh
Unescaped left brace in regex is illegal here in regex; marked by <– HERE in m/%{ <– HERE ?([a-z]+)}?/ at /home/yamasita/namazu/share/namazu/filter/hnf.pl line 247.
Compilation failed in require at /home/yamasita/namazu/bin/mknmz line 419.

あれ?違うエラーになった。。。

Google先生に質問(検索)してみたら、ブレースをエスケープしてないのが原因みたいだったので

サーバ上のファイル(hnf.pl)を開いて、また該当の1行を修正対応

% vi hnf.pl

  #$uri =~ s/%{?([a-z]+)}?/$param{$1}/g;
  $uri =~ s/%\{?([a-z]+)\}?/$param{$1}/g;

今度こそ…検索インデックス更新するshファイルを叩くとやっと更新されだし一安心

Webサイトからの検索もちゃっとできるようになったのは良いけど、Wordpress内のファイルも検索でき(汗)

検索インデックス更新するshファイルを修正するはめに

mknmzコマンドの引数に’–exclude=/home/yamasita/www/wp/.*’を追加して、Wordpressのフォルダを除外するようにしてやっと対応が終わりました

Perlのソースをかなり久しぶりに触ったけど、何とかなって一安心。ふぅー

新入社員の頃(1999年)に、全文検索システムNamazuを使い出した記憶があるのでかれこれ20年くらい利用してることになりそう

6~7年に一度くらいの頻度でさくらのレンタルサーバで動かなくなって対応してる感じっぽいなぁ

今風?なら、Googleカスタム検索を利用して検索窓を設置する方がお手軽かもですね

楽しみながら攻めつづける!(NSR250Rオーナーとの交流メイン)
https://www.yamasita.info/

情報処理安全確保支援士試験に合格し登録しました

会社で若手社員に情報処理技術者試験を受けることを推奨しているので…

去年4月「応用情報技術者試験」に合格して、高度区分の午前Ⅰ試験が免除なのもあり
「情報処理安全確保支援士試験」にチャレンジすることにしました

で昔々…「ソフトウェア開発技術者試験」に合格した後に購入してた↓

情報セキュリティスペシャリスト合格教本でまずは復習がてら勉強を開始して
ざっと3回読んでからは 過去問道場をコツコツとこなして

午後問題対策は、後輩が購入してた本(ポケットスタディ 情報処理安全確保支援士)をちょこちょこ借りてこっそり勉強もし

去年の午後問題をPDFファイルでダウンロードしてから、実際に解いてみましたよ

で、去年の10月に長崎大学でとうとう試験当日を迎えました

午前Ⅰは免除だったけど、早めに会場入りしてギリギリまで過去問道場をして復習し
午前Ⅱは過去問道場のおかげで、見慣れた問題も多くてちょっと余裕な感じで一安心

午後Ⅰ、午後Ⅱは長文を読むのがやっぱり大変だったけど
何とか筆記で苦戦しつつも解答していき、時間ギリギリで冷や冷や展開でした(汗)

速報サイトで確認すると午後Ⅰがダメだったかなっと諦めてたんですが…
何とか、午後Ⅰと午後Ⅱをギリギリで60点以上の得点をできたようで

ラッキーなことに、情報処理安全確保支援士試験に一回で合格できました!
せっかくなので、登録申請も済ませて

令和2年4月1日に情報処理安全確保支援士に登録もされましたよ

今後は、情報セキュリティを常に意識してアンテナを張って情報を収集しながら
よりセキュアなシステム設計・開発・運用保守をできるようにがんばりますかね~

自分の経験から勉強方法(コツ)は、情報技術(IT系)の実務経験がある人なら
午前Ⅰと午前Ⅱは過去5年分くらいの過去問をひたすら解くのがやっぱり早道かな

午後Ⅰと午後Ⅱは、参考書やIPAの情報セキュリティ白書なども対策になると思います
あとは長文慣れしないと時間が足りないので、午後の過去問題を同じ時間内で解く練習をしとくと時間配分しやすいと思いますよ

Apple iPhone 8で撮影)

楽しみながら攻めつづける!(NSR250Rオーナーとの交流メイン)
https://www.yamasita.info/