웹사이트 검색

Ubuntu 22.04에 미디어위키를 설치하는 방법


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

  • Ubuntu 22.04(Jammy Jellyfish)
  • Ubuntu 18.04(Bionic Beaver)

이 페이지에서

  1. 전제 조건
  2. LAMP 스택 설치
  3. MediaWiki용 PHP 구성
  4. MariaDB 데이터베이스 서버 구성
  5. MediaWiki 소스 코드 다운로드
  6. MediaWiki용 Apache2 가상 호스트 설정\n
  7. MediaWiki 설치 시작
  8. 결론

MediaWiki는 Wikipedia 및 Wikimedia와 같은 인터넷에서 가장 큰 위키 사이트를 지원하는 무료 오픈 소스 위키 소프트웨어입니다. 기능이 풍부한 위키 구현을 제공하는 매우 강력하고 확장 가능한 위키 소프트웨어입니다. MediaWiki는 2002년에 개발된 웹 애플리케이션으로 주로 PHP로 작성되었으며 데이터 저장을 위해 MySQL, PostgreSQL과 같은 RDBMS를 사용합니다.

MediaWiki는 협업 및 문서화 플랫폼으로도 사용할 수 있습니다. 귀하와 귀하의 팀이 문서를 구성하고 모든 사람에게 공개하는 데 도움이 됩니다. 또한 다국어 사이트를 만드는 데 사용할 수 있는 다국어를 지원합니다. 그리고 사용자 정의가 가능한 위키 소프트웨어를 통해 위키에 대해 다양한 테마와 편집기를 선택할 수 있습니다.

이 튜토리얼에서는 LAMP 스택(Linux, Apache2, MariaDB 및 PHP)을 사용하여 Ubuntu 22.04 서버에 MediaWiki를 설치하는 방법을 보여줍니다. 이 자습서에는 MediaWiki의 기본 구성이 포함되어 있으므로 결국 완전한 기능을 갖춘 위키 사이트를 갖게 될 것입니다.

전제 조건

이 예에서는 다음 전제 조건이 필요합니다.

  • Ubuntu 22.04 서버.
  • 루트/관리자 권한이 있는 루트가 아닌 사용자.\n
  • 서버 IP 주소를 가리키는 도메인 이름.

LAMP 스택 설치

첫 번째 단계에서는 우분투 22.04 서버에 기본 LAMP 스택을 설치합니다. 이 예에서는 Apache2 웹 서버와 함께 MediaWiki를 실행합니다.

시작하기 전에 Ubuntu 22.04 서버에 PHP 7.4를 설치해야 합니다. 최신 버전의 MediaWiki에는 PHP 7.4가 필요했으며 아직 최신 PHP 8.1에 대한 준비가 되어 있지 않습니다. 따라서 PHP 7.4를 설치하려면 Ubuntu 시스템에 타사 리포지토리를 설정해야 합니다.

다음 명령을 실행하여 PHP 7.4 PPA 리포지토리를 시스템에 추가합니다. 또한 이 명령은 시스템에서 사용 가능한 모든 리포지토리를 자동으로 업데이트하고 새로 고칩니다.

sudo add-apt-repository ppa:ondrej/php -y

모든 작업이 완료되면 아래의 apt 명령을 실행하여 LAMP Stack 패키지를 ubuntu 22.04 서버에 설치합니다.

sudo apt install apache2 mariadb-server imagemagick libapache2-mod-php7.4 php7.4 php7.4-common php7.4-intl php7.4-xml php7.4-curl php7.4-gd php7.4-mbstring php7.4-mysql php7.4-apcu

설치를 확인하려면 Y를 입력하고 계속하려면 ENTER를 누르십시오. 그러면 LAMP 스택이 시작됩니다.

LAMP Stack 설치가 완료되면 다음 명령어를 사용하여 Apache2 및 MariaDB 서비스를 확인 및 검증합니다. 그리고 Apache2 서비스가 활성화되어 실행되고 있는 것을 볼 수 있습니다.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

MariaDB 서비스의 경우 아래 명령을 사용하여 확인할 수 있습니다.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

그리고 다음 스크린샷에서 시스템 시작 시 자동으로 실행되는 MariaDB 서비스가 활성화된 것을 볼 수 있습니다. 그리고 MariaDB 서비스의 현재 상태가 실행 중입니다.

미디어위키용 PHP 구성

LAMP 스택 패키지를 설치한 후, 이제 MediaWiki 설치를 위한 요구 사항으로 PHP를 구성하게 됩니다. 여기에는 PHP 설치의 "max_upload_filesize", "memory_limit" 및 "max_execution_time"과 같은 구성이 포함됩니다.

nano 편집기를 사용하여 "/etc/php/7.4/apache2/php.ini" 파일을 편집합니다.

sudo nano /etc/php/7.4/apache2/php.ini

다음 구성의 기본값을 아래와 같이 변경합니다.

upload_max_filesize = 80M
memory_limit = 512M
max_execution_time = 360

완료되면 파일을 저장하고 닫습니다.

마지막으로 아래 명령을 실행하여 apache2 서비스를 다시 시작하고 새로운 변경 사항을 적용합니다.

sudo systemctl restart apache2

MariaDB 데이터베이스 서버 구성

PHP 설치를 설정했으면 이제 MariaDB 서버를 설정할 차례입니다. 여기에는 MariaDB 루트 암호 및 배포 구성이 포함되며 MediaWiki 설치를 위해 새 MariaDB 데이터베이스 및 사용자를 생성해야 합니다.

다음 명령을 실행하여 MariaDB 배포 구성을 시작합니다.

sudo mysql_secure_installation

이제 MariaDB 구성에 대해 다음 질문을 받게 됩니다.

  • 기본 MariaDB 설치는 루트 암호 없이 제공됩니다. 계속하려면 ENTER를 누르십시오.\n
  • 기본 인증 방법을 유지하고 unix_socket 인증을 사용하지 않으려면 n을 입력합니다(MariaDB 루트 사용자용).\n
  • Y를 입력하여 MariaDB 루트 암호를 설정한 다음 새 암호를 입력하고 반복합니다.\n
  • 기본 익명 사용자를 제거하려면 Y를 입력합니다.\n
  • Y를 입력하여 MariaDB 루트 사용자의 원격 로그인을 비활성화합니다.\n
  • Y를 입력하여 MariaDB 설치에서 기본 데이터베이스 "test"를 삭제합니다.\n
  • 마지막으로 Y를 다시 입력하여 모든 테이블 권한을 다시 로드하고 새로운 변경 사항을 적용합니다.\n

이제 MariaDB 배포의 기본 구성을 마쳤습니다.

그런 다음 다음 명령을 사용하여 루트 사용자로 MariaDB 셸에 로그인합니다.

sudo mysql -u root -p

이제 다음 MySQL/MariaDB 쿼리를 실행하여 사용자 "mediawiki" 및 비밀번호 "mediawikipassdb"로 새 데이터베이스 "mediawikidb"를 생성합니다. 이 데이터베이스와 사용자는 MediaWiki 데이터를 저장하는 데 사용됩니다.

CREATE DATABASE mediawikidb;
CREATE USER WITH GRANT OPTION;
FLUSH PRIVILEGES;

그런 다음 아래 쿼리를 실행하여 "[email " 사용자의 데이터베이스 액세스 목록이 "mediawikidb" 데이터베이스에 액세스할 수 있는지 확인합니다.

SHOW GRANTS FOR ;
quit

미디어위키 소스 코드 다운로드

이제 MediaWiki 설치를 위한 LAMP Stack의 기본 구성을 완료했습니다. MediaWiki 소스 코드를 Ubuntu 머신에 다운로드할 시간입니다.

이제 "/var/www/" 디렉토리로 이동하여 아래와 같이 wget 명령을 사용하여 MediaWiki 소스 코드를 다운로드합니다. 현재 MediaWiki의 최신 버전은 v1.38.1입니다. 그러면 \mediawiki-1.38.1.tar.gz\ 파일이 생깁니다.

cd /var/www/
wget https://releases.wikimedia.org/mediawiki/1.38/mediawiki-1.38.1.tar.gz

다음 명령을 실행하여 MediaWiki 소스 코드 "mediawiki-1.38.1.tar.gz"를 추출하고 추출된 디렉토리의 이름을 "mediawiki"로 변경합니다. 따라서 MediaWiki 설치 디렉토리는 \/var/www/mediawiki\입니다.

tar -xvzf mediawiki-*.tar.gz
mv mediawiki-*/ mediawiki/

마지막으로 다음 명령을 실행하여 MediaWiki 설치 디렉터리 "/var/www/mediawiki"의 소유권을 올바른 사용자 "www-data"로 변경합니다. 및 "755"에 대한 권한.

sudo chown -R www-data:www-data /var/www/mediawiki
sudo chmod 755 /var/www/mediawiki

MediaWiki용 Apache2 가상 호스트 설정

이제 MediaWiki를 위한 Apache2 가상 호스트를 설정할 것입니다. 이 예에서 MediaWiki는 도메인 이름 "wiki.hwdomain.io"와 Apache2 가상 호스트에서 활성화된 보안 SSL/HTTPS 연결로 실행됩니다.

가상 호스트 구성 생성을 시작하기 전에 다음 명령을 실행하여 Apache2 모듈 재작성 및 SSL을 활성화합니다.

sudo a2enmod rewrite ssl

nano 편집기를 사용하여 새 가상 호스트 구성 "/etc/apache2/sites-available/mediawiki.conf"을 만듭니다.

sudo nano /etc/apache2/sites-available/mediawiki.conf

파일에 다음 구성을 추가합니다. 또한 SSL 인증서의 도메인 이름과 경로를 변경하는 것을 잊지 마십시오.

<VirtualHost *:80>

    ServerName wiki.hwdomain.io
    ServerAdmin
        DocumentRoot /var/www/mediawiki

        # According MWiki Manual:Security
        php_flag register_globals off

        ErrorLog ${APACHE_LOG_DIR}/wiki.hwdomain.io.error.log
        CustomLog ${APACHE_LOG_DIR}/wiki.hwdomain.io.access.log combined

        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/wiki.hwdomain.io/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/wiki.hwdomain.io/privkey.pem

        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>

        <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Directory>

        <Directory /var/www/mediawiki>
                Options None FollowSymLinks
                #Allow .htaccess
                AllowOverride All
                Require all granted
                <IfModule security2_module>
                        SecRuleEngine Off
                        # or disable only problematic rules
                </IfModule>
        </Directory>

        # According to MWiki Manual:Security
        <Directory /var/www/mediawiki/images>
                # Ignore .htaccess files
                AllowOverride None
                # Serve HTML as plaintext, don't execute SHTML
                AddType text/plain .html .htm .shtml .php .phtml .php5
                # Don't run arbitrary PHP code.
                php_admin_flag engine off
                # If you've other scripting languages, disable them too.
        </Directory>

        #According to MWiki Manual:Security
        <Directory /var/www/mediawiki/images/deleted>
                Deny from all
                AllowOverride AuthConfig Limit
                Require local
        </Directory>

    </VirtualHost>

</IfModule>

완료되면 파일을 저장하고 닫습니다.

다음으로 가상 호스트 구성 "mediawiki.conf"를 활성화한 다음 Apache2 구성을 확인합니다. "Syntax OK"와 같은 출력 메시지가 표시되면 Apache2 구성이 올바른 것입니다.

sudo a2ensite mediawiki.conf
sudo apachectl configtest

마지막으로 아래 명령을 실행하여 Apache2 서비스를 다시 시작하고 새 변경 사항을 적용합니다. 이제 MediaWiki에 대한 LAMP 스택 구성을 완료했으며 이제 MediaWiki 구성을 시작할 준비가 되었습니다.

sudo systemctl restart apache2

미디어위키 설치 시작

웹 브라우저를 열고 주소 표시줄에 MediaWiki 설치 도메인 이름(예: https://wiki.hwdomain.io/)을 입력합니다. MediaWiki 설치 구성을 시작하려면 "위키 설정" 링크를 클릭하십시오.

Wiki의 기본 언어를 선택하고 "계속"을 클릭하십시오.

이제 MediaWiki 설치 프로그램은 설치를 위한 모든 요구 사항을 확인합니다. 화면에 "환경이 확인되었습니다. MediaWiki를 설치할 수 있습니다"라는 메시지가 표시되는지 확인하고 "계속"을 클릭하세요.

MediaWiki에 대한 MariaDB 데이터베이스 및 사용자 세부 정보를 입력하고 "계속"을 다시 클릭하십시오.

데이터베이스 설정은 기본값으로 두고 "계속"을 클릭하십시오.

이제 위키 제목과 MediaWiki의 관리 사용자 및 비밀번호 세부 정보를 입력하고 "계속"을 클릭하십시오.

MediaWiki에 대한 추가 옵션/구성의 경우 기본값으로 두고 "계속"을 클릭할 수 있습니다.

MediaWiki 설치를 확인하고 시작하려면 "계속"을 다시 클릭하십시오.

MediaWiki 설치가 완료되면 "계속"을 다시 클릭하십시오.

이제 "LocalSettings.php" 파일을 로컬 컴퓨터에 다운로드하고 MediaWiki 서버에 업로드해야 합니다.

다른 옵션으로 nano 편집기를 사용하여 새 파일 "/var/www/mediawiki/LocalSettings.php"을 만들 수 있습니다.

nano /var/www/mediawiki/LocalSettings.php

로컬 컴퓨터의 LocalSettings.php 파일에서 스크립트를 추가합니다.

이제 파일의 소유권을 올바른 사용자 "www-data"로 변경하십시오.

sudo chown www-data:www-data /var/www/mediawiki/LocalSettings.php

이제 "enter your wiki" 링크를 클릭하여 설치 결과를 확인하십시오.

이제 MediaWiki 설치의 기본 색인 페이지를 얻게 됩니다.

이제 오른쪽 상단에 있는 "로그인" 링크를 클릭한 다음 관리 사용자와 MediaWiki 암호를 입력하고 "로그인"을 클릭하십시오. 그리고 MediaWiki에 로그인해야 합니다.

결론

축하합니다! 이제 LAMP 스택을 사용하여 Ubuntu 22.04 서버에 MediaWiki를 성공적으로 설치했습니다. 이 유형의 설치를 사용하면 MediaWiki 설치 위에 활성화된 HTTPS/SSL로 MediaWiki를 안전하게 실행할 수 있습니다.