Step 3) Zend_Search_Lucene

_undefined 2007. 3. 5. 16:30 posted by deneb

최종 목표 - LAMP(Linux 2.6.x, Apache 2.2.x, MySQL 5.0.x, PHP 5.1.x) 환경 + Zend_Search_Lucene

ZSL

현재 적용해야할 사이트는 php 기반의 사이트다. 이 사이트는 인덱싱화에 있어서 아무런 문제는 없지만 너치와 연계하여 사용하는 것에는 무리가 따른다. 검색하여 인덱싱에 있어서 동기화의 작업이 복잡해 지거나 아예 시간에 따른 수동화로 하거나 검색 결과를 출력하는데 있어서도 사용자-php-jsp-php-사용자 라는 구조를 가지게 되므로써 사용에 따른 효율성만 떨어지게 된다.

그렇다면 해결점은 더 빠른 언어로 만들어진 웹 검색 가능한 솔루션 이거나 아니면 아예 php로 만들어진 루씬을 만드는 것이다. 전자에 있어서는 펄, 파이선, C#, C++로 만들어진 루씬이 있지만 너치와 같은 웹검색 솔루션은 없다. 그렇다면 후자인 php로 만드는 것인데 이는 더 큰 비용이 들기 때문에 php로 만들어진 루씬을 찾아보기로 했다. 찾아본 결과가 Zend_Search_Lucene이다.
Zend_Search_Lucene는 Zend 사의 Zend Framework의 포함된 하나의 검색 인터페이스다. Zend사는 php 관련 솔루션을 공급하는 회사로 대표적으로 php4 이상에 기본적으로 들어가있는 Zend Engine이다. 이 회사에서 Zend Platform을 내놓고 기반이되는 Zend Framework를 내놓았다. 최근에 웹기반개발이 확산 되면서 스크립트 언어들이 인정을 받고 대세인 시대가 되었다. 파이썬, Ajax, 루비 종류 등 다양하게 개발된 스크립트 언어가 나왔고 하나의 축으로 자리잡게 되었다. 허나 기존 php만으로도 구현 할 수 있기에 그 방법론으로 php 기반의 플랫폼을 내놓고 있고 이런 플랫폼은 벌써 10개도 넘는 것으로 안다.

http://www.phpriot.com/d/articles/php/search/zend-search-lucene/index.html 에서 Zend_Search_Lucene을 통한 검색 및 결과를 보여줬다.

1. 설치 환경
PHP 5.1.4 이상의 환경

2. Zend Framework
홈페이지에서 ZendFramework-0.8.0 다운 및 설치
php의 include_path 지정
사용 권한 등 변경

3. 테스트
간단한 indexing 파일 생성과 검색 결과에 대한 테스트 완료

남은 과제 아직 WebDB, crawling에 대해서는 php 실력이 부족한 관계로 차후에 시도해 보려함

참고사항;
ZendFramework-0.8.0
PHPUnit
Pear

Step 2) 너치 온 루씬(Nutch on Lucene)

_undefined 2007. 3. 5. 15:23 posted by deneb

이전 단계의 문제점을 해결하기 위해서는
우선 알아야 할 것이
1. 루씬은 TEXT 파일만 인덱싱 할 수 있다.
2. 루씬은 특정 사이트에 대해서 해석후 텍스트 파일로 만들 수 없다. (crawling)
3. 루씬은 특정 사이트의 하위페이지를 알아낼 수 없다. (WebDB)
4. 루씬은 웹용 검색 서블릿을 제공하지 않는다. (Servlet)

즉, 루씬은 컴퓨터 내에 특정 디렉토리(설정에 따라 그 하위도)내에 있는 TEXT 파일을 검색하여 내에 가지고 단어를 인덱싱화 하여 DB파일로 저장하고 질의를 통해서 그 결과를 알려줄 뿐 웹에서 사용할 검색엔진은 아니라는 것이다.
그렇다면 루씬의 인덱싱 파일화는 기본으로 가지고 세 가지의 문제점을 해결 할 것을 제공하면 되는 것이다.
이런 필요성 때문에 루씬을 기반으로 나온 프로젝트 중의 하나가 너치(Nutch)다.

너치는 Apache Tomcat 기반으로 돌아가는 웹 검색 엔진이다. crawling, WebDB에 대해 돌아가고 그에 더불어 Tomcat과 연계하여 검색 Servlet 페이지를 포함한다.

1. 너치 구동
Java 1.4.x 이상
Tomcat 4.x 이상

Tomcat 6.1 설치

2. 너치 설치
즉, 루씬은 컴퓨터 내에 특정 디렉토리(설정에 따라 그 하위도)내에 있는 TEXT 파일을 검색하여 내에 가지고 단어를 인덱싱화 하여 DB파일로 저장하고 질의를 통해서 그 결과를 알려줄 뿐 웹에서 사용할 검색엔진은 아니라는 것이다.
그렇다면 루씬의 인덱싱 파일화는 기본으로 가지고 세 가지의 문제점을 해결 할 것을 제공하면 되는 것이다.
이런 필요성 때문에 루씬을 기반으로 나온 프로젝트 중의 하나가 너치(Nutch)다.

너치는 Apache Tomcat 기반으로 돌아가는 웹 검색 엔진이다. crawling, WebDB에 대해 돌아가고 그에 더불어 Tomcat과 연계하여 검색 Servlet 페이지를 포함한다.

1. 너치 구동
Java 1.4.x 이상
Tomcat 4.x 이상

Tomcat 6.1 설치

2. 너치 설치
nutch-0.8.1 설치

3. 테스트
사내 사이트를 WebDB 및 인덱싱 화 완료
192.168.0.101:8080 에서 검색 결과 완료
(현재 tomcat 문제로 closed)

3. 테스트
사내 사이트를 WebDB 및 인덱싱 화 완료
192.168.0.101:8080 에서 검색 결과 완료

4. 문제점
사이트에 대한 기본적인 WebDB화 인덱싱 화에 대해서는 문제가 없지만 가장 큰 문제는 JVM 하에서 사용할 수 있다는 것이다.

'_undefined' 카테고리의 다른 글

Step 3) Zend_Search_Lucene  (0) 2007.03.05
Step 1) 루씬 온 리눅스(Lucene on Linux)  (0) 2007.03.05
Vundo(adware/virtumundo) 조심하세요.  (4) 2007.02.23

Step 1) 루씬 온 리눅스(Lucene on Linux)

_undefined 2007. 3. 5. 12:12 posted by deneb

최종 목표 - LAMP(Linux 2.6.x, Apache 2.2.x, MySQL 5.0.x, PHP 5.1.x) 환경 + Lucene+ Nutch

淚信? 淚神?

1. 리눅스를 깔자
CENT OS 4.4 설치

2. 자바 개발 환경을 만들자
기본적으로 gcj(gcc에 포함된 jre 기능을 하는 것)가 자꾸 방해를 한다.
JDK 1.4 혹은 1.5, 그 이후 버전으로 변경 하고 gcj 등이 관련된 심볼릭 링크들을 정리
/etc/profile에 JAVA_HOME 및 jar 파일 등을 PATH, CLASSPATH 에 추가
JUnit 4.1 설치 (배포버전)
/etc/profile에 JUNIT_HOME 및 jar 파일 등을 CLASSPATH 에 추가
Ant 1.6.2 혹은 그 이후 버전 (src 빌드)
/etc/profile에 ANT_HOME 및 jar 파일 등을 CLASSPATH 에 추가
Javacc 4.0 설치 (src 빌드)
/etc/profile에 JAVACC_HOME 및 jar 파일 등을 CLASSPATH 에 추가
Lucene 2.1.0 (배포버전)
/etc/profile에 LUCENE_HOME 및 jar 파일 등을 CLASSPATH 에 추가
- src 버전으로 ant를 이용하여 빌드를 해봤으나 2.1.1-dev 버전이 생기는 탓으로 찜찜한 기분에 배포버전을 사용하기로 함

3. 테스트
test를 위한 jar 파일을 CLASSPATH에 등록하고
java org.apache.lucene.demo.IndexFiles {full-path-to-lucene}/src 등을 수행 완료
java org.apache.lucene.demo.SearchFiles 검색 완료

4. 남은 문제들
쉘에서 cl 모드로 인덱스 생성 및 질의를 통한 검색은 문제없이 되었으나 실질적인 문제는 웹을 통하여 문서에 대한 url 값을 가져오는 것이 문제였다.

'_undefined' 카테고리의 다른 글

Step 3) Zend_Search_Lucene  (0) 2007.03.05
Step 2) 너치 온 루씬(Nutch on Lucene)  (0) 2007.03.05
Vundo(adware/virtumundo) 조심하세요.  (4) 2007.02.23

Vundo(adware/virtumundo) 조심하세요.

_undefined 2007. 2. 23. 10:30 posted by deneb
과정.

회사와 집을 오가며 작업중 어느날 갑자기 VSadd-in 툴바가 설치되어 있음

WinAntivirus 2006 광고 페이지 계속 팝업이나 사용하는 창 레이어로 자꾸 생겨남

VSadd-in 툴바 설치

시작프로그램에
qmrbirsc
winsystems16.exe
추가 됨

Windows\System32\아래
qmrbirsc.dll
winsystems16.exe
urqopqn.dll
sgublnty.dll
khhih.dll
hihhk.ini
hihhk.bak1
iiigd.dll
gdiii.ini
gdiii.bak1
생성 되어 있음
게다가 히든에 시스템 속성까지 가지고 있음

프로세스를 보면
winsystems16.exe
작동중

VSadd-in 툴바는 언인스톨로 삭제 가능
winsystems16.exe 중지후 삭제 가능

IE7 + F-Prot 3.14f를 사용 중 이었으나 차단 및 검색에 실패

안티바이러스를 V3IS2007로 변경

활성중인 exe 및 dll을 검색 및 삭제 가능하나
urqopqn.dll
sgublnty.dll
khhih.dll
hihhk.ini
hihhk.bak1
iiigd.dll
gdiii.ini
gdiii.bak1
은 발견하지 못하고 WinAntivirus 2006에 대한 광고창이 계속 나옴

google에 검색 후 Vundo 계열 이라는 것을 알아냄

HijackThis 1.99.1 설치
VundoFix 2.14로 치료
(VundoFix 과정
0. 삭제할 파일들의 등록정보 입력
1. 윈도우쉘(explorer.exe)를 종료
2. 찌질이 파일들 삭제
3. HijackThis 실행 후 찌질이 파일등 등록
4. 사용자 리부팅
)
윈도우 클리너로 임시 및 인터넷, 쿠키, 프리패치 등등의 파일들 삭제
CCleaner 사용, CleanUp!도 추천

인터넷 애드-스파이웨어, 바이러스 스캔 사이트에서 검사 필!

국내 사이트 소용 없음 -_-
http://www.pandasoftware.com/products/activescan.htm 추천
바이러스 및 애드-스파이 웨어 발견 못함

V3IS2007 삭제 후
Kaspersky Internet Security 6.0 설치
풀 검색 결과
바이러스 및 애드-스파이 웨어 발견 못함

당분간 진돗개 3 체제로 돌입 -_-

결론.

1. 국내 안티바이러스 소용 없음
2005년도 기준 안티바이러스 순위의 100위권 밖에 있어서 신뢰가 가지 않았지만 2007년도에 노턴에서 2004년도 부터 밀던 IS(인터넷 시큐리티)을 탑재하면서 뭔가 좋아졌을까 하고 믿어 봤지만 전혀임. 없으면 불안해 하기라도 하는데 믿게 만들어서 더 위험.
Vundo만 해도 2005년도 9월에 최초 발견되어 계속 발전해가고 있는 녀석인데 우리나라 백신으로는 치료가 불가능 하다는 것이 갑갑하다.

2. 안티바이러스가 가볍고 편하다는 것은 스스로가 위험을 감수해야 하는 것
2003년도에 노트북을 사용하기 시작하면서 가벼운 안티바이러스가 없을까 찾아본 결과. 단연 F-Prot. 2005년도 기준 안티바이러스 순위 10위권 진입하면서 장난감 수준은 아니라는 것을 보여줬고 갠적으로도 웬만하면 추천하는 것이지만 탐색은 좋지만 치료 능력이 믿을 수 없는 수준 -_-;

3. 역시 카스퍼스키
adware/virtumundo 관련된 국내외 글들을 읽다보면 단연 카스퍼스키로는 치료가 가능하다고 하는 글들이 많음.

마치며.

감염후 치료를 위해 글들을 읽어보니 최근에 다시 기승을 vundo가 다시 기승을 부리고 있는 듯 하다. 단순 설치가 아닌 레지스트리와 시스템 디렉토리, 숙주파일, 백업기능(ini. bak1 파일), 로그인시 winlogon.exe에 dll을  등록하여 후킹하는 등 정말 구현하라면 구찮을 기능등을 선보이고 있다. 놀랍다. 어디까지 이런 뻘 짓을 하면서 사람들을 괴롭힐지 UAC와 보호모드가 있는 사용하는 비스타가 갑자기 부럽다는 생각이 든다.

참고 URL
http://forums.techguy.org/security/407292-solved-stuck-both-vundo-iiigd.html
http://kin.naver.com/db/detail.php?d1id=1&dir_id=106&eid=J/rC/yEi4Hv1X2e1yEmS1Twijs6s9Fij&qb=dnVuZG9maXg=
http://skysummer.com/

'_undefined' 카테고리의 다른 글

Step 3) Zend_Search_Lucene  (0) 2007.03.05
Step 2) 너치 온 루씬(Nutch on Lucene)  (0) 2007.03.05
Step 1) 루씬 온 리눅스(Lucene on Linux)  (0) 2007.03.05