※ 해당 포스팅에서 사용하는 패키지들은 아래 버전을 사용하여 진행되었습니다.
• Linux : CentOS7 사용
• MediaWiki :mediawiki-1.40.0 버전 사용
• Apache : Apache/2.4.6 버전 사용
• PHP : PHP 7.4.33 버전 버전 사용
• MariaDB : 10.6.14-MariaDB Server 버전 사용
1. CentOS 업데이트 및 패키지 설치
① CentOS 업데이트
$ sudo yum update -y
② EPEL 패키지 설치
$ sudo yum install -y epel-release
EPEL 저장소는 추가적인 소프트웨어 패키지를 제공하는 저장소이다.
③ yum-utils 패키지 설치
$ sudo yum install -y yum-utils
패키지 관리자의 유틸리티와 도구 모음을 제공하는 패키지
④ WGET 패키지 설치
$ sudo yum install -y wget
웹 서버로부터 파일을 다운로드하는 명령어입니다. 주로 파일 다운로드나 웹페이지 내용 가져오기 등에 사용된다.
⑤ VIM 텍스트 에디터 설치
$ sudo yum install -y vim-enhanced
`vim-enhanced`은 VIM 에디터의 확장버전으로 다양한 플러그인과 기능을 제공한다.
2. FireWall 방화벽 80 포트 Open
먼저 파이어 월( FireWall ) 실행 중인지 확인한다.
$ sudo firewall-cmd --state
running( 실행중 ) / not running( 실행중이 아님 )
파이어 월 실행중이지 않으면 아래 명령어로 실행해 준다.
$ sudo systemctl start firewalld
파이어 월이 실행되었다면 미디어위키를 페이지를 오픈하기 위한 한 80( http ) 포트를 오픈하여 준다.
$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
success
파이어 월을 재실행 해준다.
$ sudo firewall-cmd --reload
success
3. SELinux( Security-Enhanced Linux ) 종료
SELinux(보안 강화 리눅스)는 리눅스 커널의 보안 기능을 강화하기 위한 보안 기술 중 하나이다.
하지만 SELinux는 복잡한 정책 및 설정을 가지고 있어 초기 설정 및 관리가 다소 복잡할 수 있으며
잘못된 설정은 시스템 동작에 영향을 줄 수 있어 해당 포스팅에서는 비활성화 하고 작업을 진행한다.
/etc/selinux/config 파일을 열고 아래와 같이 `SELINUX=disabled`로 설정을 변경하여 준다.
$ sudo vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
`SELINUX=disabled`로 설정을 변경 하였다면 시스템을 재부팅 하여준다.
sudo shutdown -r now;
4. Apache Server 설치 및 실행
미디어위키 서비스를 제공할 아파치 서버( Apache Server )를 설치한다.
$ sudo yum install -y httpd
아파치 설치가 완료되었는지 설치된 Version은 몇 버전인지 확인해 보자
$ httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: May 30 2023 14:01:11
Apache/2.4.6 버전이 설치된 것을 확인 할 수 있다.
CentOS7를 재부팅 하였을때 아파치가 자동으로 실행되도록 설정을 지정해 준다.
$ sudo systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
아파치가 재부팅 후에 자동으로 시작되었다면 enabled 라고 표시된다.
$ sudo systemctl is-enabled httpd
enabled
`enabled` 로 설정되어 있다면 서비스가 부팅시 자동으로 시작되도록 설정된 것이다.
아래 명령을 통해 아파치를 실행해 보자.
$ sudo systemctl start httpd
아파치를 실행하고 브라우저 주소 입력창에 서버에 접근할 수 있는 Host주소나 URL을 입력한다.
그럼 위와같이 Apache Server가 실행되고 있는 것을 확인 할 수 있다.
5. PHP 7.4 버전 설치
미디어위키(Ver.1.40)를 사용하기위해서는 PHP 7.4 버전이 필요하기에 Remi 저장소를 활성화해야 한다.
$ sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo yum-config-manager --enable remi-php74
서드파티 저장소인 `remi`저장소를 통해 `php74( PHP 7.4 )` 버전을 설치한다.
저장소의 세팅이 마무리 되면 PHP의 설치를 진행한다.
$ sudo yum install -y php
$ sudo yum install -y php-opcache
$ sudo yum install -y php-gd
$ sudo yum install -y php-mysql
$ sudo yum install -y php-xml
$ sudo yum install -y php-mbstring
$ sudo yum install -y php-intl
이제 PHP가 잘 설치 되었는지 Version은 7.4 버전이 맞는지 확인해 보자.
$ php -v
PHP 7.4.33 (cli) (built: Aug 1 2023 09:00:17) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies
PHP 7.4.33..version이 설치된 것을 확인 할 수 있다.
6. MediaWiki 다운받고 세팅하기
1) MeidaWiki를 설치할 사용자 계정 및 디렉토리 생성
CentOS7에서 미디어위키를 서비스할 사용자 계정과 디렉토리를 생한다.
$ sudo useradd mediawiki
※ 해당 포스팅은 사용자계정을 `mediawiki`로 지정하여 사용하였다.
미디어 위키 사용자 계정( mediawiki )이 생성하였다면 생성한 사용자 계정의 비밀번호를 지정해준다.
$ sudo passwd mediawiki
mediawiki 사용자의 비밀 번호 변경 중
새 암호 : 비밀번호
새 암호 재입력 : 비밀번호 확인
passwd : 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
/home 디렉토리 아래에 /mediawiki 디렉토리가 생성이 되었다.
/mediawiki의 권한을 755로 변경한다.
$ sudo chmod 755 /home/mediawiki/
$ ls /home/ -al
합계 0
drwxr-xr-x. 4 root root 39 8월 7 20:40 .
dr-xr-xr-x. 17 root root 224 8월 7 17:29 ..
drwxr-xr-x. 2 mediawiki mediawiki 62 8월 7 20:40 mediawiki
• 소유자(owner): 읽기, 쓰기, 실행 권한 ( 4 + 2 + 1 = 7 )
• 그룹(group): 읽기, 실행 권한 ( 4 + 1 = 5 )
• 다른 사용자(other): 읽기, 실행 권한 ( 4 + 1 = 5 )
2) 생성한 디렉토리에 MeidaWiki 다운로드 및 압축 해제
wget을 통해 미디어 위키( 1.40.0 version )를 다운로드 한다.
$ sudo wget -O /home/mediawiki/mediawiki-1.40.0.tar.gz https://releases.wikimedia.org/mediawiki/1.40/mediawiki-1.40.0.tar.gz
--2023-08-08 16:25:06-- https://releases.wikimedia.org/mediawiki/1.40/mediawiki-1.40.0.tar.gz
Resolving releases.wikimedia.org (releases.wikimedia.org)... 103.102.166.224, 2001:df2:e500:ed1a::1
Connecting to releases.wikimedia.org (releases.wikimedia.org)|103.102.166.224|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 65441100 (62M) [application/x-gzip]
Saving to: ‘/home/mediawiki/mediawiki-1.40.0.tar.gz’
100%[========================================================================================================================>] 65,441,100 13.6MB/s in 6.1s
2023-08-08 16:25:13 (10.2 MB/s) - ‘/home/mediawiki/mediawiki-1.40.0.tar.gz’ saved [65441100/65441100]
지정한 /home/mediawiki 디렉토리에 mediawiki-1.40.0.tar.gz 압축파일이 잘 다운로드 되었는지 확인해 보자.
$ ls /home/mediawiki/ -al
합계 63920
drwx------. 2 mediawiki mediawiki 93 8월 8 16:25 .
drwxr-xr-x. 4 root root 39 8월 8 16:11 ..
-rw-r--r--. 1 mediawiki mediawiki 18 11월 25 2021 .bash_logout
-rw-r--r--. 1 mediawiki mediawiki 193 11월 25 2021 .bash_profile
-rw-r--r--. 1 mediawiki mediawiki 231 11월 25 2021 .bashrc
-rw-r--r--. 1 root root 65441100 7월 1 02:39 mediawiki-1.40.0.tar.gz
mediawiki-1.40.0.tar.gz 압축파일이 다운로드된 것을 확인 할 수 있다.
다운이 완료되었다면 아래 명령을 통해 /home/mediawiki/ 경로에 압축을 해제한다.
$ sudo tar -zxvf /home/mediawiki/mediawiki-1.40.0.tar.gz -C /home/mediawiki/
압축이 제대로 풀렸는지 확인해 보자.
$ sudo ls /home/mediawiki/ -al
합계 63924
drwx------. 3 mediawiki mediawiki 117 8월 8 16:32 .
drwxr-xr-x. 4 root root 39 8월 8 16:11 ..
-rw-r--r--. 1 mediawiki mediawiki 18 11월 25 2021 .bash_logout
-rw-r--r--. 1 mediawiki mediawiki 193 11월 25 2021 .bash_profile
-rw-r--r--. 1 mediawiki mediawiki 231 11월 25 2021 .bashrc
drwxr-xr-x. 14 root root 4096 8월 8 16:32 mediawiki-1.40.0
-rw-r--r--. 1 root root 65441100 7월 1 02:39 mediawiki-1.40.0.tar.gz
그럼 mediawiki-1.40.0 디렉토리가 생성된 것을 확인 할 수 있다.
이제 mediawiki-1.40.0 디렉토리내의 모든 파일을 /home/mediawiki/ 디렉토리로 모두 이동시킨다.
$ sudo mv /home/mediawiki/mediawiki-1.40.0/* /home/mediawiki/
압축을 해제하면 생긴 mediawiki-1.40.0 디렉토리를 삭제하여 준다.
$ sudo rm -rf /home/mediawiki/mediawiki-1.40.0
다음으로 /home/mediawiki/ 디렉토리 내의 모든 파일 및 디렉토리의 소유자 및 그룹 권한을 midiawiki로 변경한다.
$ sudo chown mediawiki:mediawiki /home/mediawiki/*
다시 /home/mediawiki/ 디렉토리의 내용을 확인해 보자.
$ ls /home/mediawiki/ -al
ls -al
합계 65852
drwx------. 15 mediawiki mediawiki 4096 8월 8 17:04 .
drwxr-xr-x. 4 root root 39 8월 8 16:11 ..
-rw-r--r--. 1 mediawiki mediawiki 18 11월 25 2021 .bash_logout
-rw-r--r--. 1 mediawiki mediawiki 193 11월 25 2021 .bash_profile
-rw-r--r--. 1 mediawiki mediawiki 231 11월 25 2021 .bashrc
-rw-rw-r--. 1 mediawiki mediawiki 168 11월 14 2021 CODE_OF_CONDUCT.md
-rw-rw-r--. 1 mediawiki mediawiki 19421 11월 5 2019 COPYING
-rw-rw-r--. 1 mediawiki mediawiki 14881 7월 1 01:31 CREDITS
-rw-rw-r--. 1 mediawiki mediawiki 95 11월 5 2019 FAQ
-rw-rw-r--. 1 mediawiki mediawiki 1471807 7월 1 01:31 HISTORY
-rw-rw-r--. 1 mediawiki mediawiki 3638 7월 1 01:31 INSTALL
-rw-rw-r--. 1 mediawiki mediawiki 1530 3월 21 2022 README.md
-rw-rw-r--. 1 mediawiki mediawiki 35283 7월 1 01:52 RELEASE-NOTES-1.40
-rw-rw-r--. 1 mediawiki mediawiki 199 11월 5 2019 SECURITY
-rw-rw-r--. 1 mediawiki mediawiki 4371 7월 1 01:31 UPGRADE
-rw-rw-r--. 1 mediawiki mediawiki 4526 7월 1 01:31 api.php
-rw-rw-r--. 1 mediawiki mediawiki 272497 7월 1 01:31 autoload.php
drwxr-xr-x. 2 mediawiki mediawiki 23 8월 8 16:32 cache
-rw-rw-r--. 1 mediawiki mediawiki 6478 7월 1 01:31 composer.json
-rw-rw-r--. 1 mediawiki mediawiki 125 7월 1 01:12 composer.local.json-sample
-rw-rw-r--. 1 mediawiki mediawiki 1678 7월 1 01:31 docker-compose.yml
drwxr-xr-x. 5 mediawiki mediawiki 4096 8월 8 16:32 docs
drwxr-xr-x. 35 mediawiki mediawiki 4096 8월 8 16:32 extensions
drwxr-xr-x. 2 mediawiki mediawiki 37 8월 8 16:32 images
-rw-rw-r--. 1 mediawiki mediawiki 8301 7월 1 01:31 img_auth.php
drwxr-xr-x. 95 mediawiki mediawiki 4096 8월 8 16:32 includes
-rw-rw-r--. 1 mediawiki mediawiki 1844 7월 1 01:15 index.php
-rw-rw-r--. 1 mediawiki mediawiki 1551 7월 1 01:15 jsduck.json
drwxr-xr-x. 5 mediawiki mediawiki 63 8월 8 16:32 languages
-rw-rw-r--. 1 mediawiki mediawiki 2148 7월 1 01:15 load.php
drwxr-xr-x. 13 mediawiki mediawiki 8192 8월 8 16:32 maintenance
-rw-r--r--. 1 mediawiki mediawiki 65441100 7월 1 02:39 mediawiki-1.40.0.tar.gz
drwxr-xr-x. 4 mediawiki mediawiki 110 8월 8 16:32 mw-config
-rw-rw-r--. 1 mediawiki mediawiki 4610 7월 1 00:47 opensearch_desc.php
drwxr-xr-x. 5 mediawiki mediawiki 63 8월 8 16:32 resources
-rw-rw-r--. 1 mediawiki mediawiki 998 11월 14 2021 rest.php
drwxr-xr-x. 6 mediawiki mediawiki 85 8월 8 16:32 skins
drwxr-xr-x. 8 mediawiki mediawiki 114 8월 8 16:32 tests
-rw-rw-r--. 1 mediawiki mediawiki 23617 7월 1 01:31 thumb.php
-rw-rw-r--. 1 mediawiki mediawiki 1439 11월 14 2021 thumb_handler.php
drwxr-xr-x. 18 mediawiki mediawiki 4096 8월 8 16:32 vendor
그럼 위와같이 mediawiki-1.40.0 디렉토리 내의 모든 파일이 옮겨져 있고
소유자 및 그룹 권한이 mediawiki로 변경된 것을 확인 할 수 있다.
7. MariaDB 설치 및 DataBase 생성
1) MariaDB 설치 및 실행
WEB 서버의 MariaDB를 다운받아 설치를 진행한다.
마리아 DB를 다운받고 설치를 진행할 저장소를 생성한다.
$ sudo wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
$ sudo chmod +x mariadb_repo_setup
$ sudo ./mariadb_repo_setup --mariadb-server-version="mariadb-10.6"
※ 해당 포스팅은 mariadb-10.6 버전을 설치하였다.
저장소 생성이 완료되었다면 마리아 DB 패키지를 설치한다.
$ sudo yum install -y mariadb-server
CentOS7을 재부팅 하였을때 마리아 DB가 자동으로 실행되게 설정한다.
$ sudo systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
아래 명령을 통해 마리아 DB 자동실행되도록 설정 되었는지 확인해 본다.
$ sudo systemctl is-enabled mariadb
enabled
`enabled` 로 설정되어 있다면 서비스가 부팅시 자동으로 시작되도록 설정된 것이다.
재부팅시 자동 실행 설정이 완료되었다면 마리아 DB를 실행시켜 준다.
$ sudo systemctl start mariadb
실행을 시키고 마리아 DB의 버전을 확인해 보자
$ mysql -v
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.6.14-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Reading history-file /home/saakmiso/.mysql_history
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
10.6.14-MariaDB MariaDB Server이 설치된 것을 확인 할 수 있다.
2) MariaDB 관리자( root ) 계정 비밀번호 변경
마리아 DB의 설치가 완료되었다면 관리자( root ) 계정의 비밀번호를 가장 먼저 바꿔주도록 한다.
마리아 DB의 관리자( root ) 계정으로 접속한다.
$ sudo mysql -u root -p
Enter password : Enter
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.6.14-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB>
※ 최초 설정시 root 계정의 비밀번호는 생성되어 있지 않기 때문에 `Enter`를 클릭하고 넘어간다.
아래 명령을 이용하여 마리아 DB 관리자( root ) 계정에 대한 비밀번호를 변경하여 준다.
MariaDB> ALTER USER 'root'@'localhost' IDENTIFIED VIA 'mysql_native_password' USING PASSWORD('관리자_계정의_비밀번호');
Query OK, 0 rows affected (0.008 sec)
USING PASSWORD( ) 괄호 안에 변경할 비밀번호를 입력해 주면 된다.
변경한 내용을 저장한다.
MariaDB> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)
`EXIT` 명령으로 마리아 DB의 접속을 종료한다.
MariaDB> EXIT;
Bye
이제 다시 관리자( root ) 계정으로 마리아 DB에 접속해 보자.
$ sudo mysql -u root -p
Enter password : `변경한_관리자_계정의_비밀번호_입력`
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.6.14-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB> EXIT;
Bye
Enter password 입력란에 변경한 `관리자_비밀번호`를 입력하면 위와같이 마리아 DB에 접속한 것을 확인 할 수 있다.
3) MediaWiki에서 사용할 DataBase 및 DB Access 계정 생성
마리아 DB 관리자( root ) 계정으로 접속한다.
$ sudo mysql -u root -p
Enter password : `관리자_계정_비밀번호`
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.6.14-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB>
MidiaWiki에서 사용할 데이터 베이스( DtaBase )를 먼저 생성한다.
MariaDB> CREATE DATABASE 미디어위키_DB_이름;
생성한 데이터 베이스에 접속하기위한 계정과 비밀번호를 설정한다.
MariaDB> GRANT ALL PRIVILEGES ON 미디어위키_DB_이름.* TO '미디어위키_사용자_계정'@'localhost' IDENTIFIED BY '미디어위키_계정_비밀번호';
Query OK, 0 rows affected (0.003 sec)
변경사항을 반영한다.
MariaDB> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)
이후 마리아 DB를 빠져 나온다.
MariaDB> EXIT;
Bye
8. VirtualHost 설정
미디어위키에 접속할 도메인을 서버에서 호스팅 하기위해 VirtualHost를 설정한다.
$ sudo vim /etc/httpd/conf.d/virtual-mediawiki.conf
<VirtualHost *:80>
ServerName 도메인_주소
ServerAlias *.도메인_주소
ServerAdmin wicked@sakkmiso.com
DocumentRoot /home/mediawiki
<Directory /home/mediawiki>
Options Indexes FollowSymlinks
AllowOverride all
Require all granted
</Directory>
</VirtualHost>
※ 주의 : Windows 에서 hosts 파일을 변경시 `midiawiki.com`을 사용하는 경우 접속되지 않는 문제가 발생하였다. 그래서 해당 포스팅에서는 도메인_주소를 `wiki.com`을 사용하여 진행하였다.
VirtualHost 설정한 /virtual-mediawiki.conf 파일의 생성이 완료되었다면 아래와 Apaceh 서버를 재시작 해준다.
$ sudo systemctl restart httpd
9. Web 사이트에서 MidiaWiki 설치 및 환경설정
참고 : https://wikidocs.net/179443
버츄얼 호스트 설정을 마무리 했다면 이제 웹 브라우저를 열고 미디어위키 페이지에 접속해 보자.
Set up the wiki 버튼을 클릭하여 MediaWiki 사용을 위한 환경설정 작업을 진행한다.
사용 언어어는 `ko - 한국어`로 설정한다.
Your language | ko - 한국어 |
Wiki language | ko - 한국어 |
다음은 미디어위키 사용 환경에 대한 설명 페이지 이다.
`환경이 확인되었습니다. 미디어위키를 설치할 수 있습니다.` 문구를 확인하면 설치를 계속 진행한다.
위에서 MariaDB를 설치하고 미디어위키에서 사용 할 DataBase를 생성하고 사용자 계정을 생성하였다.
데이터베이스 종류 | MariaDB, MySQL 및 호환 선택 |
데이터베이스 호스트 | IP주소 ( 예 : localhost ) |
데이터베이스 이름 | 미디어위키 데이터베이스 이름 |
데이터베이스 사용자 이름 | 미디워위키 데이터베이스 접속 계정 |
데이터베이스 사용자 비밀번호 | 미디워위키 데이터베이스 접속 계정의 비밀번호 |
DataBase 설정은 `설치할 때와 동일한 계정 사용`을 체크하고 설치를 진행한다.
사용할 미디어위키의 제목과 관리자 계정을 생성한다.
위키 이름 | 위키의 제목 설정 |
프로젝트 이름 공간 | ( 선택 ) 위키 이름과 같은 이름 |
사용자 이름 | 관리자 계정 생성 |
비밀번호 | 비밀번호 입력 |
비밀번호 확인 | 비밀번호 확인 |
이메일 주소 | 관리자가 사용하는 이메일 주소 입력 |
다음 페이지에서는 미디어위키의 사용할 설정과 패키지들을 설치 유무를 지정한다.
※ 해당 포스팅에서 패키지는 전부 설치하였다.
■ 사용 설정
사용자 권한 프로필 | (선택) 계정 만들기 필요 |
저작권 및 라이선스 | (선택) 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 |
이메일 설정 | (선택) 발신 이메일 활성화 |
■ 스킨 및 확장기능 패키지 설치
스킨 패키지 설치 | MinervaNeue, MonoBook, Timeless, Vector 전체 설치 (선택) 원하는 스킨을 선택 사용 |
특수문서 패키지 설치 | CiteThisPage, Echo interwiki, Linter, Nuke, ReplaceText 전체 설치 |
편집기 패키지 설치 | CodeEditor, VisualEditor, WikiEditor 전체 설치 |
파서훅 패키지 설치 | CategoryTree, Cite, ImageMap, InputBox, Math, ParserFunctions, Poem, Scribunto, SyntaxHighlight_GeSHi, TemplateData 전체 설치 |
미디어 핸들러 패키지 설치 | PdfHandler 설치 |
스팸 막기 패키지 설치 | AbuseFilter, ConfirmEdit, SpamBlacklist, TitleBlacklist 전체 설치 |
API 패키지 설치 | PageImage 설치 |
기타 패키지 설치 | DiscussionTools, Gadgets, LoginNotify, MultimediaViewer, OATHAuth, SecureLinkFixer, TextExtracts, Thanks 전체 설치 |
■ 그림과 파일 올리기
그림과 파일 올리기 | (체크) 파일 올리기 활성화 |
※ 해당 옵션을 체크해야 파일 업로드시 문제가 발생하지 않는다.
■ 개인설정
• 로고, 워드마크, 태그라인 사이드바 로고등 개인적으로 원하는 설정을 적용한다. |
• 변경하지 않으면 MeidiaWiki의 기본 설정값을 사용한다. |
■ 고급 설정
개체 캐싱을 위한 설정 | (선택) 캐시하지 않음 |
※ 기능이 삭제되지는 않지만 큰 위키 사이트에 속도가 영향을 받을 수 있습니다.
미디어위키 패키지 설치 및 환경설정을 진행 하였다면 `계속` 버튼을 클릭하여 설치를 진행하자.
미디어위키의 설치가 진행된다.
화면 최 하단에 `데이터베이스가 성공적으로 구축되었습니다.`라는 텍스트가 노출되면 `계속` 버튼을 클릭한다.
설치가 완료되면 `LocalSettings.php` 파일을 다운받는다.
`LocalSettings.php` 파일을 다운받았다면 이제 Web Browser상에서 진행할 환경설정은 모두 마무리 되었다.
다운받은 `LocalSettings.php` 파일을 텍스트 편지기로 오픈한다.
오픈하면 전체 코드를 클립보드로 복사한다.
CentOS7의 mediawiki 사용자 디렉토리에 `LocalSettings.php` 파일을 생성하고 복사한 PHP코드를 붙여넣기 한다.
$ sudo vim /home/mediawiki/LocalSettings.php
<?php
# This file was automatically generated by the MediaWiki 1.40.0
# installer. If you make manual changes, please keep track in case you
# need to recreate them later.
#
# See includes/MainConfigSchema.php for all configurable settings
# and their default values, but don't forget to make changes in _this_
# file, not there.
#
# Further documentation for configuration settings may be found at:
# https://www.mediawiki.org/wiki/Manual:Configuration_settings
# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) {
exit;
}
## Uncomment this to disable output compression
# $wgDisableOutputCompression = true;
$wgSitename = "미디어_위키_제목";
## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
## https://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "";
## The protocol and server name to use in fully-qualified URLs
$wgServer = "미디어위키_도메인_주소";
## The URL path to static resources (images, scripts, etc.)
$wgResourceBasePath = $wgScriptPath;
## The URL paths to the logo. Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogos = [
'1x' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",
'icon' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",
];
## UPO means: this is also a user preference option
$wgEnableEmail = false;
$wgEnableUserEmail = true; # UPO
$wgEmergencyContact = "";
$wgPasswordSender = "";
$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;
## Database settings
$wgDBtype = "mysql";
$wgDBserver = "마리아DB_접속_HOST";
$wgDBname = "마리아DB_미디어위키_DB명";
$wgDBuser = "마리아DB_사용자_계정";
$wgDBpassword = "마리아DB_사용자_비밀번호";
# MySQL specific settings
$wgDBprefix = "";
# MySQL table options to use during installation or update
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";
# Shared database table
# This has no effect unless $wgSharedDB is also set.
$wgSharedTables[] = "actor";
## Shared memory settings
$wgMainCacheType = CACHE_NONE;
$wgMemCachedServers = [];
## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = true;
#$wgUseImageMagick = true;
#$wgImageMagickConvertCommand = "/usr/bin/convert";
# InstantCommons allows wiki to use images from https://commons.wikimedia.org
$wgUseInstantCommons = false;
# Periodically send a pingback to https://www.mediawiki.org/ with basic data
# about this MediaWiki instance. The Wikimedia Foundation shares this data
# with MediaWiki developers to help guide future development efforts.
$wgPingback = true;
# Site language code, should be one of the list in ./includes/languages/data/Names.php
$wgLanguageCode = "ko";
# Time zone
$wgLocaltimezone = "UTC";
## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publicly accessible from the web.
#$wgCacheDirectory = "$IP/cache";
$wgSecretKey = "bc8c94cee9346556f19600fa59da8f777b7d47421064dd4d9b81901f6af3c616";
# Changing this will log out all existing sessions.
$wgAuthenticationTokenVersion = "1";
# Site upgrade key. Must be set to a string (default provided) to turn on the
# web installer while LocalSettings.php is in place
$wgUpgradeKey = "4495eda353dd1ef7";
## For attaching licensing metadata to pages, and displaying an
## appropriate copyright notice / icon. GNU Free Documentation
## License and Creative Commons licenses are supported so far.
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = "https://creativecommons.org/licenses/by-sa/4.0/";
$wgRightsText = "크리에이티브 커먼즈 저작자표시-동일조건변경허락";
$wgRightsIcon = "$wgResourceBasePath/resources/assets/licenses/cc-by-sa.png";
# Path to the GNU diff3 utility. Used for conflict resolution.
$wgDiff3 = "/usr/bin/diff3";
# The following permissions were set based on your choice in the installer
$wgGroupPermissions['*']['edit'] = false;
## Default skin: you can change the default skin. Use the internal symbolic
## names, e.g. 'vector' or 'monobook':
$wgDefaultSkin = "vector";
# Enabled skins.
# The following skins were automatically enabled:
wfLoadSkin( 'MinervaNeue' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );
# Enabled extensions. Most of the extensions are enabled by adding
# wfLoadExtension( 'ExtensionName' );
# to LocalSettings.php. Check specific extension documentation for more details.
# The following extensions were automatically enabled:
wfLoadExtension( 'AbuseFilter' );
wfLoadExtension( 'CategoryTree' );
wfLoadExtension( 'Cite' );
wfLoadExtension( 'CiteThisPage' );
wfLoadExtension( 'ConfirmEdit' );
wfLoadExtension( 'DiscussionTools' );
wfLoadExtension( 'Echo' );
wfLoadExtension( 'Gadgets' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'InputBox' );
wfLoadExtension( 'Interwiki' );
wfLoadExtension( 'Linter' );
wfLoadExtension( 'LoginNotify' );
wfLoadExtension( 'Math' );
wfLoadExtension( 'MultimediaViewer' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'OATHAuth' );
wfLoadExtension( 'PageImages' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'PdfHandler' );
wfLoadExtension( 'Poem' );
wfLoadExtension( 'ReplaceText' );
wfLoadExtension( 'Scribunto' );
wfLoadExtension( 'SecureLinkFixer' );
wfLoadExtension( 'SpamBlacklist' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'TemplateData' );
wfLoadExtension( 'TextExtracts' );
wfLoadExtension( 'Thanks' );
wfLoadExtension( 'TitleBlacklist' );
wfLoadExtension( 'VisualEditor' );
wfLoadExtension( 'WikiEditor' );
# End of automatically generated settings.
# Add more configuration options below.
※ `LocalSettings.php` 파일은 사용자가 직접 지정한 미디어위키의 환경설정값과 설치한 패키지들의 정보를 가지고 있는것을 확인 할 수 있다.
`LocalSettings.php` 파일에 대하여 소유자 및 그룹을 mediawiki로 변경한다.
$ sudo chown mediawiki:mediawiki /home/mediawiki/LocalSettings.php
`LocalSettings.php` 파일의 접근 권한을 755로 변경한다.
$ sudo chmod 755 /home/mediawiki/LocalSettings.php
`LocalSettings.php` 파일의 권한이 변경되었는지 확인해 보자.
$ ls /home/mediawiki/LocalSettings.php -al
-rwxr-xr-x 1 mediawiki mediawiki 5906 8월 8 19:05 /home/mediawiki/LocalSettings.php
`LocalSettings.php` 파일에 대하여 소유자 및 그룹, 접근권한( 755 )이 변경된 것을 확인 할 수 있다.
이제 브라우저를 통해 MeidaWiki 페이지에 다시 접속해 보자.
위와 같은 MediaWiki 사용에 필요한 모든 작업이 완료된 것을 확인 할 수 있다.
P.S) 미디어 위키 마크다운 에디터 설치 추후 도전해 볼것
Extension:WikiMarkdown - MediaWiki
'LINUX > CentOS' 카테고리의 다른 글
[CentOS] Docker 설치하기 (4) | 2024.03.05 |
---|---|
[CentOS] Redis 설치 (0) | 2023.12.18 |
[CentOS7] 사용자 계정 생성 및 Directory 만들기 (0) | 2023.07.31 |
[Linux] MariaDB 설치 및 세팅 (6) | 2023.02.23 |
[Linux] CentOS7 - MySQL / MariaDB 데이터 베이스 자동 백업 프로세스 (0) | 2023.01.27 |