미디어위키/설치 및 관리: 두 판 사이의 차이

편집 요약 없음
11번째 줄: 11번째 줄:
== 웹 서버 설치 ==
== 웹 서버 설치 ==
위키 사이트 뿐만 아니라 모든 웹 사이트는 [[웹 서버]]가 필요하다. 대표적인 웹서버는 [[Apache]], [[Nginx]] 등이 있는데 여기서는 Apache를 기준으로 설명한다.
위키 사이트 뿐만 아니라 모든 웹 사이트는 [[웹 서버]]가 필요하다. 대표적인 웹서버는 [[Apache]], [[Nginx]] 등이 있는데 여기서는 Apache를 기준으로 설명한다.
{{시리즈:누구나 할 수 있는 웹서버 구축|LAMP}}
{{시리즈:누구나 할 수 있는 웹서버 구축|LAMP}}



2021년 2월 8일 (월) 18:53 판

이 문서는 리눅스를 기준으로 작성되었습니다.

미디어위키 기반의 위키 사이트를 서버에 올리기 위해서는 먼저 사이트에서 미디어위키를 내려받는 과정을 거쳐야 한다. 이곳에서 원하는 버전을 다운받아서 서버에 업로드하면 위키사이트가 완성된다. 호스팅 사이트의 자동 설치 기능을 쓰는 건 추천하지 않으며, 번거롭더라도 직접 설치하는 걸 권장한다.

웹 사이트가 동작하기 위해 필수적인 소프트웨어는 웹 서버가 있다. 이 웹 서버가 없으면 미디어위키나 워드프레스가 설치되어도 유저에게 웹 사이트를 보여줄 수가 없다.

미디어위키는 앞서 말한 웹 서버와 데이터베이스 서버, PHP 서버도 필요하다. 당신이 보고 있는 이 페이지는 데이터베이스 서버에 저장되고 편집 내용을 저장하고 페이지를 띄우는 등 데이터를 처리하기 위해 PHP 스크립트가 작동된다.

미디어위키 버전에 따라 지원하는 웹 서버, 데이터베이스 서버의 버전이 다른데 보통 최신 버전의 미디어위키를 설치하면 지원이 안 되는 경우가 드물기 때문에 걱정 안해도 된다. 구버전이면 좀 많이신경이 쓰이기는 하다.

웹 서버 설치

위키 사이트 뿐만 아니라 모든 웹 사이트는 웹 서버가 필요하다. 대표적인 웹서버는 Apache, Nginx 등이 있는데 여기서는 Apache를 기준으로 설명한다. 시리즈:누구나 할 수 있는 웹서버 구축

본격 미디어위키 설치

이 문단을 읽기 전에 파일 이동/복사 명령어나 sudo su 명령어로 관리자 계정으로 명령창을 사용할 줄 알아야 편하다.

일단 설치에 앞서 미디어위키에 필요한 추가 프로그램을 설치해 줍시다.

$ sudo apt install php-apcu php-curl php-intl php-mbstring php-gd php-cli php-zip

루트 경로 : 웹 사이트의 최상위 경로로 서버의 한 폴더가 루트 경로로 할당된다. 기본적으로 /var/www/html에 위치한다.

해당 파일을 웹 서버의 루트 경로에 올려서 압축 해제를 하면 디렉토리가 하나 생깁니다. 그런데 보통 루트 경로인 /var/www/html은 보안을 위해 관리자 권한으로 막혀있습니다. 그래서 관리자 권한 없이는 폴더를 옮기는게 어렵죠. 해결법은 단순합니다. 관리자 계정으로 터미널 에뮬레이터를 사용해서 폴더를 옮겨주면 됩니다. 명령어로 폴더나 파일을 옮기고 tar.xz나 ZIP파일 압축 해제하는 명령어를 구글 검색을 통해 알아봐야 한다. 귀찮다면 아예 폴더 탐색기를 슈퍼유저로 띄워서 옮기자

$ sudo GUI파일탐색기 (운영체제마다 기본 탐색기 프로그램이 다르다)

미디어위키 1.35 설치 파일 탐색기.png


압축 해제한 mediawiki 디렉토리의 기본 명칭은 압축 파일명과 동일한데(mediawiki1.35~~) 그렇게 그대로 두면 사이트 접근성이 처참하게 떨어지니 'wiki','w' 등의 간단한 이름으로 바꿔주는 게 좋다. 그런 다음 '사이트 주소/설정한 디렉토리명'(여기서는 http://0.0.0.0/w가 된다.)에 들어가보면


미디어위키 1.35 설치.png 이런 화면이 뜬다, 'LocalSettings.php'가 없다는 문구에 당황할 필요는 없는데, 설치 과정이 이 파일을 만드는 것이다. 일단 파란색으로 되어 있는 'set up the wiki'를 클릭하면


미디어위키 1.35 설치2.png 언어 선택 창이 뜨는데, 위의 것은 설치에 쓸 언어, 아래의 것은 위키가 이용자들에게 제공할 언어이다. 대부분의 경우 둘 다 한국어일 것이다. 그 다음 뜨는 화면에서는 일반적으로 특별히 수행할 작업이 없으며, 설치가 가능한지 검사를 한다. 거기서 '계속' 탭을 누른다.


미디어위키 1.35 설치3.png 여기서 무엇이 설치안되었나 체크가 가능하다. 작성자가 실수로 php-gd나 Imagemagick을 설치하지 않아 스크린샷처럼 섬네일을 불러오지 못한다고 한다. 둘 중 하나를 설치하고 웹서버를 다시 시작하자.

$ sudo service apache2 restart

미디어위키 1.35 설치6.png 해결했다. 아래를 보면 사진을 업로드 하는 기능에 보안 취약점이 발견되었다고 하는데 아래의 페이지를 참고하여 웹 서버를 설정해주자.


미디어위키 1.35 설치7.png

$ sudo nano /etc/apache2/apache2.conf

Nano 편집기나 메모장같은 편집기로 웹 서버 설정파일(.ini .conf)에 코드를 복사해 붙여넣기한다.


미디어위키 1.35 설치image.png Nano 편집기같은 경우 Ctrl+X를 누르고 Y를 누르면 저장하고 종료된다.


미디어위키 1.35 설치8.png 이제 문제 없다.~


미디어위키 1.35 설치9.png 여기서 데이터베이스를 연동해야 하는데 전 단계에서 데이터베이스와 유저를 생성했으므로 그대로 입력하면 된다. 그러고 나서 문자 집합을 선택한 후 다음으로 넘어간다.


미디어위키 1.35 설치10.png 데이터베이스 호스트는 그대로 둔다. 데이터베이스 서버와 웹 서버를 분리시킨 대형 위키를 빼고는 설정할 필요 없다. 그냥 데이터베이스 이름과 유저이름을 입력하면 된다.


미디어위키 1.35 설치12.png 넘어간다


미디어위키 1.35 설치13.png 여기서 위키의 이름(리브레위키, 나무위키)과 관리자의 ID 비밀번호를 설정할 수 있다.


스크린샷 2021-02-06 18-22-58.png 여기서 중간 절차를 진행할지 생략할지 물어보는데, 되도록이면 중간 절차를 모두 밟는 게 좋다. 더 많은 질문을 물어보세요를 클릭한다.


미디어위키 1.35 설치14.png 그럼 확장기능 및 라이선스, 이 메일, 기본 스킨 등을 설정할 수 있는 칸이 나온다. 이 부분은 도움말 탭의 설명으로 충분하니 별도로 쓰지 않는다.


미디어위키 1.35 설치16.png 기본 내장된 필수 확장기능들은 대부분 설치하는 것을 권장한다. 각 확장기능에 대한 설명은 미디어위키/확장기능 참고. 파일 올리기는 특별한 경우가 없다면 활성화하는 게 좋다. '인스턴트 공용'은 위키미디어 공용 연동 여부를 선택하는 것이다. 로고에는 로고로 쓸 이미지 URL을 기입한다. 딱히 쓸 로고가 없다면 아직은 그대로 둬도 좋다. 그 다음에 페이지 하나에서 최종 확인을 거친다. 다시 그 다음 페이지에서 모든 설치가 끝나면 다음으로 넘어간다.


미디어위키 1.35 설치17.png 이제 모든 준비가 끝났다. 중앙의 링크를 눌러 'LocalSettings.php' 파일을 다운받은 뒤에 index.php와 같은 디렉토리에 넣는다. 보통 처음 미디어위키를 넣으면서 생긴 폴더에 넣은 뒤 위키에 들어가면 된다.

관리

확장기능 설치

아래는 윈도우, 리눅스 상관없는데 리눅스의 경우 압축풀기 명령어가 필요하다. 미디어위키에는 수많은 확장기능이 있어서 이 확장기능만 잘 다루면 나만의 마개조된 위키를 만나볼 수도 있다. 예를 들어 사용자 검사 기능을 제공하는 CheckUser 확장 기능을 설치한다고 해보자.

체크유저 다운로드 페이지에 접속해서 맞는 버전을 다운로드한다. 체크유저1.png


다운로드 받은 파일의 압축을 풀어 미디어위키 경로의 'extensions' 폴더에 집어넣어야 한다. 체크유저2.png


LocalSettings.php를 열어 아무 부분에나 wfLoadExtension( 'CheckUser' ); 를 추가해주고 반드시 엔터를 한 번 이상 눌러 위 사진처럼 만들어야 한다. 그렇지 않으면 위키에 들어갈 때 PHP 해석 오류가 뜬다.

SSH를 지원하는 환경이라면 php update.php를 돌려서 간단하게 설치를 완료하는 방법도 있으나, 여기에서는 SSH를 지원하지 않는 무료 호스팅을 쓰고 있다는 전제 하에 내용을 작성하였다.

미디어위키 LocalSettings.php 참조.png LocalSettings.php에서 $wgUpgradeKey = "숫자+영어 랜덤조합"; 으로 되어있는 부분을 찾아 숫자+영어 랜덤조합 부분을 복사해두자.


체크유저3.png http://test.com/mw-config 같이 위키가 설치된 주소 뒤에 /mw-config을 붙여서 설치 페이지로 들어가자. 만약 LocalSettings.php 다운로드를 시작하는 창이 뜬다면 취소하고 우측의 '설치 다시 시작'을 눌러 위의 화면을 만들면 된다.


체크유저4.png 다음 버튼을 눌러 정상적으로 왔다면 이런 화면이 뜰 것이다. LocalSettings.php에서 복사해뒀던 숫자+영어 랜덤조합 키를 입력하고 '계속' 을 누르자.


체크유저5.png '미디어위키를 설치할 수 있습니다' 창은 중요하지 않으니 생략하였다. '계속' 을 누르자.


체크유저6.png 설치 업그레이드가 끝났다. '위키를 시작할 수 있습니다' 를 눌러 위키에 들어간 다음 특수:버전 페이지에서 'CheckUser' 가 있나 확인해보자.


체크유저7ㅇ.png Yes check.svg 완료 위와 같이 뜬다면 당신은 미디어위키에 확장 기능을 설치하는 방법을 알게 된 것이다. 이제 특수:권한조정 페이지에서 '검사관' 권한을 부여한 다음 특수:사용자검사 페이지에서 검사가 진행되나 확인해 보면 된다. 만약 데이터베이스 오류가 발생했다면 업그레이드 과정을 다시 수행해야 한다.