우분투

우분투 18.04에 미디어위키 설치하기 mediawiki

soopsokbaram 2022. 9. 25. 14:29

 

MediaWiki 설치법 

홈페이지는 아래와 같으며, 따라가면서 안되는 것에 추가 설명을 붙여 보았다.

https://www.mediawiki.org/wiki/Manual:Installing_MediaWiki

 

 

Manual:Installing MediaWiki - MediaWiki

This page covers all steps to manually install and configure MediaWiki. MediaWiki can be difficult to install if you do not have any experience with Apache (web server software), PHP and MySQL/MariaDB (database). The Appendices section below offers easier

www.mediawiki.org

 

mediawiki 다운로드 

아래에서 mediawik 1.35를 다운로드 후, 압축을 풀고, apache2 서버의 html 폴더에 이동 후, 환경파일에서 해당 폴더를 지정하여 수정한다.

 

 

 

mediawiki 호환성

ubuntu 18.04에서 apache2, php, mariadb를 설치 후, mediawiki 1.35 LTS 설치 후, 웹페이지에 접속하면 

php 버전이 맞지 않는다고 나온다.

ubuntu 18.04 에서 php 는 7.2 버전이 설치되기에 php 7.4.3 이상이 필요하다.

 

https://www.mediawiki.org/wiki/Compatibility#PHP

 

Compatibility - MediaWiki

MediaWiki strives to maintain broad compatibility between versions, and with a range of current and legacy software. At the same time, the constantly-evolving codebase and features of the latest MediaWiki development mean that it is not possible to maintai

www.mediawiki.org

# php 버전의 확인

php -v

 

 

php 7.4 설치하기

 

(1) 패키지 저장소를 추가한다. 

sudo add-apt-repository ppa:ondrej/php 
sudo apt-get update

 

 

(2) php7.4를 설치한다.(아래 명령은 기본 패키지만 설치한다. 필요시 추가 패키지를 설치한다.)

sudo apt install php7.4 php7.4-common php7.4-cli

 

(3) php7.2 비활성화 및 php7.4활성화

sudo a2dismod php7.2
sudo a2enmod php7.4
sudo systemctl apache2 reload

 

(4) 웹페이지에 접속하면 아래와 같이 php 추가 패키지가 필요하다.

sudo apt install php7.4-mbstring php7.4-xml

 

 

(5) 웹페이지에 접속하면, mediawiki 환경설정을 시작하게 된다. php-mysql 이 필요하다고 나온다.

포트번호 7000번에 미디어위키를 설치하고 http://localhost:7000로 접속해서, 미디어위키 설정으로 들어 갔었는데,

기본 80포트 번호에 아파치를 실행시키고, http://localhost/mediawiki-1.35.7/index.php 형태로 접속하는 것이 short url 등 좋다고 한다.

글 아래쪽에 필자는 다시 설치함.

 

sudo apt install php7.4-mysql
sudo systemctl apache2 restart

 

(6) 아래와 같은 메세지가 나온다. 설치는 가능하지만, 아직도 패키지가 부족하다.

 

 

 

(7) 조금 더 찾아보니, 아래의 패키지들이 한 번에 설치가 필요하다.

 

https://www.mediawiki.org/wiki/Manual:Installation_requirements/ko

 

매뉴얼:설치 요구사항 - MediaWiki

웹 서버가 필요합니다. 이 프로그램은 웹 상에서 프로그램을 돌리기 위한 필수적인 프로그램입니다. PHP가 필요합니다. 이 프로그램은 미디어위키 작동에 필요합니다. 다른 추가 기능이 필요한

www.mediawiki.org

 

sudo apt-get install php php-apcu php-intl php-mbstring php-xml php-mysql php-calendar mariadb-server apache2

sudo apt-get install php7.4 php7.4-apcu php7.4-intl php7.4-mbstring php7.4-xml php7.4-mysql php7.4-calendar

 

mariadb 설정하기

(1) mariadb를 apt로 설치하고 난 후에 아래와 같이 접속할 수 있다.

sudo mariadb
sudo mysql # 두 개 중 아무거나 사용 가능함

(2) 아래와 같이 mariadb의 root 관리자에 비밀번호를 설정한다.

sudo mysqladmin -u root password 'abcd1234'   # 'abcd1234'는 본인의 패스워드를 적는다

(3) 비밀번호가 설정되면 아래와 같이 root로 접속한다.

sudo mysql -u root -p
#화면에 패스워드를 입력한다.

mysql -u root -p #sudo 없이는 안된다.

(4) mediawiki에서 사용할 mariadb의 계정을 만든다.

CREATE DATABASE my_wiki;
CREATE USER 'wikiadmin'@'localhost' IDENTIFIED BY 'abcd1234';
GRANT ALL PRIVILEGES ON my_wiki.* TO 'wikiadmin'@'localhost' WITH GRANT OPTION;

(4) wikiadmin은 아래와 같이 접속이 가능하다.

mysql -u wikiadmin -p  #sudo 없이도 접속이 가능해야 한다. 그렇지 않으면 mediawiki에서 접속이 안된다.

아래는 mediawiki 설정 중에 웹페이지에 나오는 화면이다. 여기서 미리 만들어 놓은 mariadb의 wikiadmin 사용자가 필요하다.

 

phpmyadmin 설치하기

(0) 참고 링크

https://wnw1005.tistory.com/61

 

phpmyadmin 설치 - APT 패키지 관리자를 통한 설치

[관련 게시물] 2018/11/23 - [서버 운영/APM 서버 구축] - phpmyadmin 설치 2019/07/01 - [서버 운영/APM 서버 구축] - phpMyAdmin 수동 설치 01 - 일반 설치 2019/07/03 - [서버 운영/APM 서버 구축] - phpMyAdmi..

wnw1005.tistory.com

(1) phpmyadmin 패키지를 설치한다. 

sudo apt install phpmyadmin

(2) 중간 설치시 apache2 서버를 선택한다. 

(3) 데이터베이스는 이미 mariadb를 설치하였기에 설정하지 않는다.

(4) 설치 후에 /etc/apache2/apache2.conf 파일에 아래 문구를 추가한다.

(이것은 안해도 작동하는 것 같음. 아래 항목 (5)번 영향인듯)

#Include phpMyAdmin
Include /etc/phpmyadmin/apache.conf

 

 

(5) phpmyadmin 디렉토리에 아래와 같이 링크를 설정한다.

 #phpmyadmin 디렉토리 링크
 sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

 

(6) mariadb에 접속한 후, phpmyadmin에 접속할 계정을  만든다

sudo mysql -u root -p
#create user '아이디'@'%' identified by '비밀번호';
create user 'phpmyadmin' identified by '1234';

#grant all privileges on *.* to '아이디'@'%';
grant all privileges on *.* to 'phpmyadmin';

(7) apache2 서버를 재시작한다.

sudo systemctl restart apache2

(8)웹브라저로 http:// apache서버 메인주소/phpmyadmin 에 접속한다.

 

(9) phpmyadmin 4.6.6 버전이 설치된다. 일부 호환성에서 문제가 발생한다. 보다 높은 버전을 설치해 본다.

 

(10)  phpMyAdmin-4.9.10-all-languages.tar.gz 을 다운로드 받고 압축을 푼다. (php7.4와 호환이 된다.)

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.10/phpMyAdmin-4.9.10-all-languages.tar.gz

sudo tar -xzf phpMyAdmin-4.9.10-all-languages.tar.gz -C /usr/share

# 복사위치 : /usr/share/phpMyAdmin-4.9.10-all-languages

sudo ln -s /usr/share/phpMyAdmin-4.9.10-all-languages/ /var/www/html/phpmyadmin

https://www.phpmyadmin.net/

 

phpMyAdmin

Your download should start soon, if not please click here. Please verify the downloaded file Please take additional steps to verify that the file you have downloaded is not corrupted, you can verify it using the following methods: phpMyAdmin needs your con

www.phpmyadmin.net

 

(11) config.sample.inc.php 을 config.inc.php 파일로 복사한 후, 필요한 환경설정을 할 수 있다. phpmyadmin 교체시에 해당 환경파일을 계속 복사하여 설정을 유지할 수 있다.

 

 

(12) apache2 서버를 재실행한다.

sudo systemctl restart apache2

 

mediawiki 백업하기

(1) mariadb의 database 백업하기

mysqldump 명령어를 이용한 백업은 실패했고, 아래 phpMyAdmin에서 내보내기를 한다. "내보내기" 메뉴에서 "실행"하면 "localhost.sql"이라는 이름으로 저장된다. "my_wiki" database만 "내보내기" 한 경우에는 "가져오기"에서 실패했다.

mysqldump  -uwikiadimin -p my_wiki > my_wiki_backup.sql
Enter password: #비밀번호를 입력한다

#아래와 같이 에러가 난다. 해결책은 못찾았다. 대안으로 phpmyadmin 의 내보내기(백업)을 이용한다.
mysqldump: Got error: 1045: "Access denied for user 'wikiadimin'@'localhost' (using password: YES)" when trying to connect

 

 

 

(2) mariadb의 database 복원하기

업로드 파일을 선택("localhost.sql")한 후, 실행한다.

업로드 파일의 용량이 커서 업로드가 되지 않을 경우에는  /etc/php/7.4/apache2/php.ini 파일에서 업로드 용량 설정을 수정해 준다. (upload_max_filesize=2M, < post_max_size=8M, < memory_limit=256M)

 

 

 

mediawiki 다시 설치하기

(1) mediawiki 설치파일 복사하기

/var/www/html/mediawiki-1.35.8 에 복사한다.

#mediawiki.zip 파일을 "다운로드"폴더에 풀어 놓는다.

sudo mv /home/jomy/다운로드/mediawiki-1.35.7 /var/www/html/

(2) 우분투 apache 서버 실행하기

80포트를 사용하며, root directory는 /var/www/html 로 설정한다.

 

(3) mediawiki 최초 접속하기

http://localhost/mediawiki-1.35.8/index.php 로 접속한다.

접속하면 mediawiki 설정 페이지로 가면 아래와 같이 된다.

 

mediawiki 다시 설치하는 대신 LocalSettings.php 수정 

아래와 같이 /var/www/html/mediawiki-1.35.7/LocalSettings.php 를 수정하면,

http://localhost/mediawiki-1.35.7/index.php 형태로 접속할 수 있다.

## https://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "/mediawiki-1.35.7";

## The protocol and server name to use in fully-qualified URLs
$wgServer = "http://localhost";

 

 

Apache2에서 mediawiki의 shor_URL 사용하는 법 

(1) apache2의 /etc/apache2/sites-available/xxxx.conf 파일에 아래 내용을 추가해 준다.

	## https://www.mediawiki.org/wiki/Manual:Short_URL/Apache
	# 재작성 엔진 활성화 
	RewriteEngine  On
	
	# http://domain/conwiki/대문 
   RewriteRule ^/?conwiki(/.*)?$ %{DocumentRoot}/mediawiki-1.35.8/index.php [L]

	# 메인 페이지로 / 리디렉션 
	#RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L]
	#RewriteRule ^/*$ %{DocumentRoot}/mediawiki-1.35.8/index.php [L]
	#RewriteRule ^/*$ http://rtax.duckdns.org [L]