편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
이 문서는 리눅스를 기준으로 작성되었습니다. | 이 문서는 리눅스를 기준으로 작성되었습니다. | ||
미디어위키 기반의 위키 사이트를 서버에 올리기 위해서는 먼저 사이트에서 미디어위키를 내려받는 과정을 거쳐야 한다. | 미디어위키 기반의 위키 사이트를 서버에 올리기 위해서는 먼저 사이트에서 미디어위키를 내려받는 과정을 거쳐야 한다. [https://www.mediawiki.org/wiki/Download/ko 이곳]에서 원하는 버전을 다운받아서 서버에 업로드하면 위키사이트가 완성된다. 호스팅 사이트의 자동 설치 기능을 쓰는 건 추천하지 않으며, 번거롭더라도 직접 설치하는 걸 권장한다. | ||
웹 사이트가 동작하기 위해 필수적인 소프트웨어는 웹 서버가 있다. 이 웹 서버가 없으면 미디어위키나 워드프레스가 설치되어도 유저에게 웹 사이트를 보여줄 수가 없다. | 웹 사이트가 동작하기 위해 필수적인 소프트웨어는 웹 서버가 있다. 이 웹 서버가 없으면 미디어위키나 워드프레스가 설치되어도 유저에게 웹 사이트를 보여줄 수가 없다. | ||
11번째 줄: | 7번째 줄: | ||
미디어위키는 앞서 말한 웹 서버와 데이터베이스 서버, PHP 서버도 필요하다. 당신이 보고 있는 이 페이지는 데이터베이스 서버에 저장되고 편집 내용을 저장하고 페이지를 띄우는 등 데이터를 처리하기 위해 PHP 스크립트가 작동된다. | 미디어위키는 앞서 말한 웹 서버와 데이터베이스 서버, PHP 서버도 필요하다. 당신이 보고 있는 이 페이지는 데이터베이스 서버에 저장되고 편집 내용을 저장하고 페이지를 띄우는 등 데이터를 처리하기 위해 PHP 스크립트가 작동된다. | ||
미디어위키 버전에 따라 지원하는 웹 서버, 데이터베이스 서버의 버전이 다른데 보통 최신 버전의 미디어위키를 설치하면 지원이 | 미디어위키 버전에 따라 지원하는 웹 서버, 데이터베이스 서버의 버전이 다른데 보통 최신 버전의 미디어위키를 설치하면 지원이 안되는 경우가 드물기 때문에 걱정 안해도 된다. 구버전이면 좀 <del>많이</del>신경이 쓰이기는 하다. | ||
== 웹 서버 설치 == | == 웹 서버 설치 == | ||
위키 사이트 뿐만 아니라 모든 웹 사이트는 [[웹 서버]]가 필요하다. 대표적인 웹서버는 [[Apache]], [[Nginx]] 등이 있는데 여기서는 Apache를 기준으로 설명한다. | 위키 사이트 뿐만 아니라 모든 웹 사이트는 [[웹 서버]]가 필요하다. 대표적인 웹서버는 [[Apache]], [[Nginx]] 등이 있는데 여기서는 Apache를 기준으로 설명한다. | ||
가장 잘 알려진 리눅스, [[우분투]]는 명령어 몇 줄이면 프로그램 설치를 간단하게 할 수 있다. | |||
먼저 소프트웨어를 내려받기 전에 업데이트를 하자. | |||
<pre> | |||
sudo apt update | |||
우분투 패키지 저장소의 업데이트 된 목록을 내려받는다. | |||
sudo apt upgrade -y | |||
패키지 업데이트 | |||
</pre> | |||
단 두 줄이면 업데이트가 끝난다. 비번을 요구하면 입력한다. | |||
<pre> | |||
sudo apt install apache2 | |||
0개 업그레이드, 8개 새로 설치, 0개 제거 및 0개 업그레이드 안 함. | |||
1,713 k바이트 아카이브를 받아야 합니다. | |||
이 작업 후 7,497 k바이트의 디스크 공간을 더 사용하게 됩니다. | |||
계속 하시겠습니까? [Y/n] | |||
</pre> | |||
아파치 서버 설치 | |||
Y를 누르고 기다리자 | |||
설치가 완료되면 브라우저에 127.0.0.1이나 localhost 또는 0.0.0.0을 입력하여 설치가 완료되었는지 확인하자. | |||
웹 페이지에 무언가가 뜨면 성공이다! | |||
급하면 넘어가도 되는데 설명을 한번 보자 아래 설명이 이렇게 나오는데 | |||
<pre> | |||
/etc/apache2/ | |||
|-- apache2.conf | |||
| `-- ports.conf | |||
|-- mods-enabled | |||
| |-- *.load | |||
| `-- *.conf | |||
|-- conf-enabled | |||
| `-- *.conf | |||
|-- sites-enabled | |||
| `-- *.conf | |||
</pre> | |||
설정 파일이 어디있는지 | |||
웹 사이트의 루트경로가 어디인지 | |||
/var/www/public_html | |||
설명이 다 되어있다. | |||
명령어 창으로 들어가 | |||
<pre> | |||
cd /var/www/html | |||
</pre> | |||
을 입력해 웹 사이트의 루트 경로로 들어가보자. | |||
<pre> | |||
pc@pc-desktop:/var/www/html$ ll | |||
합계 12 | |||
drwxr-xr-x 2 root root 4096 2월 6 15:55 ./ | |||
drwxr-xr-x 4 root root 4096 2월 6 15:55 ../ | |||
-rw-r--r-- 1 root root 17 2월 6 15:54 index.html | |||
</pre> | |||
아까 접속해 본 페이지가 index.html이다. 이제는 필요없으니 지워보자 | |||
<pre> | |||
pc@pc-desktop:/var/www/html$ sudo rm index.html | |||
</pre> | |||
이제 미디어위키를 구동하는데 필요한 PHP를 설치하자! | |||
== PHP 설치하기 == | |||
<pre> | |||
sudo apt install php-apcu php-curl php-intl php-mbstring php-mysql php-gd php-xml php-cli php-zip | |||
</pre> | |||
미디어위키와 데이터베이스를 위해 필요한 프로그램이다. 설치가 끝나면 명령창에 php -v를 쳐서 설치가 잘 되었는지 보자 | |||
<pre> | |||
pc@pc-desktop:/var/www/html$ php -v | |||
PHP 7.4.3 (cli) (built: Oct 6 2020 15:47:56) ( NTS ) | |||
Copyright (c) The PHP Group | |||
Zend Engine v3.4.0, Copyright (c) Zend Technologies | |||
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies | |||
</pre> | |||
정상적으로 잘 되었다! 이제 데이터 베이스를 설치하고 설정해주는 일만 남았다. | |||
== 데이터베이스 서버 설치하기 == | |||
<pre> | |||
< | pc@pc-desktop:/var/www/html$ sudo apt install mariadb-server | ||
$ sudo | </pre> | ||
</ | |||
<pre> | |||
< | pc@pc-desktop:/var/www/html$ sudo mysql_secure_installation | ||
</pre> | |||
</ | mariadb를 설정해야하는데 mysql를 왜 입력하냐면 mariadb가 mysql을 그대로 포크한 프로그램이기 때문에 mysql과 커맨드를 공유하기 때문이다. | ||
[[ | <pre> | ||
Enter current password for root (enter for none): | |||
root의 비밀번호를 입력, 비번이 없으므로 엔터! | |||
Set root password? [Y/n] | |||
root 비번 설정 Y나 엔터! | |||
New password: | |||
비밀번호 입력 | |||
Re-enter new password: | |||
한번 더 | |||
Remove anonymous users? [Y/n] | |||
아래는 모두 엔터치면 된다. | |||
Disallow root login remotely? [Y/n] | |||
--- | |||
</pre> | |||
아직 끝난게 아니다. | |||
mysql 서버에 직접 접속해보자 | |||
<pre> | |||
sudo mysql -u root -p | |||
</pre> | |||
<syntaxhighlight lang="SQL" style=""> | |||
/*Welcome to the MariaDB monitor. Commands end with ; or \g. | |||
Your MariaDB connection id is 68 | |||
Server version: 10.3.25-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04 | |||
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. | |||
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.*/ | |||
[ | MariaDB [(none)]> | ||
</syntaxhighlight> | |||
MariaDB의 CLI에서 유저 생성하고 데이터베이스를 설정한다. | |||
[[ | <syntaxhighlight lang="SQL" style=""> | ||
MariaDB [(none)]> CREATE USER '위키유저'@'localhost' IDENTIFIED BY '비밀번호 입력'; | |||
--Mariadb 유저 생성 | |||
MariaDB [(none)]> CREATE DATABASE 위키데이터베이스; | |||
--데이터베이스 생성, 이 데이터베이스에 위키의 모든 문서가 저장된다. | |||
MariaDB [(none)]> GRANT ALL PRIVILEGES ON 위키데이터베이스.* TO '위키유저'@'localhost' WITH GRANT OPTION; | |||
--위키유저가 방금 생성된 데이터베이스에 접근할 권한을 부여한다. | |||
</syntaxhighlight> | |||
quit를 입력해 CLI에서 나간다. | |||
미디어위키를 설치하기 전에 필요한 프로그램들을 모두 설치했다. 다음 단계로 넘어가자! | |||
[[파일: | == 본격 미디어위키 설치 == | ||
루트 경로 : 웹 사이트의 최상위 경로로 서버의 한 폴더가 루트 경로로 할당된다. 기본적으로 /var/www/html에 위치한다. | |||
해당 파일을 웹서버의 루트경로에 올려서 압축 해제를 하면 디렉토리가 하나 생기며, 이 디렉토리의 기본 명칭은 압축 파일명과 동일한데 그렇게 그대로 두면 사이트 접근성이 처참하게 떨어지니 'wiki','w' 등의 간단한 이름으로 바꿔주는 게 좋다. 그런 다음 '사이트 주소/설정한 디렉토리명'(여기서는 http://railwiki.esy.es/w 가 된다.)에 들어가보면 | |||
[[파일:미위설치1.png]] | |||
이런 화면이 뜬다, 'LocalSettings.php'가 없다는 문구에 당황할 필요는 없는데, 설치 과정이 이 파일을 만드는 것이다. 일단 파란색으로 되어 있는 'set up the wiki'를 클릭하면 | |||
[[파일:미위설치2.png]] | |||
언어 선택 창이 뜨는데, 위의 것은 설치에 쓸 언어, 아래의 것은 위키가 이용자들에게 제공할 언어이다. 대부분의 경우 둘 다 한국어일 것이다. 그 다음 뜨는 화면에서는 일반적으로 특별히 수행할 작업이 없으며, 설치가 가능한지 검사를 한다. 거기서 '계속' 탭을 누른다. | |||
[[파일:미위설치3.png]] | |||
여기서 데이터베이스를 연동해야 하는데, 이는 사전에 준비해둬야 한다. 자세한 사항은 ?를 누르면 뜨는 도움말을 참고하면 된다. 그러고 나서 문자 집합을 선택한 후 다음으로 넘어간다. | |||
[[파일:미위설치4.png]] | |||
그 다음 위키 설정 및 어드민 계정의 설정을 할 수 있다. 여기서 중간 절차를 진행할지 생략할지 물어보는데, 되도록이면 중간 절차를 모두 밟는 게 좋다. | |||
[[파일:미위설치5.png]] | |||
그럼 확장기능 및 라이선스, 이메일, 기본 스킨 등을 설정할 수 있는 칸이 나온다. 이 부분은 도움말 탭의 설명으로 충분하니 별도로 쓰지 않는다. | |||
[[파일:미위설치6.png]] | |||
기본 내장된 필수 확장기능들은 대부분 설치하는 것을 권장한다. 각 확장기능에 대한 설명은 [[미디어위키/확장기능]] 참고. | 기본 내장된 필수 확장기능들은 대부분 설치하는 것을 권장한다. 각 확장기능에 대한 설명은 [[미디어위키/확장기능]] 참고. | ||
파일 올리기는 특별한 경우가 없다면 활성화하는 게 좋다. '인스턴트 공용'은 [[위키미디어 공용]] 연동 여부를 선택하는 것이다. | 파일 올리기는 특별한 경우가 없다면 활성화하는 게 좋다. '인스턴트 공용'은 [[위키미디어 공용]] 연동 여부를 선택하는 것이다. | ||
로고에는 로고로 쓸 이미지 URL을 기입한다. 딱히 쓸 로고가 없다면 아직은 그대로 둬도 좋다. | 로고에는 로고로 쓸 이미지 URL을 기입한다. 딱히 쓸 로고가 없다면 아직은 그대로 둬도 좋다. | ||
그 다음에 페이지 하나에서 최종 확인을 거친다. 다시 그 다음 페이지에서 모든 설치가 끝나면 다음으로 넘어간다. | 그 다음에 페이지 하나에서 최종 확인을 거친다. 다시 그 다음 페이지에서 모든 설치가 끝나면 다음으로 넘어간다. | ||
[[파일:미위설치7.png]] | |||
[[파일: | 이제 모든 준비가 끝났다. 중앙의 링크를 눌러 'LocalSettings.php' 파일을 다운받은 뒤에 index.php와 같은 디렉토리에 넣는다. 보통 처음 미디어위키를 넣으면서 생긴 폴더에 넣은 뒤 위키에 들어가면 된다. | ||
이제 모든 준비가 끝났다. 중앙의 링크를 눌러 'LocalSettings.php' 파일을 다운받은 뒤에 index.php와 같은 디렉토리에 넣는다 | |||
== 관리 == | == 관리 == | ||
=== 확장기능 설치 === | === 확장기능 설치 === | ||
미디어위키에는 수많은 확장기능이 있어서 이 확장기능만 잘 다루면 나만의 마개조된 위키를 만나볼 수도 있다. 예를 들어 사용자 검사 기능을 제공하는 CheckUser 확장 기능을 설치한다고 해보자. | 미디어위키에는 수많은 확장기능이 있어서 이 확장기능만 잘 다루면 나만의 마개조된 위키를 만나볼 수도 있다. 예를 들어 사용자 검사 기능을 제공하는 CheckUser 확장 기능을 설치한다고 해보자. | ||
[https://www.mediawiki.org/wiki/Special:ExtensionDistributor/CheckUser 체크유저 다운로드 페이지]에 접속해서 맞는 버전을 다운로드한다. | [https://www.mediawiki.org/wiki/Special:ExtensionDistributor/CheckUser 체크유저 다운로드 페이지]에 접속해서 맞는 버전을 다운로드한다. | ||
[[파일:체크유저1.png]] | [[파일:체크유저1.png]] | ||
다운로드 받은 파일의 압축을 풀어 미디어위키 경로의 'extensions' 폴더에 집어넣어야 한다. | 다운로드 받은 파일의 압축을 풀어 미디어위키 경로의 'extensions' 폴더에 집어넣어야 한다. | ||
[[파일:체크유저2.png]] | [[파일:체크유저2.png]] | ||
LocalSettings.php를 열어 아무 부분에나 wfLoadExtension( 'CheckUser' ); 를 추가해주고 반드시 엔터를 한 번 이상 눌러 위 사진처럼 만들어야 한다. 그렇지 않으면 위키에 들어갈 때 PHP 해석 오류가 뜬다. | LocalSettings.php를 열어 아무 부분에나 wfLoadExtension( 'CheckUser' ); 를 추가해주고 반드시 엔터를 한 번 이상 눌러 위 사진처럼 만들어야 한다. 그렇지 않으면 위키에 들어갈 때 PHP 해석 오류가 뜬다. | ||
121번째 줄: | 192번째 줄: | ||
[[파일:미디어위키 LocalSettings.php 참조.png]] | [[파일:미디어위키 LocalSettings.php 참조.png]] | ||
LocalSettings.php에서 $wgUpgradeKey = "숫자+영어 랜덤조합"; 으로 되어있는 부분을 찾아 숫자+영어 랜덤조합 부분을 복사해두자. | LocalSettings.php에서 $wgUpgradeKey = "숫자+영어 랜덤조합"; 으로 되어있는 부분을 찾아 숫자+영어 랜덤조합 부분을 복사해두자. | ||
[[파일:체크유저3.png]] | [[파일:체크유저3.png]] | ||
http://test.com/mw-config 같이 위키가 설치된 주소 뒤에 /mw-config을 붙여서 설치 페이지로 들어가자. 만약 LocalSettings.php 다운로드를 시작하는 창이 뜬다면 취소하고 우측의 '설치 다시 시작'을 눌러 위의 화면을 만들면 된다. | http://test.com/mw-config 같이 위키가 설치된 주소 뒤에 /mw-config을 붙여서 설치 페이지로 들어가자. 만약 LocalSettings.php 다운로드를 시작하는 창이 뜬다면 취소하고 우측의 '설치 다시 시작'을 눌러 위의 화면을 만들면 된다. | ||
[[파일:체크유저4.png]] | [[파일:체크유저4.png]] | ||
다음 버튼을 눌러 정상적으로 왔다면 이런 화면이 뜰 것이다. LocalSettings.php에서 복사해뒀던 숫자+영어 랜덤조합 키를 입력하고 '계속' 을 누르자. | 다음 버튼을 눌러 정상적으로 왔다면 이런 화면이 뜰 것이다. LocalSettings.php에서 복사해뒀던 숫자+영어 랜덤조합 키를 입력하고 '계속' 을 누르자. | ||
[[파일:체크유저5.png]] | [[파일:체크유저5.png]] | ||
'미디어위키를 설치할 수 있습니다' 창은 중요하지 않으니 생략하였다. '계속' 을 누르자. | '미디어위키를 설치할 수 있습니다' 창은 중요하지 않으니 생략하였다. '계속' 을 누르자. | ||
[[파일:체크유저6.png]] | [[파일:체크유저6.png]] | ||
설치 업그레이드가 끝났다. '위키를 시작할 수 있습니다' 를 눌러 위키에 들어간 다음 특수:버전 페이지에서 'CheckUser' 가 있나 확인해보자. | 설치 업그레이드가 끝났다. '위키를 시작할 수 있습니다' 를 눌러 위키에 들어간 다음 특수:버전 페이지에서 'CheckUser' 가 있나 확인해보자. | ||
[[파일:체크유저7ㅇ.png]] | [[파일:체크유저7ㅇ.png]] | ||
{{완료}} 위와 같이 뜬다면 당신은 미디어위키에 확장 기능을 설치하는 방법을 알게 된 것이다. 이제 특수:권한조정 페이지에서 '검사관' 권한을 부여한 다음 특수:사용자검사 페이지에서 검사가 진행되나 확인해 보면 된다. 만약 데이터베이스 오류가 발생했다면 업그레이드 과정을 다시 수행해야 한다. | {{완료}} 위와 같이 뜬다면 당신은 미디어위키에 확장 기능을 설치하는 방법을 알게 된 것이다. 이제 특수:권한조정 페이지에서 '검사관' 권한을 부여한 다음 특수:사용자검사 페이지에서 검사가 진행되나 확인해 보면 된다. 만약 데이터베이스 오류가 발생했다면 업그레이드 과정을 다시 수행해야 한다. | ||
[[분류:미디어위키|설치 및 관리]] | [[분류:미디어위키|설치 및 관리]] |