본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
학교의 모든 지식. SMwiki
검색
검색
보이기
로그인
개인 도구
로그인
로그아웃한 편집자를 위한 문서
더 알아보기
기여
토론
검색 기능 구성
편집하기 (부분)
문서
토론
한국어
읽기
편집
원본 편집
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
편집
원본 편집
역사 보기
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
파일 올리기
문서 정보
보이기
사이드바로 이동
숨기기
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
= 설치 = {| class="wikitable" !기능명 !역할 !설치방법 |- |java |아래 이어지는 것들을 위해. |보통 자바 설치 안되어있으니 설치 진행. {| class="wikitable" |+작업 !과정 !설치방법 |- |JDK설치 명령어 |맞는 자바를 아래 중 하나로 설치한다.(열받게도... 최신버전이 적절하지 않을 때가 많다.) MediaWiki 1.45 기준에서는 <nowiki>'''Java 17'''</nowiki> 사용을 권장 sudo apt install openjdk-17-jdk -y |- |확인 |java -version javac -version |} |- |OpenSearch |CirrusSearch가 사용하는 검색 엔진. 서버용이라, 램이 최소 4G는 되어야 함;;; |https://www.mediawiki.org/wiki/Extension:CirrusSearch 통해서 맞는 버전 찾아서 설치해야 함. 버전 안맞으면 정말 골아픔;; 아무 생각 없으면 최신버전으로 설치하니, 유의. * curl -fsSL <nowiki>https://artifacts.opensearch.org/publickeys/opensearch.pgp</nowiki> | sudo gpg --dearmor -o /usr/share/keyrings/opensearch-keyring.gpg * echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring.gpg] <nowiki>https://artifacts.opensearch.org/releases/bundle/opensearch/1.x/apt</nowiki> stable main" | sudo tee /etc/apt/sources.list.d/opensearch.list * sudo apt update * sudo apt install opensearch -y * 보통 설치 후에 에러가 뜸. 복사해서 AI에 위키용이라고 말하면 괜찮다고 해주는데.. 설정 * sudo nano /etc/opensearch/opensearch.yml # 아예 파일을 삭제한 후 아래 주석을 붙여넣어도 됨.설정파일이 꽤 긴데, 검색해서 대강 주석을 풀거나 정리한다. 없는 건 추가하자. 외부노출이 아닌 경우, 보안 단순화를 위해 security 플러그인 비활성화.<syntaxhighlight lang="yaml">cluster.name: mediawiki-search node.name: node-1 network.host: 127.0.0.1 http.port: 9200 discovery.type: single-node plugins.security.disabled: true path.data: /usr/share/opensearch/data # 요거 없어서 에러가 나는 경우가 상당히;; 이 설정들 괜찮은지 AI 점검 후 진행하자.</syntaxhighlight> * sudo systemctl daemon-reload * sudo systemctl enable opensearch * sudo systemctl start opensearch * curl <nowiki>http://localhost:9200</nowiki> # 동작확인. * sudo systemctl enable opensearch # 재부팅 시 재시작. * LocalSettings에 설정 추가. $wgCirrusSearchServers = [ '<nowiki>http://localhost:9200'</nowiki> ]; |- | | | |} === CirrusSearch === {| class="wikitable" |OpenSearch(구 Elasticsearch)를 위키에서 제어하기 위한 확장기능. 검색창에서 실제로 작동. |[https://zetawiki.com/wiki/%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4_Elastica,_CirrusSearch_%EC%84%A4%EC%B9%98 링크]를 참고하여 구성하였다. https://www.mediawiki.org/wiki/Extension:CirrusSearch 복잡하니.. 명령 후에 떠오르는 메시지를 찬찬히 보며 잘 따라가길. 일반 검색규약을 따르는듯. Help페이지가 따로 있다. {| class="wikitable" !과정 !방법 |- |[[mediawikiwiki:Special:ExtensionDistributor/Elastica|링크]]에서 다운 후, extension 폴더에 옮긴 긴다. |mediawiki 디렉토리에서 진행. 버전은 수정해서 기입. git clone -b REL1_45 "<nowiki>https://gerrit.wikimedia.org/r/mediawiki/extensions/CirrusSearch</nowiki>" extensions/CirrusSearch |- |CirrusSearch 디렉터리에서 명령 실행. | * cd extensions/CirrusSearch * sudo apt install composer * composer install --no-dev 학교망에선 인증서 문제가 지속적으로 발생하는데.. 해결하기 어렵다. 인증서 무시를 명시해준다. * composer config --global disable-tls false # 위에서 문제가 생기면. * ### 엘라스티카 설치. * cd /var/www/mediawiki/extensions * sudo git clone -b REL1_45 <nowiki>https://gerrit.wikimedia.org/r/mediawiki/extensions/Elastica</nowiki> # 버전에 유의 * cd /var/www/mediawiki/extensions/Elastica * sudo composer install --no-dev * |- |LocalSettings에 반영. (기본 디렉토리에서) | * wfLoadExtension( 'Elastica' ); wfLoadExtension( 'CirrusSearch' ); $wgCirrusSearchServers = [ [ 'host' => '127.0.0.1', 'port' => 9200 ] ]; $wgDisableSearchUpdate = true; $wgSearchType = 'CirrusSearch'; |- |php 실행 | * cd /var/www/mediawiki/extensions/CirrusSearch * php /var/www/mediawiki/maintenance/run.php /var/www/mediawiki/extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php |- |php 실행(인덱스 만들기) /extensions/CirrusSearch 안에서. mysql처럼 특정 데이터를 서버에 저장하는듯. |이번엔 시간이 상당히 오래걸린다. * cd /var/www/mediawiki/extensions/CirrusSearch/ * php maintenance/ForceSearchIndex.php --skipLinks --indexOnSkip * php maintenance/ForceSearchIndex.php --skipParse 빨리 끝나는 경우도 있는데.. 이땐 한글검색이 가능하게 되기까지 반영시간이 있다.(최신기능인듯.) |- |LocalSettings 변경 |위에서 입력했던 $wgDisableSearchUpdate = true;를 지우거나 주석처리한다. |- |php 실행 |미디어위키 루트에서 php maintenance/update.php php /var/www/mediawiki/maintenance/run.php /var/www/mediawiki/extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php |} 나중에 DB를 바꾼다든가, Elasticsearch를 업데이트 할 땐 $wgDisableSearchUpdate = true; 를 넣어주는 것부터 다시 진행하면 됨. |} === AdvancedSearch === 굳이 필요한가 싶다; 그냥 키워드 검색만이라면... 굳이..? {| class="wikitable" |- |AdvancedSearch |특수:검색 기능 제공. Special:Search기능 강화. CirrusSearch를 토대로 작동한다. 검색할 때 고급검색이 가능해진다. 커스텀 검색필드 제작 가능. |Extension:CirrusSearch 가 설치되어 있어야 한다. {| class="wikitable" !과정 !방법 |- |[[mediawikiwiki:Special:ExtensionDistributor/Elastica|링크]]에서 다운 후, extension 폴더에 옮긴 긴다. |git clone <nowiki>https://gerrit.wikimedia.org/r/mediawiki/extensions/AdvancedSearch</nowiki> --branch REL1_45 extensions/AdvancedSearch |- |LocalSettings 변경 |echo "wfLoadExtension( 'AdvancedSearch' );" >> LocalSettings.php |} https://www.mediawiki.org/wiki/Special:ExtensionDistributor?extdistname=AdvancedSearch&extdistversion=REL1_34 굉장히 간단. 폴더에 옮겨둔 후, LocalSettings에 <code>wfLoadExtension( 'AdvancedSearch' );</code>추가 |} [[분류:관리용 문서]]
요약:
학교의 모든 지식. SMwiki에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
학교의 모든 지식. SMwiki:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
검색
검색
검색 기능 구성
편집하기 (부분)
새 주제