기술노트

기술노트

게시물 상세
(Ubuntu20.04) MediaWiki 1.34.2 구축하기
작성자 : 관리자(marketing@ehostidc.co.kr)  작성일 : 2023-10-19   조회수 : 1250

OS버전 Ubuntu 20.04버전에서 진행하였습니다.


해당 메뉴얼에서는 Apache : 2.4.41,Mariadb : 10.3.38,PHP : 7.4.3 버전을 사용하였습니다.

* 본 메뉴얼에서 user가아닌 root권한으로 진행하였습니다.

* 본 메뉴얼은 mediawiki 1.34.2 버전을 사용하였습니다.

본 메뉴얼은 웹서버 및 Mariadb를 수정하므로 기존에 적용한 내용이 있다면 백업 후 진행 권장드립니다.

 

1. Apache설치


패키지들을 업데이트 해준 후, apt install apache2 명령어로 Apache를 설치해 줍니다.


설치 후 작동하는지 systemctl status apache2.service명령어로 확인합니다. (service apache2 status로도 확인이 가능합니다.)


enable 명령어로 재부팅시에 서비스가 자동으로 올라오게끔 설정합니다.


방화벽이 작동하는지 systemctl status ufw 명령어로 확인 후 80번 포트를 오픈시켜 줍니다.


방화벽 설정 후에 url에 자신의 ip를 입력하여 웹페이지가 연결되는지 확인합니다.


2. MariaDB 설치

apt-get install mariadb-server mariadb-client 명령어로 마리아DB를 설치합니다.


설치 후 정상적으로 작동하는지 확인합니다.


mysql_secure_installation 명령어로 mysql의 보안 설정을 합니다.

※ mysql보안 설정 참고

Enter current password for root (enter for none) : <- 루트에 대한 현재 암호를 물어보는 것이며 없으면 엔터 본 메뉴얼은 root패스워드 지정 후 진행합니다.

Change the root password? [Y/n] Y <- 루트암호를 변경할 것인지 물어보는 것으로 변경을 원하면 Y 원하지 않으면 n을 입력

New password <- 새로운 암호

Re-enter new password <- 위에서 입력한 암호 다시 입력

Remove anonymous users? Y <- 익명의 사용자를 제거한다.

Disallow root login remotely? Y <- 원격으로 루트 로그인 허용 안 함

Remove test database and access to it? Y <- 테스트 데이터베이스를 제거하고 데이터 베이스에 액세스한다.

Reload privilege tables now? Y <- 테이블 권한 리로드


mysql의 보안 설정이 완료되면 mysql -u root -p 명령어로 MariaDB의 설치를 확인합니다.


apt install -y php-fpm php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip

미디어 위키에서 사용할 DB를 만들기 전 상기 명령어로 PHP및 PHP확장 프로그램을 설치 후 Apache를 재시작 합니다.



DB생성 이후,

GRANT ALL ON mediawiki.* TO '사용자이름'@'localhost' IDENTIFED BY 패스워드 WITH GRANT OPTION; <- 유저에 위에서 만든 데이터베이스 접근 권한 설정

※ ' ' <- 위 유저와 권한을 설정할 때, 해당 기호를 빼면 안됩니다.


3. MediaWiki 설치 

하기 링크에서 직접 다운로드를 하거나, 위처럼 명령어로 미디어위키를 다운로드 합니다.

링크 : https://www.mediawiki.org/wiki/Download/ko

명령어 : cd /tmp && wget https://releases.wikimedia.org/mediawiki/(버전)/mediawiki-(버전).tar.gz 


설치가 완료되었으면 압축을 풀어줍니다.

그 후, 웹 서버의 루트 경로 /var/www/html위치에 mediawiki라는 디렉토리를 생성합니다.

압축을 풀어놓은 파일들을 위에서 생성한 /var/www/html/mediawiki 디렉토리로 이동합니다.


혹시 모를 충돌을 방지하기 위하여 하기 명령어로 mediawiki 루트 디렉토리의 권한을 변경합니다.

chown -R www-data:www-data /var/www/html/mediawiki

chmod -R 755 /var/www/html/mediawiki


vi /etc/apache2/sites-available/mediawiki.conf 명령어로 아파치 설정을 위한 mediawiki.conf파일을 아래 내용을 참고하여 설정을 합니다.

※ 참고


     ServerAdmin 이메일주소

     DocumentRoot /var/www/html/mediawiki

     ServerName 서버 아이피 또는 URL

     ServerAlias 서버 아이피 또는 URL

 

     

        Options +FollowSymlinks

        AllowOverride All

        Require all granted

     

     

     ErrorLog ${APACHE_LOG_DIR}/error.log

     CustomLog ${APACHE_LOG_DIR}/access.log combined

 


a2ensite mediawiki.conf

a2enmod rewrite

상기 명령어로 wikimedia를 활성화 합니다.


미디어위키를 활성화 하였다면, http://서버아이피/mw-config/로 접속하거나 http://서버아이피/mediawiki로 접속을 하여 위 화면이 나오는지 확인합니다.

그 후 미디어위키에서 보여질 언어를 선택 후 계속을 클릭합니다.




해당 화면은 미디어 위키를 설치 전 필요한 프로그램 등을 체크하는 화면입니다. 계속을 클릭합니다.


데이터베이스 호스트란은 그대로 두며, 데이터베이스 이름은 위에서 만들었던 mediawiki로 입력하고, 데이터베이스 사용자 이름도 위에서 만든 wikiuser와 그 비밀번호를 입력 후 계속을 클릭합니다.


위키미디어의 제목과 해당 위키미디어를 사용할 관리자 계정을 입력 후 계속을 클릭하여 설치를 완료합니다.


미디어 위키의 설치를 완료하면 LocalSettings.php를 다운로드 하라는 화면이 나오는데, 해당 파일을 미디어위키 루트 디렉토리(/var/www/html/mediawiki)에 넣거나, 해당 php파일을 열어서 복사하여 미디어위키 루트 디렉토리에 LocalSettings.php파일을 만들어 붙여넣어도 된다.


url에 자신의 서버 ip를 입력하면 위와 같이 미디어 위키 웹페이지가 나오면 끝입니다.


감사합니다.

이전글 Ubuntu 환경에서 MRTG를 이용하여 실시간 트래픽 확인하기
다음글 (Ubuntu 22.04) Docker 설치 및 컨테이너 구축 매뉴얼입니다.