웹사이트 검색

Ubuntu 16.04에서 Nginx와 함께 MediaWiki를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 우분투 20.04(Focal Fossa)
  • 우분투 16.04(Xenial Xerus)

이 페이지에서

  1. 1단계 - Ubuntu 16.04에 Nginx 설치
  2. 2단계 - PHP-FPM 설치 및 구성
  3. 3단계 - MySQL 데이터베이스 설치 및 구성
  4. 4단계 - MediaWiki 다운로드 및 구성
  5. 5단계 - Ubuntu 16.04에서 SSL Letsencrypt 생성
  6. 6단계 - MediaWiki Nginx 가상 호스트 구성\n
  7. 7단계 - MediaWiki 웹 기반 설치
  8. 8단계 - 기본 스킨 다운로드 및 구성
  9. 참조

이 튜토리얼에서는 Ubuntu 16.04에서 Nginx 웹 서버와 함께 MediaWiki를 설치하는 방법을 단계별로 보여줍니다. MediaWiki 보안을 위한 새로운 무료 SSL Letsencrypt 생성 및 구성을 포함하여 MediaWiki 설치를 위한 LEMP 스택을 설치 및 구성하는 방법을 안내해 드리겠습니다.

MediaWiki는 원래 Wikipedia에서 사용하기 위해 개발된 가장 인기 있는 wiki 소프트웨어 중 하나입니다. PHP 프로그래밍 언어로 작성된 무료 오픈 소스 소프트웨어이며 위키 범주에서 가장 지배적인 소프트웨어가 되었습니다. 2002년에 Magnus Manske가 처음 개발한 이 도구는 현재 버전 1.30입니다. MediaWiki는 Nginx, Intel, Novell 및 NASA를 포함한 많은 대기업/조직에서 사용되었습니다.

우리가 할 일:

  1. Ubuntu 16.04에 Nginx 설치
  2. PHP-FPM 설치 및 구성
  3. MySQL 데이터베이스 설치 및 구성
  4. MediaWiki 다운로드 및 구성
  5. Ubuntu 16.04에서 새 SSL Letsencrypt 생성
  6. MediaWiki 설치를 위한 Nginx 가상 호스트 구성\n
  7. MediaWiki 웹 기반 설치
  8. 기본 스킨 MediaWiki 구성

전제 조건

  • 우분투 16.04 서버
  • 루트 권한\n

1단계 - Ubuntu 16.04에 Nginx 설치

미디어위키 설치를 위해 해야 할 첫 번째 단계는 웹 서버를 설치하는 것입니다. 따라서 이 섹션에서는 Nginx 웹 서버를 설치하고 Nginx 서비스를 시작한 다음 시스템 부팅 시 자동으로 시작되도록 활성화합니다.

웹 서버를 설치하기 전에 서버에 연결하고 모든 리포지토리를 업데이트한 다음 업그레이드하십시오.

sudo apt update
sudo apt upgrade -y

이제 다음 apt 명령을 사용하여 Nginx를 설치합니다.

sudo apt install nginx -y

그런 다음 nginx를 시작하고 시스템 부팅 시 실행되도록 활성화합니다.

systemctl start nginx
systemctl enable nginx

이제 netstat를 사용하여 HTTP 포트를 확인하고 Nginx에서 사용 중인 포트 80이 보이는지 확인합니다.

netstat -plntu

Nginx 웹 서버는 Ubuntu 16.04에 설치되었습니다.

2단계 - PHP-FPM 설치 및 구성

이제 Ubuntu 16.04에 PHP-FPM을 설치합니다. 그리고 우리는 MediaWiki 설치를 위해 PHP 7.0을 사용할 것입니다.

아래의 apt 명령을 사용하여 PHP 및 PHP-FPM(필요한 모든 확장과 함께)을 설치하십시오.

sudo apt install imagemagick php7.0-fpm php7.0-intl php7.0-xml php7.0-curl php7.0-gd php7.0-mbstring php7.0-mysql php-apcu

그리고 설치가 완료된 후 PHP-FPM에 대한 일부 기본 구성을 변경해야 합니다. 업로드 최대 파일 크기와 메모리 제한 구성을 늘려야 합니다.

PHP 구성 디렉토리로 이동하고 vim을 사용하여 php-fpm php.ini 파일을 편집합니다.

cd /etc/php/7.0
vim fpm/php.ini

upload_max_filesize 구성을 20M으로 늘리고 memory_limit를 128M로 늘립니다.

upload_max_filesize = 20M
memory_limit = 128M

저장 및 종료.

이제 PHP-FPM 서비스를 다시 시작하고 다음 systemctl 명령을 사용하여 부팅 시 자동으로 실행되도록 합니다.

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

PHP-FPM은 이제 Ubuntu 16.04에서 실행되며 sock 파일에서 실행됩니다. 아래 netstat 명령을 사용하여 확인하십시오.

netstat -pl | grep php

그러면 아래와 같이 PHP-FPM 양말 파일이 생성됩니다.

3단계 - MySQL 데이터베이스 설치 및 구성

MediaWiki는 모든 데이터와 콘텐츠를 데이터베이스에 저장하고 다양한 데이터베이스 서버와 호환됩니다. 이 가이드에서는 MediaWiki 설치를 위해 MySQL 데이터베이스를 사용할 것입니다.

이 단계에서는 MySQL 데이터베이스 서버를 설치한 다음 MediaWiki에 대한 새 데이터베이스와 사용자를 생성합니다.

다음 apt 명령을 사용하여 Ubuntu 16.04에 MySQL 데이터베이스를 설치합니다.

sudo apt install mysql-server mysql-client -y

MySQL 루트 암호를 묻는 메시지가 표시됩니다. 자신의 암호를 입력하고 Enter 키를 누릅니다.

MySQL 루트 암호를 반복합니다.

MySQL 설치가 완료되었습니다. 이제 MySQL을 시작하고 아래의 systemctl 명령을 사용하여 부팅 시 실행되도록 활성화합니다.

systemctl start mysql
systemctl enable mysql

다음으로 MediaWiki에 대한 새 데이터베이스와 사용자를 생성합니다. 사용자 mediawiki 및 비밀번호 mypassword를 사용하여 mediawikidb라는 새 데이터베이스를 생성합니다.

아래의 mysql 명령을 사용하여 mysql 서버에 연결합니다.

mysql -u root -p

이제 다음 MySQL 쿼리를 사용하여 데이터베이스와 사용자를 생성합니다.

create database mediawikidb;
grant all privileges on mediawikidb.* to 'localhost' identified by 'mypassword';
flush privileges;
exit;

Ubuntu 16.04에 MySQL 서버가 설치되어 있고 MediaWiki 설치를 위한 데이터베이스가 생성되었습니다.

4단계 - MediaWiki 다운로드 및 구성

이 가이드에서는 최신 MediaWiki 버전 1.30을 사용합니다. 그리고 MediaWiki를 다운로드하기 전에 서버에 몇 가지 패키지를 설치해야 합니다.

아래의 apt 명령을 실행하여 새 패키지를 설치하십시오.

sudo apt install composer git zip unzip -y

이제 새 미디어위키 디렉토리를 만들고 미디어위키 소스 코드를 해당 디렉토리에 복제합니다.

mkdir -p /var/www/mediawiki
git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git /var/www/mediawiki

다음으로 /var/www/mediawiki 디렉토리로 이동하고 composer 명령을 사용하여 MediaWiki 설치에 필요한 일부 PHP 종속성을 설치합니다.

cd /var/www/mediawiki
composer install --no-dev

모든 PHP 종속성 설치가 완료되면 mediawiki 디렉토리의 소유자를 www-data 사용자 및 그룹으로 변경합니다.

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

MediaWiki 1.30의 최신 버전은 /var/www/mediawiki 디렉토리에 다운로드됩니다.

5단계 - Ubuntu 16.04에서 SSL Letsencrypt 생성

보안상의 이유로 HTTPS 연결에서 MediaWiki를 실행합니다. 모든 HTTP 연결은 자동으로 HTTPS로 리디렉션됩니다. 이를 위해서는 SSL 인증서가 필요합니다. 우리는 Letsencrypt의 무료 SSL을 사용할 것입니다.

Letsencrypt에서 새 SSL 인증서를 생성하려면 서버에 letsencrypt 명령줄을 설치해야 합니다. 이렇게 하려면 다음 명령을 사용하십시오.

sudo apt install letsencrypt -y

설치가 완료되면 Nginx 웹 서버를 중지합니다.

systemctl stop nginx

다음으로 아래 letsencrypt 명령을 사용하여 새 SSL 인증서를 생성합니다.

letsencrypt certonly

인증서 갱신 알림에 사용되는 이메일 주소를 묻는 메시지가 표시됩니다.

따라서 이메일 주소를 입력하고 확인을 선택하십시오.

Letsencrypt TOS(서비스 약관)의 경우 동의를 선택하고 Enter 키를 누릅니다.

이제 위키 도메인 이름을 입력하세요. 제 이름은 wiki.hakase-labs.co입니다.

그리고 모두 완료되면 아래와 같은 결과를 얻을 수 있습니다.

MediaWiki 설치를 위한 SSL 인증서가 /etc/letsencrypt/live 디렉토리에 생성되었습니다.

6단계 - MediaWiki Nginx 가상 호스트 구성

MediaWiki 설치를 위한 LEMP 스택(Linux, Nginx, MySQL 및 PHP-FPM)이 설정되었으며 MediaWiki 소스 코드가 /var/www/mediawiki 디렉토리에 다운로드되었습니다.

이 단계에서는 새로운 Nginx 가상 호스트 파일 mediawiki를 생성한 다음 가상 호스트를 활성화합니다.

Nginx 구성 디렉토리로 이동하여 vim을 사용하여 새 가상 호스트 파일 mediawiki를 만듭니다.

cd /etc/nginx/
vim sites-available/mediawiki

여기에 MediaWiki 구성을 위한 다음 Nginx 가상 호스트를 붙여넣습니다.

# HTTP Request will be Redirected to the HTTPS
server {
    listen 80;
    listen [::]:80;
    server_name wiki.hakase-labs.co;
    return 301 https://$host$request_uri;
}

# HTTPS Configuration
server {

    listen 443 ssl;
    listen [::]:443;
   
    server_name wiki.hakase-labs.co;
    root /var/www/mediawiki;

    index index.php;
    autoindex off;

    # SSL Certificate Configuration
    ssl_certificate /etc/letsencrypt/live/wiki.hakase-labs.co/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/wiki.hakase-labs.co/privkey.pem;

    client_max_body_size 5m;
    client_body_timeout 60;

    location / {
        try_files $uri $uri/ @rewrite;
    }

    location @rewrite {
        rewrite ^/(.*)$ /index.php?title=$1&$args;
    }

    location ^~ /maintenance/ {
        return 403;
    }

    # PHP Configuration
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        include snippets/fastcgi-php.conf;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        try_files $uri /index.php;
        expires max;
        log_not_found off;
    }

    location = /_.gif {
        expires max;
        empty_gif;
    }

    location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {
        deny all;
    }

    location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {
        internal;
    }

    # Security for 'image' directory
    location ~* ^/images/.*.(html|htm|shtml|php)$ {
        types { }
        default_type text/plain;
    }

    # Security for 'image' directory
    location ^~ /images/ {
        try_files $uri /index.php;
    }

}

요구 사항/사례에 따라 변경한 다음 저장하고 종료합니다.

다음으로 다음 명령을 사용하여 새 미디어위키 가상 호스트를 활성화합니다.

ln -s /etc/nginx/sites-available/mediawiki /etc/nginx/sites-enabled/

nginx 구성을 테스트하고 오류가 없는지 확인하십시오. 그런 다음 서비스를 다시 시작하십시오.

nginx -t
systemctl restart nginx

새 HTTPS 포트 443이 서버에서 열립니다. 다음과 같은 방법으로 netstat 명령을 사용하여 확인하십시오.

netstat -plntu

아래에 결과가 나와 있습니다.

7단계 - MediaWiki 웹 기반 설치

이제 웹 브라우저를 열고 주소 표시줄에 도메인 이름을 입력합니다.

그러면 HTTPS 연결로 리디렉션됩니다.

페이지에서 위키 설정 링크를 클릭하여 미디어위키를 구성합니다.

- 언어 구성

자신의 언어를 선택하십시오. 영어를 선택하고 계속을 클릭하십시오.

- 환경 확인

그리고 이제 MediaWiki는 환경 검사를 수행할 것입니다. 아래와 같이 결과가 나오는지 확인합니다.

설치를 위해 계속을 클릭합니다.

- 데이터베이스 구성

이제 데이터베이스 구성입니다. 데이터베이스 이름 필드에 접두어 wiki_가 있는 mediawikidb를 입력합니다. 다음으로 데이터베이스 사용자 mediawiki와 암호 mypassword를 입력합니다.

그리고 계속을 클릭합니다.

- 데이터베이스 설정

데이터베이스 설정은 기본값으로 두고 계속을 클릭합니다.

- 관리 사용자 만들기

이제 관리자 계정을 만들어야 합니다. 아래와 같이 자신의 사용자, 암호 및 이메일을 입력합니다.

그리고 계속을 클릭합니다.

- 미디어위키 추가 구성

그러면 MediaWiki 추가 구성에 대한 페이지로 이동해야 합니다.

기본값으로 두고 계속을 클릭합니다.

- 미디어위키 설치

이제 계속을 다시 클릭하여 MediaWiki를 설치하십시오.

그러면 아래와 같은 페이지로 이동하게 됩니다.

계속을 다시 클릭합니다.

이제 설치가 완료되었다는 페이지가 표시됩니다. 새 파일 LocalSettings.php를 다운로드하라는 메시지가 표시됩니다. 파일을 다운로드합니다.

그리고 LocalSetting.php 파일을 서버 미디어위키 디렉토리 /var/www/mediawiki에 업로드합니다. 또한 파일의 소유자를 www-data 사용자 및 그룹으로 변경하는 것을 잊지 마십시오.

scp LocalSettings.php :/var/www/mediawiki/
chown -R www-data:www-data /var/www/mediawiki

이제 웹 브라우저 MediaWiki 설치 페이지로 돌아가서 위키에 들어가는 링크를 클릭하십시오. Ubuntu 16.04 서버에 Nginx 웹 서버와 함께 MediaWiki가 설치되었다는 메시지가 표시됩니다.

8단계 - 기본 스킨 다운로드 및 구성

이 단계에서 미디어위키 설치가 완료되었습니다. 그리고 이 단계에서는 기본 스킨/테마를 구성합니다.

/var/www/mediawiki/skins 디렉토리로 이동하여 기본 스킨 벡터를 복제합니다.

cd /var/www/mediawiki/skins/
sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector

이제 vim 편집기를 사용하여 LocalSettings.php 파일을 편집합니다.

vim /var/www/mediawiki/LocalSettings.php

그리고 파일 끝에 다음 php 코드를 붙여넣습니다.

wfLoadSkin( 'Vector' );

그게 다야. 저장 및 종료.

웹 브라우저로 돌아와 MediaWiki 페이지를 새로 고칩니다. 아래와 같이 Vector 스킨이 포함된 MediaWiki를 받았는지 확인하십시오.

Ubuntu 16.04에서 Nginx 웹 서버를 사용한 MediaWiki 설치 및 구성이 성공적으로 완료되었습니다.

참조

  • https://www.mediawiki.org/wiki/