(Ubuntu20.04) MediaWiki 1.34.2 ±¸ÃàÇϱâ
https://www.aiocp.co.kr/ (8728)https://bigbangcloud.co.kr/ (8697)
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 update명령어로 패키지들을 업데이트 해줍니다.
패키지들을 업데이트 해준 후, 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를 재시작 합니다.
아파치를 재시작 한 후, MariaDB에 접속하여 CREATE DATABASE mediawiki; 명령어로 mediawiki라는 DB를 만듭니다.
DB생성 이후,
CREATE USER '사용자이름'@'localhost' IDENTIFIED BY '패스워드; <- 유저를 생성합니다.
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를 입력하면 위와 같이 미디어 위키 웹페이지가 나오면 끝입니다.
감사합니다.