solr 접근제한 설정

IP로 접근제한 할려면 Context안에 설정해주면 된다.

tomcat/conf/Catalina/localhost/solr.xml 파일에 Value 추가한다.

 

 

주의할점은 IP적을 때 . 앞에 \ 붙여 한다. 안 그러면 정규표현식이 되면서 . 는 아무 문자라는 뜻이 된다.
그리고 여러개의 IP를 넣을려면 | 로 구분자를 쓰면 된다.

 
id, pass 형식으로 접근제할려면

tomcat/conf/tomcat-users.xml 파일에 유저정보 추가하고

 
tomcat/webapps/solr/WEB-INF/web.xml 에 아래 내용 추가한다.

 

이부분에서 rolename을 매칭시켜야 한다.

 

solr 설치

자바SDK를 다운로드 후 /usr/local/java 에 설치하고 /etc/profile 에 java 경로를 추가한다.

 

solr 계정을 만든다.

 

이 후 작업은 solr 계정으로 전환해서 작업한다.

 

 

tomcat과 solr데이터 디렉토리는 아래와 같이 진행한다.

– tomcat 디렉토리 : /home/solr/tomcat
– solr 디렉토리 : /search_data/solr (디렉토리권한은 solr로 변경되어 있다고 가정)

tomcat은 7.0.52 버전을 사용했고 solr는 4.7.0을 사용했다.

 

 

tomcat과 solr 를 solr 홈디렉토리에 다운로드 후 압축을 풀고 링크를 건다.

 

 

vi tomcat/conf/server.xml 파일을 열어서 Connector 부분에 URIEncoding=”UTF-8″ 옵션을 추가한다.

 

solr 웹앱 파일을 tomcat 앱디렉토리에 solr.war 이름으로 복사를 한다.

 

solr 폴더의 내용을 /search_data/solr 로 복사한다.

이 부분에서 보통 다른 설치문서를 보면 example/solr 디렉토리를 복사하는 것으로 되어 있는데,
그렇게 설치하면 solr 설치디렉토리에 있는 contrib등의 디렉토리에 있는 라이브러리를 못 찾는다는 에러가 뜬다.

 

 

solr 웹앱 설정파일을 만든다.

 

여기까지가 검색하면 나오는 설치방법인데, 여기까지 하면 catalina.out에 아래와 같은 에러가 발생한다.

 

 

왜 에러가 발생하는지 알수가 없는데 알려면

tomcat/webapps/solr/WEB-INF/classes/logging.properties 파일을 만들어서 아래 내용을 추가해준다.

 

tomcat을 재시작하면 자세한 로그가 나온다.

 

 

slf4j 관련 에러가 나오는데 관련라이브러리와 설정파일을 tomcat에 복사해주면 된다.

 

log4j.properties 파일을 열어서 solr.log 경로를 수정한다.

 

다시 tomcat을 재시작 후 http://server:8080/solr 로 접속해보면 페이지가 뜨는 것을 확인 할 수 있다.