원문 보기: https://dawoum.duckdns.org/wiki/Apache_Cassandra
미디어위키에서 수식 출력을 위해, Math 확장을 사용합니다.
기본 설정은 위키미디어의 수식 서버를 사용해서 랜더링 후에, 해당 사이트로 다운로드해서 결과를 출력합니다.
이러다 보니, 수식이 많은 페이지들은 네트워크의 품질에 따라 사용자에게 전달되는 속도가 달라지는 문제가 있습니다.
이를 해결하기 위해, 지역 컴퓨터에 restbase, mathoid 서비스를 설치하고 운영하는 것입니다.
한편, restbase에서 수식을 처리하기 위해, sqlite 테이블을 사용하거나 아파치 카산드라를 이용할 수 있습니다.
보통, 초기에 수식이 적을 때에는 문제가 되지 않겠지만, 수식이 많아지게 되면 sqlite를 사용하는 것이 좋지 않다고 알려져 있습니다.
그래서, 대부분 일정 시간 후에는 카산드라로 이동하는 경향이 있습니다.
이제 설치와 설정에 문제가 남아 있습니다. 아래 두 문서는 이런 고민을 거의 완전히 해결해 줄 수 있습니다.
- https://dawoum.tistory.com/entry/running_mediawiki_using_git_master_version
- https://dawoum.tistory.com/entry/mediawiki_install_1.36.0_on_debian
이 문서들에서 제공하는 설정, 예를 들어, restbase 설정은 최근 restbase 버전에서 문제가 발생합니다. 해당 프로그램에서 제공하는 config 파일을 참조해서 수정하시기 바랍니다.
- parsoid 설정이 바뀌었습니다.
- page_save.js를 설정을 지워야 합니다. 더 이상 지원하지 않습니다.
- 꼭 필요한지는 명확하지 않지만, LocalSettings.php에서 parsoid 관련 설정 수정.
아파치 카산드라 5.0
아파치 카산드라는 이전의 4.x 버전은 자바 8, 11에서 구동됩니다. 반면에 5.0 버전은 자바 11과, 아직 실험적이긴 하지만, 자바 17에서 구동됩니다. 자바 17에서 작동합니다!!
문제는 데비안의 버전에 따라 지원하는 자바 버전이 달라지기 때문에, 최근 안정 버전에 데비안 12에서는 자바 8과 자바 11을 지원하지 않습니다. 이 문제를 회피하기 위해, 필요한 버전을 수동으로 설치할 수 있습니다.
하지만, 수동으로 설치한 프로그램은 문제가 생겼을 때, 직접 그 문제를 인식해야만 처리가 가능하다는 것입니다. 즉, 저장소에서는 데비안 패키지 관리자가 빠르게 문제 해결에 대응하지만, 지역 컴퓨터는 해당 컴퓨터의 관리자가 인식하기 전에는 해당 문제를 해결하지 못한다는 것입니다.
따라서, 수식 처리를 위해, 카산드라 5.0 버전을 설치하는 것이 바람직합니다.
Cqlsh 문제
파이썬 버전 문제에 부딪힐 수 있습니다. 카산드라 5.0에서 제공하는 cqlsh는 파이썬 3.8-3.11에서 동작합니다. 해당 버전과 다를 때에는 명시적으로 사용할 버전을 적어 주어야 합니다:
- cqlsh --python /usr/bin/python3.11
위 테스트를 위해,
- mediawiki: master 브랜치
- restbase: master 브랜치
- mathoid: master 브랜치
- apache cassandra: 5.0 버전
- 자바: 17 버전